From ddc9df16571bbe53f31bd50013c94087efef0405 Mon Sep 17 00:00:00 2001 From: Thomas Munzer Date: Mon, 22 Jul 2024 08:42:47 +0200 Subject: [PATCH] adding new quicklinks --- .DS_Store | Bin 10244 -> 10244 bytes angular/package-lock.json | 1097 ++++++++--------- angular/package.json | 2 +- .../app/pages/api/manage/manage.component.ts | 48 +- angular/src/assets/api.json | 2 +- angular/src/manifest.json | 2 +- angular/src/manifest_chrome.json | 2 +- angular/src/manifest_ffx.json | 2 +- api.json | 2 +- firefox_updates.json | 5 + mist_openapi | 2 +- 11 files changed, 587 insertions(+), 577 deletions(-) diff --git a/.DS_Store b/.DS_Store index 8945c9d18ec808bc7bdbacddf203c2e08625e508..86659f11cac00a70ab96b3f10ae3afe7d4b32967 100644 GIT binary patch delta 1027 zcmeIuPe_w-90u_3^Oo_x`Fq=M|NS!$8pccqYt@RW_-|{O25W8VEoXbH(U`a`Bc(Fh zF)MfvS<#^=gQ5}&l`a(>f(r4lf-I=!F%ZH-Mg_gwqEm-1-8z1s@56KWWCEGMRJB23 z^14vCr?-!(pUq~q*)ZhbM^Z{qiAU10VZ|FsD=7|1ysIm#s@YKQ-0ErR@OKBYTyHR% z%#5k;3|(NV-RSIQp;T-{;So_Pd>b5$g$~COQJ#{D$tD+*!|}*~66aA#ER@{anA|(8 zBvY}$1n>G4Ha0Q!x=|Iz=2gA5_M}82RgsIl)JOf4q){5D3A#!TXqskdmY&f(y`_)z ziI!=FzR`F3fi=)U4+D&_p$_$EfCFx{qXS;-Mi3!{(Sv=6;s6ff5QcCR$1s9XWN-#& zaSrEk5!Y}7lWyF^6dvI*p5QsMc!k$^j}ORU5li@j6?_#+1(RSFEJB^&5*h`s&?y8} zlR22j-QnNax$8Hs{g1eBbVW{!wX8aCyuG0>T=i=F#5y#>2ft3*j23K17!e&d$J&iJdXT^Y^y;)}WN;Y67{L)7)p?KWz&YM?IFAds nh_Y*#z;)cfB&Kl>_wfKv@B**#_STGby{!D#{WrSWjJ5t3Y{Tt& diff --git a/angular/package-lock.json b/angular/package-lock.json index 6178be0..770cb32 100644 --- a/angular/package-lock.json +++ b/angular/package-lock.json @@ -1,12 +1,12 @@ { "name": "mist-extension", - "version": "3.8.1", + "version": "3.9.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mist-extension", - "version": "3.8.1", + "version": "3.9.0", "dependencies": { "@angular-builders/custom-webpack": "^17.0.2", "@angular-devkit/build-angular": "^17.3.8", @@ -241,6 +241,18 @@ } } }, + "node_modules/@angular-devkit/build-angular/node_modules/https-proxy-agent": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", + "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/@angular-devkit/build-angular/node_modules/tslib": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", @@ -308,9 +320,9 @@ } }, "node_modules/@angular/animations": { - "version": "17.3.10", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-17.3.10.tgz", - "integrity": "sha512-9fR5snTuG4aM2K54TG/6DXcKXMDKZMovZhjQOxO8l68/oqn6fKrHs8DLzckFs0XGRZ+2OyURH8WggFm1Z828rA==", + "version": "17.3.12", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-17.3.12.tgz", + "integrity": "sha512-9hsdWF4gRRcVJtPcCcYLaX1CIyM9wUu6r+xRl6zU5hq8qhl35hig6ounz7CXFAzLf0WDBdM16bPHouVGaG76lg==", "dependencies": { "tslib": "^2.3.0" }, @@ -318,7 +330,7 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/core": "17.3.10" + "@angular/core": "17.3.12" } }, "node_modules/@angular/cdk": { @@ -371,9 +383,9 @@ } }, "node_modules/@angular/common": { - "version": "17.3.10", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-17.3.10.tgz", - "integrity": "sha512-6SfD21M3LujymmZsZQIxAsV8Bj5u6He6ImZ+p2rr7FAhFxpVJyKldK8LCmJcFsBD4srpQcxEZ0iDxXvg+0ihAw==", + "version": "17.3.12", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-17.3.12.tgz", + "integrity": "sha512-vabJzvrx76XXFrm1RJZ6o/CyG32piTB/1sfFfKHdlH1QrmArb8It4gyk9oEjZ1IkAD0HvBWlfWmn+T6Vx3pdUw==", "dependencies": { "tslib": "^2.3.0" }, @@ -381,14 +393,14 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/core": "17.3.10", + "@angular/core": "17.3.12", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "17.3.10", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-17.3.10.tgz", - "integrity": "sha512-6Ce4siHyF0fCZBDm/cz+blJByGDu1/hbPkQVGmk5HGZTmCUeKkgyjoM6bZr7ssAsyGDRwxBh2SGHO4Ce31vuPA==", + "version": "17.3.12", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-17.3.12.tgz", + "integrity": "sha512-vwI8oOL/gM+wPnptOVeBbMfZYwzRxQsovojZf+Zol9szl0k3SZ3FycWlxxXZGFu3VIEfrP6pXplTmyODS/Lt1w==", "dependencies": { "tslib": "^2.3.0" }, @@ -396,7 +408,7 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/core": "17.3.10" + "@angular/core": "17.3.12" }, "peerDependenciesMeta": { "@angular/core": { @@ -405,9 +417,9 @@ } }, "node_modules/@angular/compiler-cli": { - "version": "17.3.10", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-17.3.10.tgz", - "integrity": "sha512-85SBphqRj3szac3FbeYgEZ+I6WaAlo5h7JX06BdjOLLiaoIwlFhLeAuG+jVekseV+95grFUxIsCMphWHi2e6hQ==", + "version": "17.3.12", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-17.3.12.tgz", + "integrity": "sha512-1F8M7nWfChzurb7obbvuE7mJXlHtY1UG58pcwcomVtpPb+kPavgAO8OEvJHYBMV+bzSxkXt5UIwL9lt9jHUxZA==", "dependencies": { "@babel/core": "7.23.9", "@jridgewell/sourcemap-codec": "^1.4.14", @@ -427,7 +439,7 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/compiler": "17.3.10", + "@angular/compiler": "17.3.12", "typescript": ">=5.2 <5.5" } }, @@ -474,9 +486,9 @@ } }, "node_modules/@angular/core": { - "version": "17.3.10", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-17.3.10.tgz", - "integrity": "sha512-ocEKu7X0yFCOvgJn1uZy76qjhsjKvULrO1k/BuIX0nwhp61DTGYTvCqKmwCBLM8/gvcKYH5vMKMHoQKtiSGE0A==", + "version": "17.3.12", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-17.3.12.tgz", + "integrity": "sha512-MuFt5yKi161JmauUta4Dh0m8ofwoq6Ino+KoOtkYMBGsSx+A7dSm+DUxxNwdj7+DNyg3LjVGCFgBFnq4g8z06A==", "dependencies": { "tslib": "^2.3.0" }, @@ -489,9 +501,9 @@ } }, "node_modules/@angular/forms": { - "version": "17.3.10", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-17.3.10.tgz", - "integrity": "sha512-0VZWSXDi2M3DAGJlpdV3lo73Yo/73GPRqmfTOrvIoUIenFg5Dz6oNGzvt/1aRkRn6HKccjix6iMpH91EN65pWA==", + "version": "17.3.12", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-17.3.12.tgz", + "integrity": "sha512-tV6r12Q3yEUlXwpVko4E+XscunTIpPkLbaiDn/MTL3Vxi2LZnsLgHyd/i38HaHN+e/H3B0a1ToSOhV5wf3ay4Q==", "dependencies": { "tslib": "^2.3.0" }, @@ -499,16 +511,16 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/common": "17.3.10", - "@angular/core": "17.3.10", - "@angular/platform-browser": "17.3.10", + "@angular/common": "17.3.12", + "@angular/core": "17.3.12", + "@angular/platform-browser": "17.3.12", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/language-service": { - "version": "17.3.10", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-17.3.10.tgz", - "integrity": "sha512-6y0yEnjuKGCnH+YxmZZUC/KEb2ZuB5z7y0AOj4PwOladMWSwHv71x1rz5MokBVBf7ZTeN2w89f9jSWBzSz+fPw==", + "version": "17.3.12", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-17.3.12.tgz", + "integrity": "sha512-MVmEXonXwdhFtIpU4q8qbXHsrAsdTjZcPPuWCU0zXVQ+VaB/y6oF7BVpmBtfyBcBCums1guEncPP+AZVvulXmQ==", "engines": { "node": "^18.13.0 || >=20.9.0" } @@ -578,9 +590,9 @@ } }, "node_modules/@angular/platform-browser": { - "version": "17.3.10", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-17.3.10.tgz", - "integrity": "sha512-LEhBDOKm2A7nRmZqsafVp6OinRDG1OYZBSqjnT1jZ+f0CRRFIXz6aJ0TMPoU6vq9SLRJ7vrGD9P/eBf2hW00NQ==", + "version": "17.3.12", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-17.3.12.tgz", + "integrity": "sha512-DYY04ptWh/ulMHzd+y52WCE8QnEYGeIiW3hEIFjCN8z0kbIdFdUtEB0IK5vjNL3ejyhUmphcpeT5PYf3YXtqWQ==", "dependencies": { "tslib": "^2.3.0" }, @@ -588,9 +600,9 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/animations": "17.3.10", - "@angular/common": "17.3.10", - "@angular/core": "17.3.10" + "@angular/animations": "17.3.12", + "@angular/common": "17.3.12", + "@angular/core": "17.3.12" }, "peerDependenciesMeta": { "@angular/animations": { @@ -599,9 +611,9 @@ } }, "node_modules/@angular/platform-browser-dynamic": { - "version": "17.3.10", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-17.3.10.tgz", - "integrity": "sha512-TW6G4+isdHM2ssQTRTobeAKtR2516pJ25BSwRb+9+Jw/ZAEYOOi+KQyofIFYQccaUjb3+LpjRcaZbtZ9m/Ispg==", + "version": "17.3.12", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-17.3.12.tgz", + "integrity": "sha512-DQwV7B2x/DRLRDSisngZRdLqHdYbbrqZv2Hmu4ZbnNYaWPC8qvzgE/0CvY+UkDat3nCcsfwsMnlDeB6TL7/IaA==", "dependencies": { "tslib": "^2.3.0" }, @@ -609,16 +621,16 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/common": "17.3.10", - "@angular/compiler": "17.3.10", - "@angular/core": "17.3.10", - "@angular/platform-browser": "17.3.10" + "@angular/common": "17.3.12", + "@angular/compiler": "17.3.12", + "@angular/core": "17.3.12", + "@angular/platform-browser": "17.3.12" } }, "node_modules/@angular/router": { - "version": "17.3.10", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-17.3.10.tgz", - "integrity": "sha512-HlZlR9BOLoEKGOSMjmL5EfYL7F7PeDifbFi0dYWNcrG8zFrVKFklB1cuBdJhfPZgYhDEoGms/EToD71tg5wliA==", + "version": "17.3.12", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-17.3.12.tgz", + "integrity": "sha512-dg7PHBSW9fmPKTVzwvHEeHZPZdpnUqW/U7kj8D29HTP9ur8zZnx9QcnbplwPeYb8yYa62JMnZSEel2X4PxdYBg==", "dependencies": { "tslib": "^2.3.0" }, @@ -626,9 +638,9 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/common": "17.3.10", - "@angular/core": "17.3.10", - "@angular/platform-browser": "17.3.10", + "@angular/common": "17.3.12", + "@angular/core": "17.3.12", + "@angular/platform-browser": "17.3.12", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -645,9 +657,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.7.tgz", - "integrity": "sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==", + "version": "7.24.9", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.9.tgz", + "integrity": "sha512-e701mcfApCJqMMueQI0Fb68Amflj83+dvAvHawoBpAz+GDjCIyGHzNwnefjsWJ3xiYAqqiQFoWbspGYBdb2/ng==", "engines": { "node": ">=6.9.0" } @@ -732,13 +744,13 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz", - "integrity": "sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.8.tgz", + "integrity": "sha512-oU+UoqCHdp+nWVDkpldqIQL/i/bvAv53tRqLG/s+cOXxe66zOYLU7ar/Xs3LdmBihrUMEUhwu6dMZwbNOYDwvw==", "dependencies": { - "@babel/compat-data": "^7.24.7", - "@babel/helper-validator-option": "^7.24.7", - "browserslist": "^4.22.2", + "@babel/compat-data": "^7.24.8", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -755,14 +767,14 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.7.tgz", - "integrity": "sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.8.tgz", + "integrity": "sha512-4f6Oqnmyp2PP3olgUMmOwC3akxSm5aBYraQ6YDdKy7NcAMkDECHWG0DEnV6M2UAkERgIBhYt8S27rURPg7SxWA==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", "@babel/helper-environment-visitor": "^7.24.7", "@babel/helper-function-name": "^7.24.7", - "@babel/helper-member-expression-to-functions": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.8", "@babel/helper-optimise-call-expression": "^7.24.7", "@babel/helper-replace-supers": "^7.24.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", @@ -891,12 +903,12 @@ } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.7.tgz", - "integrity": "sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", + "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==", "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/traverse": "^7.24.8", + "@babel/types": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -915,9 +927,9 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz", - "integrity": "sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==", + "version": "7.24.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.9.tgz", + "integrity": "sha512-oYbh+rtFKj/HwBQkFlUzvcybzklmVdVV3UU+mN7n2t/q3yGHbuVdNxyFvSBO1tfvjyArpHNcWMAzsSPdyI46hw==", "dependencies": { "@babel/helper-environment-visitor": "^7.24.7", "@babel/helper-module-imports": "^7.24.7", @@ -955,9 +967,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz", - "integrity": "sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", + "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", "engines": { "node": ">=6.9.0" } @@ -1041,9 +1053,9 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", - "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", "engines": { "node": ">=6.9.0" } @@ -1057,9 +1069,9 @@ } }, "node_modules/@babel/helper-validator-option": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz", - "integrity": "sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", + "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", "engines": { "node": ">=6.9.0" } @@ -1079,12 +1091,12 @@ } }, "node_modules/@babel/helpers": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.7.tgz", - "integrity": "sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.8.tgz", + "integrity": "sha512-gV2265Nkcz7weJJfvDoAEVzC1e2OTDpkGbEsebse8koXUJUXPsCMi7sRo/+SPMuMZ9MtUPnGwITTnQnU5YjyaQ==", "dependencies": { "@babel/template": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/types": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1105,9 +1117,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", - "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.8.tgz", + "integrity": "sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==", "bin": { "parser": "bin/babel-parser.js" }, @@ -1495,15 +1507,15 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.7.tgz", - "integrity": "sha512-CFbbBigp8ln4FU6Bpy6g7sE8B/WmCmzvivzUC6xDAdWVsjYTXijpuuGJmYkAaoWAzcItGKT3IOAbxRItZ5HTjw==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.8.tgz", + "integrity": "sha512-VXy91c47uujj758ud9wx+OMgheXm4qJfyhj1P18YvlrQkNOSrwsteHk+EFS3OMGfhMhpZa0A+81eE7G4QC+3CA==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-compilation-targets": "^7.24.8", "@babel/helper-environment-visitor": "^7.24.7", "@babel/helper-function-name": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-replace-supers": "^7.24.7", "@babel/helper-split-export-declaration": "^7.24.7", "globals": "^11.1.0" @@ -1553,11 +1565,11 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.7.tgz", - "integrity": "sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz", + "integrity": "sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1745,12 +1757,12 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.7.tgz", - "integrity": "sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz", + "integrity": "sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==", "dependencies": { - "@babel/helper-module-transforms": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-module-transforms": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-simple-access": "^7.24.7" }, "engines": { @@ -1899,11 +1911,11 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.7.tgz", - "integrity": "sha512-tK+0N9yd4j+x/4hxF3F0e0fu/VdcxU18y5SevtyM/PCFlQvXbR0Zmlo2eBrKtVipGNFzpq56o8WsIIKcJFUCRQ==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz", + "integrity": "sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, @@ -2099,11 +2111,11 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.7.tgz", - "integrity": "sha512-VtR8hDy7YLB7+Pet9IarXjg/zgCMSF+1mNS/EQEiEaUPoFXCVsHG64SIxcaaI2zJgRiv+YmgaQESUfWAdbjzgg==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz", + "integrity": "sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -2315,18 +2327,18 @@ } }, "node_modules/@babel/traverse": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz", - "integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.8.tgz", + "integrity": "sha512-t0P1xxAPzEDcEPmjprAQq19NWum4K0EQPjMwZQZbHt+GiZqvjCHjj755Weq1YRPVzBI+3zSfvScfpnuIecVFJQ==", "dependencies": { "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.7", + "@babel/generator": "^7.24.8", "@babel/helper-environment-visitor": "^7.24.7", "@babel/helper-function-name": "^7.24.7", "@babel/helper-hoist-variables": "^7.24.7", "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/types": "^7.24.7", + "@babel/parser": "^7.24.8", + "@babel/types": "^7.24.8", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -2335,11 +2347,11 @@ } }, "node_modules/@babel/traverse/node_modules/@babel/generator": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz", - "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==", + "version": "7.24.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.10.tgz", + "integrity": "sha512-o9HBZL1G2129luEUlG1hB4N/nlYNWHnpwlND9eOMclRqqu1YDy2sSYVCFUZwl8I1Gxh+QSRrP2vD7EpUmFVXxg==", "dependencies": { - "@babel/types": "^7.24.7", + "@babel/types": "^7.24.9", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" @@ -2360,11 +2372,11 @@ } }, "node_modules/@babel/types": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", - "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", + "version": "7.24.9", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.9.tgz", + "integrity": "sha512-xm8XrMKz0IlUdocVbYJe0Z9xEgidU7msskG8BbhnTPK/HZ2z/7FP7ykqPgrUH+C+r414mNfNWam1f2vqOjqjYQ==", "dependencies": { - "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-string-parser": "^7.24.8", "@babel/helper-validator-identifier": "^7.24.7", "to-fast-properties": "^2.0.0" }, @@ -2777,9 +2789,9 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.1.tgz", - "integrity": "sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==", + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", + "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", "dev": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" @@ -2952,6 +2964,7 @@ "version": "0.11.14", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "deprecated": "Use @eslint/config-array instead", "dev": true, "dependencies": { "@humanwhocodes/object-schema": "^2.0.2", @@ -3001,6 +3014,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", "dev": true }, "node_modules/@isaacs/cliui": { @@ -3143,9 +3157,9 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", @@ -4032,9 +4046,9 @@ } }, "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.2.tgz", - "integrity": "sha512-9bfjwDxIDWmmOKusUcqdS4Rw+SETlp9Dy39Xui9BEGEk19dDwH0jhipwFzEff/pFg95NKymc6TOTbRKcWeRqyQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz", + "integrity": "sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==", "cpu": [ "arm64" ], @@ -4045,9 +4059,9 @@ ] }, "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.2.tgz", - "integrity": "sha512-lwriRAHm1Yg4iDf23Oxm9n/t5Zpw1lVnxYU3HnJPTi2lJRkKTrps1KVgvL6m7WvmhYVt/FIsssWay+k45QHeuw==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz", + "integrity": "sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==", "cpu": [ "x64" ], @@ -4058,9 +4072,9 @@ ] }, "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.2.tgz", - "integrity": "sha512-MOI9Dlfrpi2Cuc7i5dXdxPbFIgbDBGgKR5F2yWEa6FVEtSWncfVNKW5AKjImAQ6CZlBK9tympdsZJ2xThBiWWA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz", + "integrity": "sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==", "cpu": [ "arm" ], @@ -4071,9 +4085,9 @@ ] }, "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.2.tgz", - "integrity": "sha512-FU20Bo66/f7He9Fp9sP2zaJ1Q8L9uLPZQDub/WlUip78JlPeMbVL8546HbZfcW9LNciEXc8d+tThSJjSC+tmsg==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz", + "integrity": "sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==", "cpu": [ "arm64" ], @@ -4084,9 +4098,9 @@ ] }, "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.2.tgz", - "integrity": "sha512-gsWNDCklNy7Ajk0vBBf9jEx04RUxuDQfBse918Ww+Qb9HCPoGzS+XJTLe96iN3BVK7grnLiYghP/M4L8VsaHeA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz", + "integrity": "sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==", "cpu": [ "x64" ], @@ -4097,9 +4111,9 @@ ] }, "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.2.tgz", - "integrity": "sha512-O+6Gs8UeDbyFpbSh2CPEz/UOrrdWPTBYNblZK5CxxLisYt4kGX3Sc+czffFonyjiGSq3jWLwJS/CCJc7tBr4sQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz", + "integrity": "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==", "cpu": [ "x64" ], @@ -4172,12 +4186,9 @@ } }, "node_modules/@npmcli/agent/node_modules/lru-cache": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", - "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", - "engines": { - "node": "14 || >=16.14" - } + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" }, "node_modules/@npmcli/fs": { "version": "3.1.1", @@ -4191,11 +4202,12 @@ } }, "node_modules/@npmcli/git": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-5.0.7.tgz", - "integrity": "sha512-WaOVvto604d5IpdCRV2KjQu8PzkfE96d50CQGKgywXh2GxXmDeUO5EWcBC4V57uFyrNqx83+MewuJh3WTR3xPA==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-5.0.8.tgz", + "integrity": "sha512-liASfw5cqhjNW9UFd+ruwwdEf/lbOAQjLL2XY2dFW/bkJheXDYZgOyul/4gVvEV4BWkTXjYGmDqMw9uegdbJNQ==", "dependencies": { "@npmcli/promise-spawn": "^7.0.0", + "ini": "^4.1.3", "lru-cache": "^10.0.1", "npm-pick-manifest": "^9.0.0", "proc-log": "^4.0.0", @@ -4208,6 +4220,14 @@ "node": "^16.14.0 || >=18.0.0" } }, + "node_modules/@npmcli/git/node_modules/ini": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.3.tgz", + "integrity": "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/@npmcli/git/node_modules/isexe": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", @@ -4217,12 +4237,9 @@ } }, "node_modules/@npmcli/git/node_modules/lru-cache": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", - "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", - "engines": { - "node": "14 || >=16.14" - } + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" }, "node_modules/@npmcli/git/node_modules/proc-log": { "version": "4.2.0", @@ -6401,9 +6418,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz", - "integrity": "sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.19.0.tgz", + "integrity": "sha512-JlPfZ/C7yn5S5p0yKk7uhHTTnFlvTgLetl2VxqE518QgyM7C9bSfFTYvB/Q/ftkq0RIPY4ySxTz+/wKJ/dXC0w==", "cpu": [ "arm" ], @@ -6413,9 +6430,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz", - "integrity": "sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.19.0.tgz", + "integrity": "sha512-RDxUSY8D1tWYfn00DDi5myxKgOk6RvWPxhmWexcICt/MEC6yEMr4HNCu1sXXYLw8iAsg0D44NuU+qNq7zVWCrw==", "cpu": [ "arm64" ], @@ -6425,9 +6442,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz", - "integrity": "sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.19.0.tgz", + "integrity": "sha512-emvKHL4B15x6nlNTBMtIaC9tLPRpeA5jMvRLXVbl/W9Ie7HhkrE7KQjvgS9uxgatL1HmHWDXk5TTS4IaNJxbAA==", "cpu": [ "arm64" ], @@ -6437,9 +6454,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz", - "integrity": "sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.19.0.tgz", + "integrity": "sha512-fO28cWA1dC57qCd+D0rfLC4VPbh6EOJXrreBmFLWPGI9dpMlER2YwSPZzSGfq11XgcEpPukPTfEVFtw2q2nYJg==", "cpu": [ "x64" ], @@ -6449,9 +6466,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz", - "integrity": "sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.19.0.tgz", + "integrity": "sha512-2Rn36Ubxdv32NUcfm0wB1tgKqkQuft00PtM23VqLuCUR4N5jcNWDoV5iBC9jeGdgS38WK66ElncprqgMUOyomw==", "cpu": [ "arm" ], @@ -6461,9 +6478,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz", - "integrity": "sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.19.0.tgz", + "integrity": "sha512-gJuzIVdq/X1ZA2bHeCGCISe0VWqCoNT8BvkQ+BfsixXwTOndhtLUpOg0A1Fcx/+eA6ei6rMBzlOz4JzmiDw7JQ==", "cpu": [ "arm" ], @@ -6473,9 +6490,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz", - "integrity": "sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.19.0.tgz", + "integrity": "sha512-0EkX2HYPkSADo9cfeGFoQ7R0/wTKb7q6DdwI4Yn/ULFE1wuRRCHybxpl2goQrx4c/yzK3I8OlgtBu4xvted0ug==", "cpu": [ "arm64" ], @@ -6485,9 +6502,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz", - "integrity": "sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.19.0.tgz", + "integrity": "sha512-GlIQRj9px52ISomIOEUq/IojLZqzkvRpdP3cLgIE1wUWaiU5Takwlzpz002q0Nxxr1y2ZgxC2obWxjr13lvxNQ==", "cpu": [ "arm64" ], @@ -6497,9 +6514,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz", - "integrity": "sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.19.0.tgz", + "integrity": "sha512-N6cFJzssruDLUOKfEKeovCKiHcdwVYOT1Hs6dovDQ61+Y9n3Ek4zXvtghPPelt6U0AH4aDGnDLb83uiJMkWYzQ==", "cpu": [ "ppc64" ], @@ -6509,9 +6526,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz", - "integrity": "sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.19.0.tgz", + "integrity": "sha512-2DnD3mkS2uuam/alF+I7M84koGwvn3ZVD7uG+LEWpyzo/bq8+kKnus2EVCkcvh6PlNB8QPNFOz6fWd5N8o1CYg==", "cpu": [ "riscv64" ], @@ -6521,9 +6538,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz", - "integrity": "sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.19.0.tgz", + "integrity": "sha512-D6pkaF7OpE7lzlTOFCB2m3Ngzu2ykw40Nka9WmKGUOTS3xcIieHe82slQlNq69sVB04ch73thKYIWz/Ian8DUA==", "cpu": [ "s390x" ], @@ -6533,9 +6550,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz", - "integrity": "sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.19.0.tgz", + "integrity": "sha512-HBndjQLP8OsdJNSxpNIN0einbDmRFg9+UQeZV1eiYupIRuZsDEoeGU43NQsS34Pp166DtwQOnpcbV/zQxM+rWA==", "cpu": [ "x64" ], @@ -6545,9 +6562,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz", - "integrity": "sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.19.0.tgz", + "integrity": "sha512-HxfbvfCKJe/RMYJJn0a12eiOI9OOtAUF4G6ozrFUK95BNyoJaSiBjIOHjZskTUffUrB84IPKkFG9H9nEvJGW6A==", "cpu": [ "x64" ], @@ -6557,9 +6574,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz", - "integrity": "sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.19.0.tgz", + "integrity": "sha512-HxDMKIhmcguGTiP5TsLNolwBUK3nGGUEoV/BO9ldUBoMLBssvh4J0X8pf11i1fTV7WShWItB1bKAKjX4RQeYmg==", "cpu": [ "arm64" ], @@ -6569,9 +6586,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz", - "integrity": "sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.19.0.tgz", + "integrity": "sha512-xItlIAZZaiG/u0wooGzRsx11rokP4qyc/79LkAOdznGRAbOFc+SfEdfUOszG1odsHNgwippUJavag/+W/Etc6Q==", "cpu": [ "ia32" ], @@ -6581,9 +6598,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz", - "integrity": "sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.19.0.tgz", + "integrity": "sha512-xNo5fV5ycvCCKqiZcpB65VMR11NJB+StnxHz20jdqRAktfdfzhgjTiJ2doTDQE/7dqGaV5I7ZGqKpgph6lCIag==", "cpu": [ "x64" ], @@ -6684,14 +6701,14 @@ } }, "node_modules/@swc/core": { - "version": "1.5.25", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.5.25.tgz", - "integrity": "sha512-qdGEIdLVoTjEQ7w72UyyQ0wLFY4XbHfZiidmPHKJQsvSXzdpHXxPdlTCea/mY4AhMqo/M+pvkJSXJAxZnFl7qw==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.7.0.tgz", + "integrity": "sha512-d4vMzH6ICllDwlPuhset2h8gu/USHdbyfJim+2hQEdxC0UONtfpmu38XBgNqRjStrji1Q5M10jfeUZL3cu1i8g==", "devOptional": true, "hasInstallScript": true, "dependencies": { "@swc/counter": "^0.1.3", - "@swc/types": "^0.1.7" + "@swc/types": "^0.1.9" }, "engines": { "node": ">=10" @@ -6701,16 +6718,16 @@ "url": "https://opencollective.com/swc" }, "optionalDependencies": { - "@swc/core-darwin-arm64": "1.5.25", - "@swc/core-darwin-x64": "1.5.25", - "@swc/core-linux-arm-gnueabihf": "1.5.25", - "@swc/core-linux-arm64-gnu": "1.5.25", - "@swc/core-linux-arm64-musl": "1.5.25", - "@swc/core-linux-x64-gnu": "1.5.25", - "@swc/core-linux-x64-musl": "1.5.25", - "@swc/core-win32-arm64-msvc": "1.5.25", - "@swc/core-win32-ia32-msvc": "1.5.25", - "@swc/core-win32-x64-msvc": "1.5.25" + "@swc/core-darwin-arm64": "1.7.0", + "@swc/core-darwin-x64": "1.7.0", + "@swc/core-linux-arm-gnueabihf": "1.7.0", + "@swc/core-linux-arm64-gnu": "1.7.0", + "@swc/core-linux-arm64-musl": "1.7.0", + "@swc/core-linux-x64-gnu": "1.7.0", + "@swc/core-linux-x64-musl": "1.7.0", + "@swc/core-win32-arm64-msvc": "1.7.0", + "@swc/core-win32-ia32-msvc": "1.7.0", + "@swc/core-win32-x64-msvc": "1.7.0" }, "peerDependencies": { "@swc/helpers": "*" @@ -6722,9 +6739,9 @@ } }, "node_modules/@swc/core-darwin-arm64": { - "version": "1.5.25", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.5.25.tgz", - "integrity": "sha512-YbD0SBgVJS2DM0vwJTU5m7+wOyCjHPBDMf3nCBJQzFZzOLzK11eRW7SzU2jhJHr9HI9sKcNFfN4lIC2Sj+4inA==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.7.0.tgz", + "integrity": "sha512-2ylhM7f0HwUwLrFYZAe/dse8PCbPsYcJS3Dt7Q8NT3PUn7vy6QOMxNcOPPuDrnmaXqQQO3oxdmRapguTxaat9g==", "cpu": [ "arm64" ], @@ -6738,9 +6755,9 @@ } }, "node_modules/@swc/core-darwin-x64": { - "version": "1.5.25", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.5.25.tgz", - "integrity": "sha512-OhP4TROT6gQuozn+ah0Y4UidSdgDmxwtQq3lgCUIAxJYErJAQ82/Y0kve2UaNmkSGjOHU+/b4siHPrYTkXOk0Q==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.7.0.tgz", + "integrity": "sha512-SgVnN4gT1Rb9YfTkp4FCUITqSs7Yj0uB2SUciu5CV3HuGvS5YXCUzh+KrwpLFtx8NIgivISKcNnb41mJi98X8Q==", "cpu": [ "x64" ], @@ -6754,9 +6771,9 @@ } }, "node_modules/@swc/core-linux-arm-gnueabihf": { - "version": "1.5.25", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.5.25.tgz", - "integrity": "sha512-tNmUfrAHxN2gvYPyYNnHx2CYlPO7DGAUuK/bZrqawu++djcg+atAV3eI3XYJgmHId7/sYAlDQ9wjkrOLofFjVg==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.7.0.tgz", + "integrity": "sha512-+Z9Dayart1iKJQEJJ9N/KS4z5EdXJE3WPFikY0jonKTo4Dd8RuyVz5yLvqcIMeVdz/SwximATaL6iJXw7hZS9A==", "cpu": [ "arm" ], @@ -6770,9 +6787,9 @@ } }, "node_modules/@swc/core-linux-arm64-gnu": { - "version": "1.5.25", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.5.25.tgz", - "integrity": "sha512-stzpke+bRaNFM/HrZPRjX0aQZ86S/2DChVCwb8NAV1n5lu9mz1CS750y7WbbtX/KZjk92FsCeRy2qwkvjI0gWw==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.7.0.tgz", + "integrity": "sha512-UnLrCiZ1EI4shznJn0xP6DLgsXUSwtfsdgHhGYCrvbgVBBve3S9iFgVFEB3SPl7Q/TdowNbrN4zHU0oChfiNfw==", "cpu": [ "arm64" ], @@ -6786,9 +6803,9 @@ } }, "node_modules/@swc/core-linux-arm64-musl": { - "version": "1.5.25", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.5.25.tgz", - "integrity": "sha512-UckUfDYedish/bj2V1jgQDGgouLhyRpG7jgF3mp8jHir11V2K6JiTyjFoz99eOiclS3+hNdr4QLJ+ifrQMJNZw==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.7.0.tgz", + "integrity": "sha512-H724UANA+ptsfwKRr9mnaDa9cb5fw0oFysiGKTgb3DMYcgk3Od0jMTnXVPFSVpo7FlmyxeC9K8ueUPBOoOK6XA==", "cpu": [ "arm64" ], @@ -6802,9 +6819,9 @@ } }, "node_modules/@swc/core-linux-x64-gnu": { - "version": "1.5.25", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.5.25.tgz", - "integrity": "sha512-LwbJEgNT3lXbvz4WFzVNXNvs8DvxpoXjMZk9K9Hig8tmZQJKHC2qZTGomcyK5EFzfj2HBuBXZnAEW8ZT9PcEaA==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.7.0.tgz", + "integrity": "sha512-SY3HA0K0Dpqt1HIfMLGpwL4hd4UaL2xHP5oZXPlRQPhUDZrbb4PbI3ZJnh66c63eL4ZR8EJ+HRFI0Alx5p69Zw==", "cpu": [ "x64" ], @@ -6818,9 +6835,9 @@ } }, "node_modules/@swc/core-linux-x64-musl": { - "version": "1.5.25", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.5.25.tgz", - "integrity": "sha512-rsepMTgml0EkswWkBpg3Wrjj5eqjwTzZN5omAn1klzXSZnClTrfeHvBuoIJYVr1yx+jmBkqySgME2p7+magUAw==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.7.0.tgz", + "integrity": "sha512-cEJ2ebtV1v/5Ilb55E05J6F5SrHKQWzUttIhR5Mkayyo+yvPslcpByuFC3D+J7X1ebziTOBpWuMpUdjLfh3SMQ==", "cpu": [ "x64" ], @@ -6834,9 +6851,9 @@ } }, "node_modules/@swc/core-win32-arm64-msvc": { - "version": "1.5.25", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.5.25.tgz", - "integrity": "sha512-DJDsLBsRBV3uQBShRK2x6fqzABp9RLNVxDUpTTvUjc7qywJ8vS/yn+POK/zCyVEqLagf1z/8D5CEQ+RAIJq1NA==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.7.0.tgz", + "integrity": "sha512-ecQOOmzEssz+m0pR4xDYCGuvn3E/l0nQ3tk5jp1NA1lsAy4bMV0YbYCHjptYvWL/UjhIerIp3IlCJ8x5DodSog==", "cpu": [ "arm64" ], @@ -6850,9 +6867,9 @@ } }, "node_modules/@swc/core-win32-ia32-msvc": { - "version": "1.5.25", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.5.25.tgz", - "integrity": "sha512-BARL1ulHol53MEKC1ZVWM3A3FP757UUgG5Q8v97za+4a1SaIgbwvAQyHDxMYWi9+ij+OapK8YnWjJcFa17g8dw==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.7.0.tgz", + "integrity": "sha512-gz81seZkRn3zMnVOc7L5k6F4vQC82gIxmHiL+GedK+A37XI/X26AASU3zxvORnqQbwQYXQ+AEVckxBmFlz3v2g==", "cpu": [ "ia32" ], @@ -6866,9 +6883,9 @@ } }, "node_modules/@swc/core-win32-x64-msvc": { - "version": "1.5.25", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.5.25.tgz", - "integrity": "sha512-o+MHUWrQI9iR6EusEV8eNU2Ezi3KtlhUR4gfptQN5MbVzlgjTvQbhiKpE1GYOxp+0BLBbKRwITKOcdhxfEJ2Uw==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.7.0.tgz", + "integrity": "sha512-b5Fd1xEOw9uqBpj2lqsaR4Iq9UhiL84hNDcEsi6DQA7Y1l85waQAslTbS0E4/pJ1PISAs0jW0zIGLco1eaWBOg==", "cpu": [ "x64" ], @@ -6888,18 +6905,18 @@ "devOptional": true }, "node_modules/@swc/helpers": { - "version": "0.5.11", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.11.tgz", - "integrity": "sha512-YNlnKRWF2sVojTpIyzwou9XoTNbzbzONwRhOoniEioF1AtaitTvVZblaQRrAzChWQ1bLYyYSWzM18y4WwgzJ+A==", + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.12.tgz", + "integrity": "sha512-KMZNXiGibsW9kvZAO1Pam2JPTDBm+KSHMMHWdsyI/1DbIZjT2A6Gy3hblVXUMEDvUAKq+e0vL0X0o54owWji7g==", "dev": true, "dependencies": { "tslib": "^2.4.0" } }, "node_modules/@swc/types": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.7.tgz", - "integrity": "sha512-scHWahbHF0eyj3JsxG9CFJgFdFNaVQCNAimBlT6PzS3n/HptxqREjsm4OH6AN3lYcffZYSPxXW8ua2BEHp0lJQ==", + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.12.tgz", + "integrity": "sha512-wBJA+SdtkbFhHjTMYH+dEH1y4VpfGdAc2Kw/LK09i9bXd/K6j6PkDcFCEzb6iVfZMkPRrl/q0e3toqTAJdkIVA==", "devOptional": true, "dependencies": { "@swc/counter": "^0.1.3" @@ -7023,9 +7040,9 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "4.19.3", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.3.tgz", - "integrity": "sha512-KOzM7MhcBFlmnlr/fzISFF5vGWVSvN6fTd4T+ExOt08bA/dA5kpSzY52nMsI1KDFmUREpJelPYyuslLRSjjgCg==", + "version": "4.19.5", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.5.tgz", + "integrity": "sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==", "dependencies": { "@types/node": "*", "@types/qs": "*", @@ -7069,9 +7086,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.14.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.2.tgz", - "integrity": "sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==", + "version": "20.14.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.11.tgz", + "integrity": "sha512-kprQpL8MMeszbz6ojB5/tU8PLN4kesnN8Gjzw349rDlNgsSzg90lAVj3llK99Dh7JON+t9AuscPPFW6mPbTnSA==", "dependencies": { "undici-types": "~5.26.4" } @@ -7152,9 +7169,9 @@ "integrity": "sha512-10ql7A0qzBmFB+F+qAke/nP1PIonS0TXZAOMVOxEUsm+lGSW6uwVcISFNa0I4Oyj0884TZVWGGMIWeXOVSNFHw==" }, "node_modules/@types/ws": { - "version": "8.5.10", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", - "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", + "version": "8.5.11", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.11.tgz", + "integrity": "sha512-4+q7P5h3SpJxaBft0Dzpbr6lmMaqh0Jr2tbhJZ/luAwvD7ohSCniYkwz/pLxuT2h0EOa6QADgJj1Ko+TzRfZ+w==", "dependencies": { "@types/node": "*" } @@ -7349,9 +7366,9 @@ } }, "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "bin": { "acorn": "bin/acorn" }, @@ -7377,9 +7394,12 @@ } }, "node_modules/acorn-walk": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", - "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", + "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", + "dependencies": { + "acorn": "^8.11.0" + }, "engines": { "node": ">=0.4.0" } @@ -7892,9 +7912,9 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.10.tgz", + "integrity": "sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==", "dev": true, "dependencies": { "safe-buffer": "^5.0.1" @@ -8045,9 +8065,9 @@ } }, "node_modules/browserslist": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "version": "4.23.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz", + "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==", "funding": [ { "type": "opencollective", @@ -8063,10 +8083,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", + "caniuse-lite": "^1.0.30001640", + "electron-to-chromium": "^1.4.820", "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" + "update-browserslist-db": "^1.1.0" }, "bin": { "browserslist": "cli.js" @@ -8133,9 +8153,9 @@ } }, "node_modules/cacache": { - "version": "18.0.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.3.tgz", - "integrity": "sha512-qXCd4rh6I07cnDqh8V48/94Tc/WSfj+o3Gn6NZ0aZovS255bUx8O13uKxRFd2eWG0xgsco7+YItQNPaa5E85hg==", + "version": "18.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.4.tgz", + "integrity": "sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==", "dependencies": { "@npmcli/fs": "^3.1.0", "fs-minipass": "^3.0.0", @@ -8155,12 +8175,9 @@ } }, "node_modules/cacache/node_modules/lru-cache": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", - "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", - "engines": { - "node": "14 || >=16.14" - } + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" }, "node_modules/call-bind": { "version": "1.0.7", @@ -8214,9 +8231,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001628", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001628.tgz", - "integrity": "sha512-S3BnR4Kh26TBxbi5t5kpbcUlLJb9lhtDXISDPwOfI+JoC+ik0QksvkZtUVyikw3hjnkgkMPSJ8oIM9yMm9vflA==", + "version": "1.0.30001643", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001643.tgz", + "integrity": "sha512-ERgWGNleEilSrHM6iUz/zJNSQTP8Mr21wDWpdgvRwcTXGAq6jMtOUPP4dqFPTdKqZ2wKTdtB+uucZ3MRpAUSmg==", "funding": [ { "type": "opencollective", @@ -9285,9 +9302,9 @@ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "node_modules/electron-to-chromium": { - "version": "1.4.790", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.790.tgz", - "integrity": "sha512-eVGeQxpaBYbomDBa/Mehrs28MdvCXfJmEFzaMFsv8jH/MJDLIylJN81eTJ5kvx7B7p18OiPK0BkC06lydEy63A==" + "version": "1.4.832", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.832.tgz", + "integrity": "sha512-cTen3SB0H2SGU7x467NRe1eVcQgcuS6jckKfWJHia2eo0cHIGOqHoAxevIYZD4eRHcWjkvFzo93bi3vJ9W+1lA==" }, "node_modules/emoji-regex": { "version": "8.0.0", @@ -9491,9 +9508,9 @@ } }, "node_modules/es-module-lexer": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.3.tgz", - "integrity": "sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg==" + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==" }, "node_modules/es-object-atoms": { "version": "1.0.0", @@ -10769,9 +10786,9 @@ "dev": true }, "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, "dependencies": { "estraverse": "^5.1.0" @@ -11234,9 +11251,9 @@ } }, "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", + "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^4.0.1" @@ -11500,22 +11517,20 @@ } }, "node_modules/glob": { - "version": "10.4.1", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz", - "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, "funding": { "url": "https://github.com/sponsors/isaacs" } @@ -11779,12 +11794,9 @@ } }, "node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", - "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", - "engines": { - "node": "14 || >=16.14" - } + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" }, "node_modules/hpack.js": { "version": "2.1.6", @@ -12000,9 +12012,9 @@ } }, "node_modules/https-proxy-agent": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", - "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", "dependencies": { "agent-base": "^7.0.2", "debug": "4" @@ -12383,11 +12395,14 @@ } }, "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", + "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", "dependencies": { - "hasown": "^2.0.0" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -12805,15 +12820,12 @@ } }, "node_modules/jackspeak": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.0.tgz", - "integrity": "sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dependencies": { "@isaacs/cliui": "^8.0.2" }, - "engines": { - "node": ">=14" - }, "funding": { "url": "https://github.com/sponsors/isaacs" }, @@ -12857,9 +12869,9 @@ } }, "node_modules/jiti": { - "version": "1.21.3", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.3.tgz", - "integrity": "sha512-uy2bNX5zQ+tESe+TiC7ilGRz8AtRGmnJH55NC5S0nSUjvvvM2hJHmefHErugGXN4pNv4Qx7vLsnNw9qJ9mtIsw==", + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", "bin": { "jiti": "bin/jiti.js" } @@ -13007,9 +13019,9 @@ "dev": true }, "node_modules/launch-editor": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", - "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.8.0.tgz", + "integrity": "sha512-vJranOAJrI/llyWGRQqiDM+adrw+k83fvmmx3+nV47g3+36xM15jE+zyZ6Ffel02+xSvuM0b2GDRosXZkbb6wA==", "dependencies": { "picocolors": "^1.0.0", "shell-quote": "^1.8.1" @@ -13905,9 +13917,9 @@ "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" }, "node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -14143,42 +14155,55 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/msgpackr": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.10.2.tgz", - "integrity": "sha512-L60rsPynBvNE+8BWipKKZ9jHcSGbtyJYIwjRq0VrIvQ08cRjntGXJYW/tmciZ2IHWIY8WEW32Qa2xbh5+SKBZA==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.0.tgz", + "integrity": "sha512-I8qXuuALqJe5laEBYoFykChhSXLikZmUhccjGsPuSJ/7uPip2TJ7lwdIQwWSAi0jGZDXv4WOP8Qg65QZRuXxXw==", "dev": true, "optionalDependencies": { "msgpackr-extract": "^3.0.2" } }, "node_modules/msgpackr-extract": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.2.tgz", - "integrity": "sha512-SdzXp4kD/Qf8agZ9+iTu6eql0m3kWm1A2y1hkpTeVNENutaB0BwHlSvAIaMxwntmRUAUjon2V4L8Z/njd0Ct8A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz", + "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==", "dev": true, "hasInstallScript": true, "optional": true, "dependencies": { - "node-gyp-build-optional-packages": "5.0.7" + "node-gyp-build-optional-packages": "5.2.2" }, "bin": { "download-msgpackr-prebuilds": "bin/download-prebuilds.js" }, "optionalDependencies": { - "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.2", - "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.2", - "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.2", - "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.2", - "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.2", - "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.2" + "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3" + } + }, + "node_modules/msgpackr-extract/node_modules/detect-libc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "dev": true, + "optional": true, + "engines": { + "node": ">=8" } }, "node_modules/msgpackr-extract/node_modules/node-gyp-build-optional-packages": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.7.tgz", - "integrity": "sha512-YlCCc6Wffkx0kHkmam79GKvDQ6x+QZkMjFGrIMxgFNILFvGSbCp2fCBC55pGTT9gVaz8Na5CLmxt/urtzRv36w==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz", + "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==", "dev": true, "optional": true, + "dependencies": { + "detect-libc": "^2.0.1" + }, "bin": { "node-gyp-build-optional-packages": "bin.js", "node-gyp-build-optional-packages-optional": "optional.js", @@ -14310,13 +14335,10 @@ "dev": true }, "node_modules/node-addon-api": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.0.tgz", - "integrity": "sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==", - "dev": true, - "engines": { - "node": "^16 || ^18 || >= 20" - } + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true }, "node_modules/node-forge": { "version": "1.3.1", @@ -14327,9 +14349,9 @@ } }, "node_modules/node-gyp": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.1.0.tgz", - "integrity": "sha512-B4J5M1cABxPc5PwfjhbV5hoy2DP9p8lFXASnEN6hugXOa61416tnTZ29x9sSwAd0o99XNIcpvDDy1swAExsVKA==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.2.0.tgz", + "integrity": "sha512-sp3FonBAaFe4aYTcFdZUn2NYkbP7xroPGYvQmP4Nl5PxamznItBnNCgjrVTKrEfQynInMsJvZrdmqUnysCJ8rw==", "dependencies": { "env-paths": "^2.2.0", "exponential-backoff": "^3.1.1", @@ -14337,9 +14359,9 @@ "graceful-fs": "^4.2.6", "make-fetch-happen": "^13.0.0", "nopt": "^7.0.0", - "proc-log": "^3.0.0", + "proc-log": "^4.1.0", "semver": "^7.3.5", - "tar": "^6.1.2", + "tar": "^6.2.1", "which": "^4.0.0" }, "bin": { @@ -14391,6 +14413,14 @@ "node": ">=16" } }, + "node_modules/node-gyp/node_modules/proc-log": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", + "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/node-gyp/node_modules/which": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", @@ -14406,9 +14436,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==" }, "node_modules/nopt": { "version": "7.2.1", @@ -14425,12 +14455,11 @@ } }, "node_modules/normalize-package-data": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.1.tgz", - "integrity": "sha512-6rvCfeRW+OEZagAB4lMLSNuTNYZWLVtKccK79VSTf//yTY5VOCgcpH80O+bZK8Neps7pUnd5G+QlMg1yV/2iZQ==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", + "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", "dependencies": { "hosted-git-info": "^7.0.0", - "is-core-module": "^2.8.1", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4" }, @@ -14455,9 +14484,9 @@ } }, "node_modules/npm": { - "version": "10.8.1", - "resolved": "https://registry.npmjs.org/npm/-/npm-10.8.1.tgz", - "integrity": "sha512-Dp1C6SvSMYQI7YHq/y2l94uvI+59Eqbu1EpuKQHQ8p16txXRuRit5gH3Lnaagk2aXDIjg/Iru9pd05bnneKgdw==", + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/npm/-/npm-10.8.2.tgz", + "integrity": "sha512-x/AIjFIKRllrhcb48dqUNAAZl0ig9+qMuN91RpZo3Cb2+zuibfh+KISl6+kVVyktDz230JKc208UkQwwMqyB+w==", "bundleDependencies": [ "@isaacs/string-locale-compare", "@npmcli/arborist", @@ -14531,13 +14560,13 @@ "dev": true, "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/arborist": "^7.5.3", - "@npmcli/config": "^8.3.3", + "@npmcli/arborist": "^7.5.4", + "@npmcli/config": "^8.3.4", "@npmcli/fs": "^3.1.1", "@npmcli/map-workspaces": "^3.0.6", - "@npmcli/package-json": "^5.1.1", + "@npmcli/package-json": "^5.2.0", "@npmcli/promise-spawn": "^7.0.2", - "@npmcli/redact": "^2.0.0", + "@npmcli/redact": "^2.0.1", "@npmcli/run-script": "^8.1.0", "@sigstore/tuf": "^2.3.4", "abbrev": "^2.0.0", @@ -14548,7 +14577,7 @@ "cli-columns": "^4.0.0", "fastest-levenshtein": "^1.0.16", "fs-minipass": "^3.0.3", - "glob": "^10.4.1", + "glob": "^10.4.2", "graceful-fs": "^4.2.11", "hosted-git-info": "^7.0.2", "ini": "^4.1.3", @@ -14556,30 +14585,30 @@ "is-cidr": "^5.1.0", "json-parse-even-better-errors": "^3.0.2", "libnpmaccess": "^8.0.6", - "libnpmdiff": "^6.1.3", - "libnpmexec": "^8.1.2", - "libnpmfund": "^5.0.11", + "libnpmdiff": "^6.1.4", + "libnpmexec": "^8.1.3", + "libnpmfund": "^5.0.12", "libnpmhook": "^10.0.5", "libnpmorg": "^6.0.6", - "libnpmpack": "^7.0.3", + "libnpmpack": "^7.0.4", "libnpmpublish": "^9.0.9", "libnpmsearch": "^7.0.6", "libnpmteam": "^6.0.5", "libnpmversion": "^6.0.3", "make-fetch-happen": "^13.0.1", - "minimatch": "^9.0.4", + "minimatch": "^9.0.5", "minipass": "^7.1.1", "minipass-pipeline": "^1.2.4", "ms": "^2.1.2", "node-gyp": "^10.1.0", "nopt": "^7.2.1", - "normalize-package-data": "^6.0.1", + "normalize-package-data": "^6.0.2", "npm-audit-report": "^5.0.0", "npm-install-checks": "^6.3.0", "npm-package-arg": "^11.0.2", - "npm-pick-manifest": "^9.0.1", + "npm-pick-manifest": "^9.1.0", "npm-profile": "^10.0.0", - "npm-registry-fetch": "^17.0.1", + "npm-registry-fetch": "^17.1.0", "npm-user-validate": "^2.0.1", "p-map": "^4.0.0", "pacote": "^18.0.6", @@ -14858,7 +14887,7 @@ } }, "node_modules/npm/node_modules/@npmcli/arborist": { - "version": "7.5.3", + "version": "7.5.4", "dev": true, "inBundle": true, "license": "ISC", @@ -14907,17 +14936,17 @@ } }, "node_modules/npm/node_modules/@npmcli/config": { - "version": "8.3.3", + "version": "8.3.4", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/map-workspaces": "^3.0.2", + "@npmcli/package-json": "^5.1.1", "ci-info": "^4.0.0", "ini": "^4.1.2", "nopt": "^7.2.1", "proc-log": "^4.2.0", - "read-package-json-fast": "^3.0.2", "semver": "^7.3.5", "walk-up-path": "^3.0.1" }, @@ -14938,12 +14967,13 @@ } }, "node_modules/npm/node_modules/@npmcli/git": { - "version": "5.0.7", + "version": "5.0.8", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/promise-spawn": "^7.0.0", + "ini": "^4.1.3", "lru-cache": "^10.0.1", "npm-pick-manifest": "^9.0.0", "proc-log": "^4.0.0", @@ -15022,7 +15052,7 @@ } }, "node_modules/npm/node_modules/@npmcli/package-json": { - "version": "5.1.1", + "version": "5.2.0", "dev": true, "inBundle": true, "license": "ISC", @@ -15064,7 +15094,7 @@ } }, "node_modules/npm/node_modules/@npmcli/redact": { - "version": "2.0.0", + "version": "2.0.1", "dev": true, "inBundle": true, "license": "ISC", @@ -15472,7 +15502,7 @@ } }, "node_modules/npm/node_modules/debug": { - "version": "4.3.4", + "version": "4.3.5", "dev": true, "inBundle": true, "license": "MIT", @@ -15556,7 +15586,7 @@ } }, "node_modules/npm/node_modules/foreground-child": { - "version": "3.1.1", + "version": "3.2.1", "dev": true, "inBundle": true, "license": "ISC", @@ -15583,17 +15613,8 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm/node_modules/function-bind": { - "version": "1.1.2", - "dev": true, - "inBundle": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/npm/node_modules/glob": { - "version": "10.4.1", + "version": "10.4.2", "dev": true, "inBundle": true, "license": "ISC", @@ -15602,6 +15623,7 @@ "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { @@ -15620,18 +15642,6 @@ "inBundle": true, "license": "ISC" }, - "node_modules/npm/node_modules/hasown": { - "version": "2.0.2", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/npm/node_modules/hosted-git-info": { "version": "7.0.2", "dev": true, @@ -15664,7 +15674,7 @@ } }, "node_modules/npm/node_modules/https-proxy-agent": { - "version": "7.0.4", + "version": "7.0.5", "dev": true, "inBundle": true, "license": "MIT", @@ -15783,18 +15793,6 @@ "node": ">=14" } }, - "node_modules/npm/node_modules/is-core-module": { - "version": "2.13.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/npm/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "dev": true, @@ -15817,7 +15815,7 @@ "license": "ISC" }, "node_modules/npm/node_modules/jackspeak": { - "version": "3.1.2", + "version": "3.4.0", "dev": true, "inBundle": true, "license": "BlueOak-1.0.0", @@ -15893,12 +15891,12 @@ } }, "node_modules/npm/node_modules/libnpmdiff": { - "version": "6.1.3", + "version": "6.1.4", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^7.5.3", + "@npmcli/arborist": "^7.5.4", "@npmcli/installed-package-contents": "^2.1.0", "binary-extensions": "^2.3.0", "diff": "^5.1.0", @@ -15912,12 +15910,12 @@ } }, "node_modules/npm/node_modules/libnpmexec": { - "version": "8.1.2", + "version": "8.1.3", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^7.5.3", + "@npmcli/arborist": "^7.5.4", "@npmcli/run-script": "^8.1.0", "ci-info": "^4.0.0", "npm-package-arg": "^11.0.2", @@ -15933,12 +15931,12 @@ } }, "node_modules/npm/node_modules/libnpmfund": { - "version": "5.0.11", + "version": "5.0.12", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^7.5.3" + "@npmcli/arborist": "^7.5.4" }, "engines": { "node": "^16.14.0 || >=18.0.0" @@ -15971,12 +15969,12 @@ } }, "node_modules/npm/node_modules/libnpmpack": { - "version": "7.0.3", + "version": "7.0.4", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^7.5.3", + "@npmcli/arborist": "^7.5.4", "@npmcli/run-script": "^8.1.0", "npm-package-arg": "^11.0.2", "pacote": "^18.0.6" @@ -16078,7 +16076,7 @@ } }, "node_modules/npm/node_modules/minimatch": { - "version": "9.0.4", + "version": "9.0.5", "dev": true, "inBundle": true, "license": "ISC", @@ -16154,28 +16152,6 @@ "node": ">=8" } }, - "node_modules/npm/node_modules/minipass-json-stream": { - "version": "1.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "jsonparse": "^1.3.1", - "minipass": "^3.0.0" - } - }, - "node_modules/npm/node_modules/minipass-json-stream/node_modules/minipass": { - "version": "3.3.6", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/npm/node_modules/minipass-pipeline": { "version": "1.2.4", "dev": true, @@ -16334,13 +16310,12 @@ } }, "node_modules/npm/node_modules/normalize-package-data": { - "version": "6.0.1", + "version": "6.0.2", "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^7.0.0", - "is-core-module": "^2.8.1", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4" }, @@ -16418,7 +16393,7 @@ } }, "node_modules/npm/node_modules/npm-pick-manifest": { - "version": "9.0.1", + "version": "9.1.0", "dev": true, "inBundle": true, "license": "ISC", @@ -16446,16 +16421,16 @@ } }, "node_modules/npm/node_modules/npm-registry-fetch": { - "version": "17.0.1", + "version": "17.1.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/redact": "^2.0.0", + "jsonparse": "^1.3.1", "make-fetch-happen": "^13.0.0", "minipass": "^7.0.2", "minipass-fetch": "^3.0.0", - "minipass-json-stream": "^1.0.1", "minizlib": "^2.1.2", "npm-package-arg": "^11.0.0", "proc-log": "^4.0.0" @@ -16488,6 +16463,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/npm/node_modules/package-json-from-dist": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "BlueOak-1.0.0" + }, "node_modules/npm/node_modules/pacote": { "version": "18.0.6", "dev": true, @@ -16783,14 +16764,14 @@ } }, "node_modules/npm/node_modules/socks-proxy-agent": { - "version": "8.0.3", + "version": "8.0.4", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "agent-base": "^7.1.1", "debug": "^4.3.4", - "socks": "^2.7.1" + "socks": "^2.8.3" }, "engines": { "node": ">= 14" @@ -17242,9 +17223,12 @@ } }, "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -17589,6 +17573,11 @@ "node": ">=6" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==" + }, "node_modules/pacote": { "version": "17.0.6", "resolved": "https://registry.npmjs.org/pacote/-/pacote-17.0.6.tgz", @@ -17852,12 +17841,9 @@ } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", - "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", - "engines": { - "node": "14 || >=16.14" - } + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" }, "node_modules/path-to-regexp": { "version": "0.1.7", @@ -17997,9 +17983,9 @@ } }, "node_modules/pkg-dir/node_modules/yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", + "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", "engines": { "node": ">=12.20" }, @@ -18180,9 +18166,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", - "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz", + "integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -18530,9 +18516,9 @@ } }, "node_modules/qs": { - "version": "6.12.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz", - "integrity": "sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==", + "version": "6.12.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.3.tgz", + "integrity": "sha512-AWJm14H1vVaO/iNZ4/hO+HyaTehuy9nRqVdkTqlJt0HWvBiBIEXFmb4C0DGeYo3Xes9rrEW+TxHsaigCbN5ICQ==", "dev": true, "dependencies": { "side-channel": "^1.0.6" @@ -19123,9 +19109,9 @@ } }, "node_modules/rollup": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.0.tgz", - "integrity": "sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.19.0.tgz", + "integrity": "sha512-5r7EYSQIowHsK4eTZ0Y81qpZuJz+MUuYeqmmYmRMl1nwhdmbiYqt5jwzf6u7wyOzJgYqtCRMtVRKOtHANBz7rA==", "dependencies": { "@types/estree": "1.0.5" }, @@ -19137,22 +19123,22 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.18.0", - "@rollup/rollup-android-arm64": "4.18.0", - "@rollup/rollup-darwin-arm64": "4.18.0", - "@rollup/rollup-darwin-x64": "4.18.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.18.0", - "@rollup/rollup-linux-arm-musleabihf": "4.18.0", - "@rollup/rollup-linux-arm64-gnu": "4.18.0", - "@rollup/rollup-linux-arm64-musl": "4.18.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.18.0", - "@rollup/rollup-linux-riscv64-gnu": "4.18.0", - "@rollup/rollup-linux-s390x-gnu": "4.18.0", - "@rollup/rollup-linux-x64-gnu": "4.18.0", - "@rollup/rollup-linux-x64-musl": "4.18.0", - "@rollup/rollup-win32-arm64-msvc": "4.18.0", - "@rollup/rollup-win32-ia32-msvc": "4.18.0", - "@rollup/rollup-win32-x64-msvc": "4.18.0", + "@rollup/rollup-android-arm-eabi": "4.19.0", + "@rollup/rollup-android-arm64": "4.19.0", + "@rollup/rollup-darwin-arm64": "4.19.0", + "@rollup/rollup-darwin-x64": "4.19.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.19.0", + "@rollup/rollup-linux-arm-musleabihf": "4.19.0", + "@rollup/rollup-linux-arm64-gnu": "4.19.0", + "@rollup/rollup-linux-arm64-musl": "4.19.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.19.0", + "@rollup/rollup-linux-riscv64-gnu": "4.19.0", + "@rollup/rollup-linux-s390x-gnu": "4.19.0", + "@rollup/rollup-linux-x64-gnu": "4.19.0", + "@rollup/rollup-linux-x64-musl": "4.19.0", + "@rollup/rollup-win32-arm64-msvc": "4.19.0", + "@rollup/rollup-win32-ia32-msvc": "4.19.0", + "@rollup/rollup-win32-x64-msvc": "4.19.0", "fsevents": "~2.3.2" } }, @@ -19748,13 +19734,13 @@ } }, "node_modules/socks-proxy-agent": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.3.tgz", - "integrity": "sha512-VNegTZKhuGq5vSD6XNKlbqWhyt/40CgoEw8XxD6dhnm8Jq9IEa3nIa4HwnM8XOqU0CdB0BwWVXusqiFXfHB3+A==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.4.tgz", + "integrity": "sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==", "dependencies": { "agent-base": "^7.1.1", "debug": "^4.3.4", - "socks": "^2.7.1" + "socks": "^2.8.3" }, "engines": { "node": ">= 14" @@ -20606,9 +20592,9 @@ "dev": true }, "node_modules/throttle-debounce": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-5.0.0.tgz", - "integrity": "sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-5.0.2.tgz", + "integrity": "sha512-B71/4oyj61iNH0KeCamLuE2rmKuTO5byTOSVwECM5FA7TiAiAW+UqTKZ9ERueC4qvgSttUhdmq1mXC3kJqGX7A==", "engines": { "node": ">=12.22" } @@ -20891,6 +20877,17 @@ "node": ">=14.17" } }, + "node_modules/uint8array-extras": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/uint8array-extras/-/uint8array-extras-1.4.0.tgz", + "integrity": "sha512-ZPtzy0hu4cZjv3z5NW9gfKnNLjoz4y6uv4HlelAjDK7sY/xOkKZv9xK/WQpcsBB3jEybChz9DPC2U/+cusjJVQ==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -20995,9 +20992,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", - "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "funding": [ { "type": "opencollective", @@ -21594,18 +21591,10 @@ "url": "https://github.com/sponsors/fregante" } }, - "node_modules/webext-detect-page": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/webext-detect-page/-/webext-detect-page-4.2.1.tgz", - "integrity": "sha512-saiMkdwrjR5WIoW+clqFCZiGLqbe5Bp3udnPpsaFj6gL3uYTYhpkSjc7givG6gwE3g0oXLPIKOhhP52MrHdK+w==" - }, - "node_modules/webext-events": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/webext-events/-/webext-events-2.3.0.tgz", - "integrity": "sha512-3irAy/AUT7cxjH1KQ6ari9Dv5wkVbjMpF5Rid1hk7/3lm7ebQYvO4PoF3LwnJAhFjhVPO7jwJy5DcgHXjdmvNA==", - "dependencies": { - "webext-detect-page": "^5.0.1" - }, + "node_modules/webext-detect": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/webext-detect/-/webext-detect-5.0.2.tgz", + "integrity": "sha512-R/Jfape0ML8rxWxIlOk8qODkD9G7L6+HijSNktsAKY6ZWZwGGO0Mfxa5C3BcJkNwLBR5/44cGhpbGSf5dne3vQ==", "engines": { "node": ">=18" }, @@ -21613,10 +21602,13 @@ "url": "https://github.com/sponsors/fregante" } }, - "node_modules/webext-events/node_modules/webext-detect-page": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/webext-detect-page/-/webext-detect-page-5.0.1.tgz", - "integrity": "sha512-HizogkTmviA5qA1yODwewzz4ETSc+N9bYrK6pEVIAP2kAG139Sg+3DOJixRnFYl2gFVZn4PBReDZhgmFOEVbeg==", + "node_modules/webext-events": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webext-events/-/webext-events-3.0.1.tgz", + "integrity": "sha512-GbIR9VuO0RWFLTJmvJSOCfdkM83olWg6e0vEr4QglcyBuHedZlBitIrzSfLUSV5hHoh6sr6ah9Osl5xoHFQNiA==", + "dependencies": { + "webext-detect": "^5.0.2" + }, "engines": { "node": ">=18" }, @@ -21625,15 +21617,16 @@ } }, "node_modules/webext-options-sync": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/webext-options-sync/-/webext-options-sync-4.2.1.tgz", - "integrity": "sha512-d6aUkTuemyFSymCnTO0tbzgS3pUQ1SV07HHlYGXBNdBay1NP67ocG+fn5RWgqCpFqhIKAfd7vND3yhBE1kjmKw==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/webext-options-sync/-/webext-options-sync-4.2.3.tgz", + "integrity": "sha512-KyNzPJ5DRX32DIFGg3q8ToVyU2jPtnWBMqEYFiRcK9B73YsbGydmLxcsbnnrU0GXSeXfmVs5NuvPSmurv6UwCg==", "dependencies": { "dom-form-serializer": "^2.0.0", "lz-string": "^1.5.0", - "throttle-debounce": "^5.0.0", - "webext-detect-page": "^4.1.1", - "webext-events": "^2.0.0", + "throttle-debounce": "^5.0.2", + "uint8array-extras": "^1.2.0", + "webext-detect": "^5.0.2", + "webext-events": "^3.0.1", "webext-polyfill-kinda": "^1.0.2" }, "engines": { @@ -22098,9 +22091,9 @@ "dev": true }, "node_modules/ws": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", - "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", "engines": { "node": ">=10.0.0" }, @@ -23298,9 +23291,9 @@ } }, "node_modules/xo/node_modules/yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", + "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", "dev": true, "engines": { "node": ">=12.20" @@ -23386,9 +23379,9 @@ } }, "node_modules/zone.js": { - "version": "0.14.6", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.14.6.tgz", - "integrity": "sha512-vyRNFqofdaHVdWAy7v3Bzmn84a1JHWSjpuTZROT/uYn8I3p2cmo7Ro9twFmYRQDPhiYOV7QLk0hhY4JJQVqS6Q==" + "version": "0.14.8", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.14.8.tgz", + "integrity": "sha512-48uh7MnVp4/OQDuCHeFdXw5d8xwPqFTvlHgPJ1LBFb5GaustLSZV+YUH0to5ygNyGpqTsjpbpt141U/j3pCfqQ==" } } } diff --git a/angular/package.json b/angular/package.json index 40e6e33..ebafc64 100644 --- a/angular/package.json +++ b/angular/package.json @@ -1,6 +1,6 @@ { "name": "mist-extension", - "version": "3.8.1", + "version": "3.9.0", "description": "Generated with @larscom/ng-mist-extension", "scripts": { "start": "npm run watch", diff --git a/angular/src/app/pages/api/manage/manage.component.ts b/angular/src/app/pages/api/manage/manage.component.ts index f9eac7f..9ed6bef 100644 --- a/angular/src/app/pages/api/manage/manage.component.ts +++ b/angular/src/app/pages/api/manage/manage.component.ts @@ -67,12 +67,12 @@ export class ApiManageComponent implements OnInit { ngOnInit() { this._browser.getUrl - .then(tabUrl => { - this.tabUrl = tabUrl; - this.generateApiUrl() - }) - .error(error => { console.log(error) }) - .catch(error => { console.log(error) }) + .then(tabUrl => { + this.tabUrl = tabUrl; + this.generateApiUrl() + }) + .error(error => { console.log(error) }) + .catch(error => { console.log(error) }) } //////////////////////////////////////////////////////////////////////////////////// @@ -274,15 +274,22 @@ export class ApiManageComponent implements OnInit { if (detail && detail != "new") { // set QUICK LINK url = "https://api." + host + "/api/v1/sites/" + this.site_id + "/" + obj_name + "/search?mac=" + this.obj_id; - this.quick_links.push({ url: url, name: this.obj_name }); + this.quick_links.push({ url: url, name: obj_name.replace(/_/g, " ") }); } else { // set QUICK LINK url = "https://api." + host + "/api/v1/sites/" + this.site_id + "/" + obj_name + "/search"; if (extra_param) url += "?" + extra_param; - this.quick_links.push({ url: url, name: this.obj_name }); + this.quick_links.push({ url: url, name: obj_name.replace(/_/g, " ") }); } } + forgeSiteObjectStatsSearch(obj_name: string, host: string, extra_param: string | undefined = undefined): void { + let url = ""; + url = "https://api." + host + "/api/v1/sites/" + this.site_id + "/stats/" + obj_name + "/search" ; + if (extra_param) url += "?" + extra_param; + this.quick_links.push({ url: url, name: obj_name.replace(/_/g, " ") + " STATS" }); + } + forgeSiteObjectStats(obj_name: string, host: string, detail: string, extra_param: string | undefined = undefined): void { let url = ""; if (detail && detail != "new") { @@ -386,17 +393,17 @@ export class ApiManageComponent implements OnInit { } } } - forgeSiteDeviceSyntheticTest(detail: string | undefined, host: string, device_type:string): void { + forgeSiteDeviceSyntheticTest(detail: string | undefined, host: string, device_type: string): void { if (detail && this.obj_id) { - const mac = this.getMac(this.obj_id) - if (mac) { - this.quick_links.push({ - url: "https://api." + host + "/api/v1/sites/" + this.site_id + "/synthetic_test/search?mac=" + mac, - name: "Marvis Minis Test Results" - }) + const mac = this.getMac(this.obj_id) + if (mac) { + this.quick_links.push({ + url: "https://api." + host + "/api/v1/sites/" + this.site_id + "/synthetic_test/search?mac=" + mac, + name: "Marvis Minis Test Results" + }) + } } } - } //////////////////////////////////////////////////////////////////////////////////// ////////////////////// ORG OBJ FUNCTION forgeOrg(host: string) { @@ -409,6 +416,9 @@ export class ApiManageComponent implements OnInit { }, { url: "https://api." + host + "/api/v1/orgs/" + this.org_id + "/ssos", name: "org ssos" + }, { + url: "https://api." + host + "/api/v1/orgs/" + this.org_id + "/ssoroles", + name: "org sso roles" }, { url: "https://api." + host + "/api/v1/orgs/" + this.org_id + "/webhooks", name: "org webhooks" @@ -679,6 +689,8 @@ export class ApiManageComponent implements OnInit { this.forgeSiteObjectEvents("devices", res?.groups?.obj, res?.groups?.host, res?.groups?.detail); this.forgeSiteDiscoveredSwitchUrl(res?.groups?.host); this.forgeSiteDeviceSyntheticTest(res?.groups?.detail, res?.groups?.host, res?.groups?.obj); + this.forgeSiteObjectSearch("wired_clients", res?.groups?.host, null, "last_device_mac=" + this.obj_id.split("-")[4]); + this.forgeSiteObjectStatsSearch("switch_ports", res?.groups?.host, "mac=" + this.obj_id.split("-")[4]); } break; case "assets": @@ -810,7 +822,7 @@ export class ApiManageComponent implements OnInit { } res.groups[key] = value; }) - if (timeInterval) + if (timeInterval) res.groups["end"] = this.process_time_interval(end, timeInterval); } @@ -1035,7 +1047,7 @@ export class ApiManageComponent implements OnInit { this.site_id = res?.groups?.site_id; let query_params = []; let query_params_string = ""; - if (res?.groups?.start) query_params.push("start="+ res?.groups?.start); + if (res?.groups?.start) query_params.push("start=" + res?.groups?.start); if (res?.groups?.end) query_params.push("end=" + res?.groups?.end); if (query_params) query_params_string = "?" + query_params.join("&"); if (this.site_id) { diff --git a/angular/src/assets/api.json b/angular/src/assets/api.json index bc3e675..06bb375 100644 --- a/angular/src/assets/api.json +++ b/angular/src/assets/api.json @@ -1 +1 @@ -{"paths": {"api": {"paths": {"v1": {"paths": {"const": {"paths": {"alarm_defs": {"specs": {"get": {"description": "Get List of brief definitions of all the supported alarm types. The example field contains an example payload as you would recieve in the alarm webhook output.", "operationId": "listAlarmDefinitions", "tags": ["Constants"]}}}, "ap_channels": {"specs": {"get": {"description": "Get List of List of Available channels per country code", "operationId": "listApChannels", "parameters": [{"$ref": "#/components/parameters/country_code"}], "tags": ["Constants"]}}}, "ap_led_status": {"specs": {"get": {"description": "Get List of AP LED definition", "operationId": "listApLedDefinition", "tags": ["Constants"]}}}, "applications": {"specs": {"get": {"description": "Get List of a list of applications that Juniper-Mist APs recognize", "operationId": "listApplications", "tags": ["Constants"]}}}, "client_events": {"specs": {"get": {"description": "Get List of List of available Client Events", "operationId": "listClientEventsDefinitions", "tags": ["Constants"]}}}, "countries": {"specs": {"get": {"description": "Get List of List of available Country Codes", "operationId": "listCountryCodes", "tags": ["Constants"]}}}, "default_gateway_config": {"specs": {"get": {"description": "Generate Default Gateway Config", "operationId": "getGatawayDefaultConfig", "parameters": [{"description": "model the default gateway config is intended (as the default LAN/WAN port can differ)", "in": "query", "name": "model", "required": true, "schema": {"type": "string"}}, {"description": "whether the config is intended for HA", "in": "query", "name": "ha", "schema": {"type": "string"}}], "tags": ["Constants"]}}}, "device_events": {"specs": {"get": {"description": "Get list of available Device Events", "operationId": "listDeviceEventsDefinitions", "tags": ["Constants"]}}}, "device_models": {"specs": {"get": {"description": "Get list of AP device models for the Mist Site", "operationId": "listDeviceModels", "tags": ["Constants"]}}}, "gateway_applications": {"specs": {"get": {"description": "Get the full list of applications that we recognize", "operationId": "listGatewayApplications", "tags": ["Constants"]}}}, "insight_metrics": {"specs": {"get": {"description": "List Insight Metrics", "operationId": "listInsightMetrics", "tags": ["Constants"]}}}, "languages": {"specs": {"get": {"description": "Get List of Languages", "operationId": "listSiteLanguages", "tags": ["Constants"]}}}, "license_types": {"specs": {"get": {"description": "Get License Types\n", "operationId": "getLicenseTypes", "tags": ["Constants"]}}}, "mxedge_events": {"specs": {"get": {"description": "Get List of available MX Edge Events", "operationId": "listMxEdgeEventsDefinitions", "tags": ["Constants"]}}}, "mxedge_models": {"specs": {"get": {"description": "Get List of available Mx Edge models", "operationId": "listMxEdgeModels", "tags": ["Constants"]}}}, "nac_events": {"specs": {"get": {"description": "Get List of List of available NAC Client Events", "operationId": "listNacEventsDefinitions", "tags": ["Constants"]}}}, "otherdevice_events": {"specs": {"get": {"description": "Supported Events Type\n", "operationId": "listOtherDeviceEventsDefinitions", "tags": ["Constants"]}, "parameters": []}}, "otherdevice_models": {"specs": {"get": {"description": "Supported OtherDevice Models\n", "operationId": "listSupportedOtherDeviceModels", "tags": ["Constants"]}}}, "traffic_types": {"specs": {"get": {"description": "Get List of identified traffic", "operationId": "listTrafficTypes", "tags": ["Constants"]}}}}}, "installer": {"paths": {"orgs": {"paths": {"{org_id}": {"paths": {"alarmtemplates": {"specs": {"get": {"description": "Get List of alarm templates", "operationId": "listInstallerAlarmTemplates", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "deviceprofiles": {"specs": {"get": {"description": "Get List of Device Profiles", "operationId": "listInstallerDeviceProfiles", "parameters": [], "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "devices": {"specs": {"get": {"description": "Get List of recently claimed devices", "operationId": "listInstallerListOfRenctlyClaimedDevices", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "This mirrors `POST /api/v1/orgs/{org_id}/inventory` (see Inventory API)", "operationId": "claimInstallerDevices", "tags": ["Installer"]}}, "paths": {"{device_mac}": {"specs": {"delete": {"description": "Unassign recently claimed devices", "operationId": "unassignInstallerRecentlyClaimedDevice", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/device_mac"}], "put": {"description": "Provision or Replace a device \n\nIf replacing_mac is in the request payload, other attributes are ignored, we attempt to replace existing device (with mac replacing_mac) with the inventory device being configured. The replacement device must be in the inventory but not assigned, and the replacing_mac device must be assigned to a site, and satisfy grace period requirements. The Device replaced will become unassigned.", "operationId": "provisionInstallerDevices", "tags": ["Installer"]}}, "paths": {"locate": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/device_mac"}], "post": {"description": "Locate a Device by blinking it\u2019s LED, it\u2019s a persisted state that has to be stopped by calling Stop Locating API", "operationId": "startInstallerLocateDevice", "tags": ["Installer"]}}}, "unlocate": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/device_mac"}], "post": {"description": "Stop it", "operationId": "stopInstallerLocateDevice", "tags": ["Installer"]}}}, "{image_name}": {"specs": {"delete": {"description": "delete image", "operationId": "deleteInstallerDeviceImage", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/image_name"}, {"$ref": "#/components/parameters/device_mac"}], "post": {"description": "Add image", "operationId": "addInstallerDeviceImage", "tags": ["Installer"]}}}}}}}, "rftemplates": {"specs": {"get": {"description": "Get List of RF Templates", "operationId": "listInstallerRfTemplatesNames", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "secpolicies": {"specs": {"get": {"description": "Get List of Secuity Policies", "operationId": "listInstallerSecPolicies", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "sitegroups": {"specs": {"get": {"description": "Get List of Site Groups", "operationId": "listInstallerSiteGroups", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "sites": {"specs": {"get": {"description": "Get List of Sites", "operationId": "listInstallerSites", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"{site_name}": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/site_name"}], "put": {"description": "Often the Installers are asked to assign Devices to Sites. The Sites can either be pre-created or created/modified by the Installer. If this is an update, the same grace period also applies.", "operationId": "createOrUpdateInstallerSites", "tags": ["Installer"]}}, "paths": {"maps": {"specs": {"get": {"description": "Get List of Maps", "operationId": "listInstallerMaps", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/site_name"}]}, "paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/site_name"}], "post": {"description": "Import data from files is a multipart POST which has an file, an optional json, and an optional csv, to create floorplan, assign & place ap if name or mac matches", "operationId": "importInstallerMap", "tags": ["Installer"]}}}, "{map_id}": {"specs": {"delete": {"description": "Delete Map", "operationId": "deleteInstallerMap", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/site_name"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "Create a MAP", "operationId": "createInstallerMap", "tags": ["Installer"]}, "put": {"description": "Update map", "operationId": "updateInstallerMap", "tags": ["Installer"]}}}}}}}}}}}}}, "sites": {"paths": {"{site_name}": {"paths": {"optimize": {"specs": {"get": {"description": "After installation is considered complete (APs are placed on maps, all powered up), you can trigger an optimize operation where RRM will kick in (and maybe other things in the future) before it\u2019s automatically scheduled.", "operationId": "optimizeInstallerRrm", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/site_name"}]}}}}}}}}, "invite": {"paths": {"verify": {"paths": {"{token}": {"specs": {"parameters": [{"$ref": "#/components/parameters/token"}], "post": {"description": "**Note**: another call to ```GET /api/v1/self``` is required to see the new set of privileges", "operationId": "verifyAdminInvite", "tags": ["Admin"]}}}}}}}, "login": {"specs": {"post": {"description": "Log in with email/password.\nWhen 2FA is enabled, there are two ways to login:\n1. login with two_factor token (with Google Authenticator, etc) \n2. login with email/password, generate the token, and use /login/two_factor with the token", "operationId": "login", "tags": ["Login"]}}, "paths": {"lookup": {"specs": {"post": {"description": "Login Lookup", "operationId": "lookup", "tags": ["Login"]}}}, "oauth": {"paths": {"{provider}": {"specs": {"delete": {"description": "Unlink OAuth2 Provider", "operationId": "unlinkOAuth2Provider", "tags": ["Login With OAuth2"]}, "get": {"description": "Obtain Authorization URL for Login", "operationId": "getOAuth2AuthorizationUrlForLogin", "parameters": [{"in": "query", "name": "forward", "schema": {"example": "http://manage.mist.com/oauth/callback.html", "type": "string"}}], "tags": ["Login With OAuth2"]}, "parameters": [{"in": "path", "name": "provider", "required": true, "schema": {"type": "string"}}], "post": {"description": "Login via OAuth2", "operationId": "loginOAuth2", "tags": ["Login With OAuth2"]}}}}}, "two_factor": {"specs": {"post": {"description": "Send 2FA Code", "operationId": "twoFactor", "tags": ["Login"]}}}}}, "logout": {"specs": {"post": {"description": "Logout", "operationId": "logout", "tags": ["Login"]}}}, "mobile": {"paths": {"verify": {"paths": {"{secret}": {"specs": {"parameters": [{"$ref": "#/components/parameters/secret"}], "post": {"description": "Verify secret", "operationId": "activateSdkInvite", "tags": ["Mobile"]}}}}}}}, "msps": {"specs": {"post": {"description": "Create MSP account", "operationId": "createMsp", "tags": ["Msps"]}}, "paths": {"{msp_id}": {"specs": {"delete": {"description": "Deleting MSP removes the MSP and OrgGroup under the MSP as well as all privileges associated with them. It does not remove any Org or Admins", "operationId": "deleteMsp", "tags": ["Msps"]}, "get": {"description": "Get MSP Detail", "operationId": "getMspDetails", "tags": ["Msps"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}], "put": {"description": "Update MSP", "operationId": "updateMsp", "tags": ["Msps"]}}, "paths": {"admins": {"specs": {"get": {"description": "Get List of MSP Admins", "operationId": "listMspAdmins", "tags": ["Msps Admins"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}, "paths": {"{admin_id}": {"specs": {"delete": {"description": "This removes all privileges this admin has against the MSP. This goes deep all the way to the sites", "operationId": "revokeMspAdmin", "tags": ["Msps Admins"]}, "get": {"description": "Get MSP Admins", "operationId": "getMspAdmin", "tags": ["Msps Admins"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/admin_id"}], "put": {"description": "Update MSP Admin", "operationId": "updateMspAdmin", "tags": ["Msps Admins"]}}}}}, "claim": {"specs": {"parameters": [{"$ref": "#/components/parameters/msp_id"}], "post": {"description": "Claim an Order by Activation Code", "operationId": "claimMspLicence", "tags": ["Msps Licenses"]}}}, "insights": {"paths": {"{metric}": {"specs": {"get": {"description": "Get MSP SLEs (all/worst Orgs ...)", "operationId": "getMspSle", "parameters": [{"description": "see /api/v1/const/insight_metrics for more details", "in": "query", "name": "sle", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/interval"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}], "tags": ["Msps SLEs"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/metric"}]}}}}, "inventory": {"paths": {"{device_mac}": {"specs": {"get": {"description": "Get Inventoy By device MAC address", "operationId": "getMspInventoryByMac", "tags": ["Msps Inventory"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/device_mac"}]}}}}, "invites": {"specs": {"parameters": [{"$ref": "#/components/parameters/msp_id"}], "post": {"description": "Invite MSP Admin\n\n**Note**: An email will also be sent to the user with a link to https://manage.mist.com/verify/invite?token=:token", "operationId": "inviteMspAdmin", "tags": ["Msps Invites"]}}, "paths": {"{invite_id}": {"specs": {"delete": {"description": "Delete admin invite", "operationId": "uninviteMspAdmin", "tags": ["Msps Invites"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/invite_id"}], "put": {"description": "Update MSP admin invite", "operationId": "updateMspAdminInvite", "tags": ["Msps Invites"]}}}}}, "licenses": {"specs": {"get": {"description": "Get List of Msp Licenses", "operationId": "listMspLicenses", "tags": ["Msps Licenses"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}], "put": {"description": "Move or Delete MSP Licenses", "operationId": "moveOrDeleteMspLicenseToAnotherOrg", "tags": ["Msps Licenses"]}}}, "logo": {"specs": {"delete": {"description": "Delete MSP Logo", "operationId": "deleteMspLogo", "tags": ["Msps Logo"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}], "post": {"description": "Upload Logo (only for advanced msp tier)", "operationId": "postMspLogo", "tags": ["Msps Logo"]}}}, "logs": {"specs": {"get": {"description": "Get list of change logs for the current MSP", "operationId": "listMspLogs", "parameters": [{"description": "site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "admin name or email", "in": "query", "name": "admin_name", "schema": {"type": "string"}}, {"description": "message", "in": "query", "name": "message", "schema": {"type": "string"}}, {"description": "sort order", "in": "query", "name": "sort", "schema": {"enum": ["timestamp", "-timestamp", "site_id", "admin_id"], "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Msps Logs"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}, "paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Audit Logs", "operationId": "countMspLogs", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "admin_name", "enum": ["admin_id", "admin_name", "message", "org_id"], "type": "string"}}], "tags": ["Msps Logs"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}}}}, "orggroups": {"specs": {"get": {"description": "Get List of MSP Org Groups", "operationId": "listMspOrgGroups", "tags": ["Msps Org Groups"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}], "post": {"description": "Create MSP Org Group", "operationId": "createMspOrgGroup", "tags": ["Msps Org Groups"]}}, "paths": {"{orggroup_id}": {"specs": {"delete": {"description": "Delete MSP Org Group", "operationId": "deleteMspOrgGroup", "tags": ["Msps Org Groups"]}, "get": {"description": "Get MSP Org Group Details", "operationId": "getMspOrgGroup", "tags": ["Msps Org Groups"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/orggroup_id"}], "put": {"description": "Update MSP Org Group", "operationId": "updateMspOrgGroup", "tags": ["Msps Org Groups"]}}}}}, "orgs": {"specs": {"get": {"description": "Get List of MSP Orgs", "operationId": "listMspOrgs", "tags": ["Msps Orgs"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}], "post": {"description": "Create an Org under MSP", "operationId": "createMspOrg", "tags": ["Msps Orgs"]}, "put": {"description": "Assign or Unassign Orgs to an MSP account", "operationId": "manageMspOrgs", "tags": ["Msps Orgs"]}}, "paths": {"search": {"specs": {"get": {"description": "Search Org in MSP", "operationId": "searchMspOrgs", "parameters": [{"$ref": "#/components/parameters/name"}, {"description": "org id", "in": "query", "name": "org_id", "schema": {"format": "uuid", "type": "string"}}, {"description": "if this org has sufficient subscription", "in": "query", "name": "sub_insufficient", "schema": {"type": "boolean"}}, {"description": "if this org is under trial period", "in": "query", "name": "trial_enabled", "schema": {"type": "boolean"}}, {"description": "a list of types that enabled by usage", "in": "query", "name": "usage_types", "schema": {"items": {"type": "string"}, "type": "array"}}, {"$ref": "#/components/parameters/limit"}], "tags": ["Msps Orgs"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}}, "{org_id}": {"specs": {"delete": {"description": "delete MSP Org", "operationId": "deleteMspOrg", "tags": ["Msps Orgs"]}, "get": {"description": "Get MSP Org Details", "operationId": "getMspOrg", "tags": ["Msps Orgs"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/org_id"}], "put": {"description": "Update MSP Org", "operationId": "updateMspOrg", "tags": ["Msps Orgs"]}}}}}, "search": {"specs": {"get": {"description": "Search in MSP Orgs", "operationId": "searchMspOrgGroup", "parameters": [{"description": "orgs", "example": "orgs", "in": "query", "name": "type", "required": true, "schema": {"enum": ["orgs"], "type": "string"}}, {"$ref": "#/components/parameters/q"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Msps Org Groups"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}}, "ssoroles": {"specs": {"get": {"description": "Get List of MSP SSO Roles", "operationId": "listMspSsoRoles", "tags": ["Msps SSO Roles"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}], "post": {"description": "Create MSP Role", "operationId": "createMspSsoRole", "tags": ["Msps SSO Roles"]}}, "paths": {"{ssorole_id}": {"specs": {"delete": {"description": "Delete MSP SSO Roles", "operationId": "deleteMspSsoRole", "tags": ["Msps SSO Roles"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/ssorole_id"}], "put": {"description": "Update SSO Role", "operationId": "updateMspSsoRole", "tags": ["Msps SSO Roles"]}}}}}, "ssos": {"specs": {"get": {"description": "List MSP SSO Configs", "operationId": "listMspSsos", "tags": ["Msps SSO"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}], "post": {"description": "Create MSP SSO profile", "operationId": "createMspSso", "tags": ["Msps SSO"]}}, "paths": {"{sso_id}": {"specs": {"delete": {"description": "Delete MSP SSO Config", "operationId": "deleteMspSso", "tags": ["Msps SSO"]}, "get": {"description": "Get MSP SSO Config", "operationId": "getMspSso", "tags": ["Msps SSO"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/sso_id"}], "put": {"description": "Update MSP SSO config", "operationId": "updateMspSso", "tags": ["Msps SSO"]}}, "paths": {"failures": {"specs": {"get": {"description": "Get List of MSP SSO Latest Failures", "operationId": "listMspSsoLatestFailures", "tags": ["Msps SSO"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/sso_id"}]}}, "metadata": {"specs": {"get": {"description": "Get MSP SSO SAML Metadata", "operationId": "getMspSsoSamlMetadata", "tags": ["Msps SSO"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/sso_id"}]}}, "metadata.xml": {"specs": {"get": {"description": "Download MSP SSO SAML Metadata\n\nExample of metadata.xml:\n```xml\n\n \n \n urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n \n \n Mist\n \n \n \n \n \n\n```", "operationId": "downloadMspSsoSamlMetadata", "tags": ["Msps SSO"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/sso_id"}]}}}}}}, "stats": {"paths": {"licenses": {"specs": {"get": {"description": "Get List of MSP Licences", "operationId": "listMspOrgLicenses", "parameters": [], "tags": ["Msps Stats"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}}, "orgs": {"specs": {"get": {"description": "Get List of MSP Orgs Stats", "operationId": "listMspOrgStats", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Msps Stats"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}}}}, "suggestion": {"paths": {"count": {"specs": {"get": {"description": "Count Marvis actions\n", "operationId": "countMspsMarvisActions", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "org_id", "enum": ["org_id", "status"], "type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Msps Marvis"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}}}}, "tickets": {"specs": {"get": {"description": "Get List of Tickets of a MSP", "operationId": "listMspTickets", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Msps Tickets"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}, "paths": {"count": {"specs": {"get": {"description": "Count tickets", "operationId": "countMspTickets", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "status", "enum": ["status", "type", "org_id"], "type": "string"}}], "tags": ["Msps Tickets"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}}}}}}}}, "orgs": {"specs": {"post": {"description": "Org admin can invite people to manage the org. Furthermore, he can dictate the level of security those accounts are. The check is enforced when the invited admin tries to \u201caccept\u201d the invitation and every time the admin tries to login", "operationId": "createOrg", "tags": ["Orgs"]}}, "paths": {"{org_id}": {"specs": {"delete": {"description": "Delete Org", "operationId": "deleteOrg", "tags": ["Orgs"]}, "get": {"description": "Get Organization information", "operationId": "getOrg", "tags": ["Orgs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "put": {"description": "Update Org", "operationId": "updateOrg", "tags": ["Orgs"]}}, "paths": {"128routers": {"paths": {"register_cmd": {"specs": {"get": {"description": "128T devices can be managed/adopted by Mist.", "operationId": "getOrg128TRegistrationCommands", "tags": ["Orgs 128T"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "admins": {"specs": {"get": {"description": "Get List of people who can manage the Site/Org under the Org", "operationId": "listOrgAdmins", "tags": ["Orgs Admins"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"{admin_id}": {"specs": {"delete": {"description": "This removes all privileges this admin has against the org", "operationId": "revokeOrgAdmin", "tags": ["Orgs Admins"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/admin_id"}], "put": {"description": "Invite Org Admin", "operationId": "updateOrgAdmin", "tags": ["Orgs Admins"]}}}}}, "alarms": {"paths": {"ack": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Ack multiple Org Alarms", "operationId": "multiAckOrgAlarms", "tags": ["Orgs Alarms"]}}}, "ack_all": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Ack all Org Alarms\n\n**N.B.**: Batch size for multiple alarm ack and unack has to be less or or equal to 1000.", "operationId": "ackOrgAllAlarms", "tags": ["Orgs Alarms"]}}}, "count": {"specs": {"get": {"description": "Count Org Alarms", "operationId": "countOrgAlarms", "parameters": [{"in": "query", "name": "distinct", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Alarms"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org Alarms", "operationId": "searchOrgAlarms", "parameters": [{"in": "query", "name": "site_id", "schema": {"type": "string"}}, {"in": "query", "name": "type", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Alarms"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "unack": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Unack multiple Org Alarms", "operationId": "multiUnackOrgAlarms", "tags": ["Orgs Alarms"]}}}, "unack_all": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Unack all Org Alarms\n\n**N.B.**: Batch size for multiple alarm ack and unack has to be less or or equal to 1000.", "operationId": "unackOrgAllArlarms", "tags": ["Orgs Alarms"]}}}, "{alarm_id}": {"paths": {"ack": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/alarm_id"}], "post": {"description": "Ack Org Alarm", "operationId": "ackOrgAlarm", "tags": ["Orgs Alarms"]}}}}}}}, "alarmtemplates": {"specs": {"get": {"description": "Get List of Org Alarm Templates", "operationId": "listOrgAlarmTemplates", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Alarm Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Available rules can be found in Orgs>Consts>getAlarmDefs\n\nThe delivery dict is only required if different from the template delivery settings.", "operationId": "createOrgAlarmTemplate", "tags": ["Orgs Alarm Templates"]}}, "paths": {"suppress": {"specs": {"delete": {"description": "Un-Suppress Suppressed Alarms", "operationId": "unsuppressOrgSuppressedAlarms", "tags": ["Orgs Alarm Templates"]}, "get": {"description": "Get List of Org Alarms Currently Suppressed", "operationId": "listOrgSuppressedAlarms", "parameters": [{"in": "query", "name": "scope", "schema": {"default": "site", "enum": ["org", "site"], "type": "string"}}], "tags": ["Orgs Alarm Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "In certain situations, for example, scheduled maintenance, you may want to suspend alarms to be triggered against Sites for a period of time.", "operationId": "suppressOrgAlarm", "tags": ["Orgs Alarm Templates"]}}}, "{alarmtemplate_id}": {"specs": {"delete": {"description": "Delete Org Alarm Template", "operationId": "deleteOrgAlarmTemplate", "tags": ["Orgs Alarm Templates"]}, "get": {"description": "Get Org Alarm Template Details", "operationId": "getOrgAlarmTemplate", "tags": ["Orgs Alarm Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/alarmtemplate_id"}], "put": {"description": "Update Org Alarm Template", "operationId": "updateOrgAlarmTemplate", "tags": ["Orgs Alarm Templates"]}}}}}, "apitokens": {"specs": {"get": {"description": "Get List of Org API Tokens", "operationId": "listOrgApiTokens", "tags": ["Orgs API Tokens"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org API Token\nNote that the token key is only available during creation time.", "operationId": "createOrgApiToken", "tags": ["Orgs API Tokens"]}}, "paths": {"{apitoken_id}": {"specs": {"delete": {"description": "Delete Org API Token", "operationId": "deleteOrgApiToken", "tags": ["Orgs API Tokens"]}, "get": {"description": "Get Org API Token", "operationId": "getOrgApiToken", "tags": ["Orgs API Tokens"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/apitoken_id"}], "put": {"description": "Update Org API Token", "operationId": "updateOrgApiToken", "tags": ["Orgs API Tokens"]}}}}}, "aptemplates": {"specs": {"get": {"description": "Get List of Org AP Templates", "operationId": "listOrgAptemplates", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs AP Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org AP Template", "operationId": "createOrgAptemplate", "tags": ["Orgs AP Templates"]}}, "paths": {"{aptemplate_id}": {"specs": {"delete": {"description": "Delete existing AP Template", "operationId": "deleteOrgAptemplate", "tags": ["Orgs AP Templates"]}, "get": {"description": "Get AP Template", "operationId": "getOrgAptemplate", "tags": ["Orgs AP Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/aptemplate_id"}], "put": {"description": "Update AP Template", "operationId": "updateOrgAptemplate", "tags": ["Orgs AP Templates"]}}}}}, "assetfilters": {"specs": {"get": {"description": "Get List of Org BLE asset filters. \nEach asset filter in the list operates independently. For a filter object to match an asset, all of the filter properties must match (logical \u2018AND\u2019 of each filter property). For example, the \u201cVisitor Tags\u201d filter below will match an asset when both the \u201cibeacon\\_uuid\u201d and \u201cibeacon_major\u201d properties match the asset. All non-matching assets are ignored.", "operationId": "listOrgAssetFilters", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Asset Filters"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Asset Filter\n\nCreates a single BLE asset filter for the given site. Any subset of filter properties can be included in the filter. A matching asset must meet the conditions of all given filter properties (logical \u2018AND\u2019).", "operationId": "createOrgAssetFilters", "tags": ["Orgs Asset Filters"]}}, "paths": {"{assetfilter_id}": {"specs": {"delete": {"description": "Deletes an existing BLE asset filter for the given site.", "operationId": "deleteOrgAssetFilter", "tags": ["Orgs Asset Filters"]}, "get": {"description": "Get Org Asset Filter Details", "operationId": "getOrgAssetFilter", "tags": ["Orgs Asset Filters"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/assetfilter_id"}], "put": {"description": "Updates an existing BLE asset filter for the given site.", "operationId": "updateOrgAssetFilters", "tags": ["Orgs Asset Filters"]}}}}}, "assets": {"specs": {"get": {"description": "Get List of Org Assets", "operationId": "listOrgAssets", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Assets"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Asset", "operationId": "createOrgAsset", "tags": ["Orgs Assets"]}}, "paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Impert Org Assets. \n\nIt can be done via a CSV file or a JSON payload.\n\n#### CSV File Format\n```csv\nname,mac\n\"asset_name\",5c5b53010101\n``` ", "operationId": "importOrgAssets", "tags": ["Orgs Assets"]}}}, "{asset_id}": {"specs": {"delete": {"description": "Delete Org Asset", "operationId": "deleteOrgAsset", "tags": ["Orgs Assets"]}, "get": {"description": "Get Org Asset Details", "operationId": "getOrgAsset", "tags": ["Orgs Assets"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/asset_id"}], "put": {"description": "Update Org Asset", "operationId": "updateOrgAsset", "tags": ["Orgs Assets"]}}}}}, "call": {"paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count Org Call Events", "operationId": "countOrgCallEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"enum": ["type", "app"], "type": "string"}}], "tags": ["Orgs Calls"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org Call Events", "operationId": "searchOrgCallEvents", "parameters": [{"description": "Event Type. See [listCallEventsDefinitions](/#operation/listCallEventsDefinitions)", "in": "query", "name": "type", "schema": {"type": "string"}}, {"in": "query", "name": "ap", "schema": {"type": "string"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}, {"in": "query", "name": "app", "schema": {"type": "string"}}], "tags": ["Orgs Calls"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}}}, "cert": {"specs": {"get": {"description": "Get Org Certificates", "operationId": "getOrgCertificates", "tags": ["Orgs Cert"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"regenerate": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Clear Org Certificates", "operationId": "clearOrgCertificates", "tags": ["Orgs Cert"]}}}}}, "claim": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Claim Org licenses / activation codes", "operationId": "claimOrgLicense", "tags": ["Orgs Licenses"]}}}, "clients": {"paths": {"count": {"specs": {"get": {"description": "Count Org Wireless Clients", "operationId": "countOrgWirelessClients", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "device", "enum": ["mac", "hostname", "device", "os", "model", "ap", "vlan", "ssid", "ip"], "type": "string"}}, {"description": "partial / full MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "device type, e.g. Mac, Nvidia, iPhone", "in": "query", "name": "device", "schema": {"type": "string"}}, {"description": "os, e.g. Sierra, Yosemite, Windows 10", "in": "query", "name": "os", "schema": {"type": "string"}}, {"description": "model, e.g. \u201cMBP 15 late 2013\u201d, 6, 6s, \u201c8+ GSM\u201d", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "AP mac where the client has connected to", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "vlan", "in": "query", "name": "vlan", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/ip"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "events": {"paths": {"search": {"specs": {"get": {"description": "Get Org Clients Events", "operationId": "searchOrgWirelessClientEvents", "parameters": [{"description": "event type, e.g. MARVIS_EVENT_CLIENT_FBT_FAILURE", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "for assoc/disassoc events", "in": "query", "name": "reason_code", "schema": {"type": "integer"}}, {"description": "SSID Name", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "802.11 standard", "in": "query", "name": "proto", "schema": {"enum": ["b", "g", "n", "ac", "ax", "a"], "type": "string"}}, {"description": "24 / 5", "in": "query", "name": "band", "schema": {"enum": ["24", "5"], "type": "string"}}, {"description": "wlan_id", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"description": "nacrule_id", "in": "query", "name": "nacrule_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "search": {"specs": {"get": {"description": "Search Org Wireless Clients", "operationId": "searchOrgWirelessClients", "parameters": [{"description": "Site ID", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "partial / full MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/ip"}, {"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "device type, e.g. Mac, Nvidia, iPhone", "in": "query", "name": "device", "schema": {"type": "string"}}, {"description": "os, e.g. Sierra, Yosemite, Windows 10", "in": "query", "name": "os", "schema": {"type": "string"}}, {"description": "model, e.g. \u201cMBP 15 late 2013\u201d, 6, 6s, \u201c8+ GSM\u201d", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "AP mac where the client has connected to", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/psk_id_query"}, {"description": "PSK Name", "in": "query", "name": "psk_name", "schema": {"type": "string"}}, {"description": "vlan", "in": "query", "name": "vlan", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "partial / full MAC address, hostname, username, psk_name or ip", "in": "query", "name": "text", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "sessions": {"paths": {"count": {"specs": {"get": {"description": "Count Org Wireless Clients Sessions", "operationId": "countOrgWirelessClientsSessions", "parameters": [{"in": "query", "name": "distinct", "required": true, "schema": {"default": "device", "enum": ["ssid", "ap", "ip", "vlan", "hostname", "os", "model", "device"], "type": "string"}}, {"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "5 / 24", "in": "query", "name": "band", "schema": {"enum": ["24", "5"], "type": "string"}}, {"description": "E.g. \u201cMac\u201d, \u201ciPhone\u201d, \u201cApple watch\u201d", "in": "query", "name": "client_family", "schema": {"type": "string"}}, {"description": "E.g. \u201cApple\u201d", "in": "query", "name": "client_manufacture", "schema": {"type": "string"}}, {"description": "E.g. \u201c8+\u201d, \u201cXS\u201d", "in": "query", "name": "client_model", "schema": {"type": "string"}}, {"description": "E.g. \u201cMojave\u201d, \u201cWindows 10\u201d, \u201cLinux\u201d", "in": "query", "name": "client_os", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "wlan_id", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org Wireless Clients Sessions", "operationId": "searchOrgWirelessClientSessions", "parameters": [{"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "5 / 24", "in": "query", "name": "band", "schema": {"enum": ["24", "5"], "type": "string"}}, {"description": "E.g. \u201cMac\u201d, \u201ciPhone\u201d, \u201cApple watch\u201d", "in": "query", "name": "client_family", "schema": {"type": "string"}}, {"description": "E.g. \u201cApple\u201d", "in": "query", "name": "client_manufacture", "schema": {"type": "string"}}, {"description": "E.g. \u201c8+\u201d, \u201cXS\u201d", "in": "query", "name": "client_model", "schema": {"type": "string"}}, {"description": "Username", "in": "query", "name": "client_username", "schema": {"type": "string"}}, {"description": "E.g. \u201cMojave\u201d, \u201cWindows 10\u201d, \u201cLinux\u201d", "in": "query", "name": "client_os", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "wlan_id", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/psk_id_query"}, {"description": "PSK Name", "in": "query", "name": "psk_name", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "{client_mac}": {"paths": {"coa": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/client_mac"}], "post": {"description": "Trigger a CoA (change of authorization) against a client", "operationId": "reauthOrgDot1xWirelessClient", "tags": ["Orgs Clients - Wireless"]}}}}}}}, "clone": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create an Org by cloning from another one. Org Settings, Templates, Wxlan Tags, Wxlan Tunnels, Wxlan Rules, Org Wlans will be copied. Sites and Site Groups will not be copied, and therefore, the copied template will not be applied to any site/sitegroups.", "operationId": "cloneOrg", "tags": ["Orgs"]}}}, "crl": {"specs": {"get": {"description": "Get Org CRL File", "operationId": "getOrgCrlFile", "tags": ["Orgs CRL"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"truncate": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "By default, all certs used by recently unclaimed devices within 9 month will be included in CRL. If the list grows too big, you can truncate it", "operationId": "truncateOrgCrlFile", "tags": ["Orgs Cert"]}}}}}, "deviceprofiles": {"specs": {"get": {"description": "Get List of Org Device Profiles", "operationId": "listOrgDeviceProfiles", "parameters": [{"in": "query", "name": "type", "schema": {"default": "ap", "enum": ["ap", "switch", "gateway"], "type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Device Profiles"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Device Profile", "operationId": "createOrgDeviceProfiles", "tags": ["Orgs Device Profiles"]}}, "paths": {"{deviceprofile_id}": {"specs": {"delete": {"description": "Delete Org Device Profile", "operationId": "deleteOrgDeviceProfile", "tags": ["Orgs Device Profiles"]}, "get": {"description": "Get Org device Profile Details", "operationId": "getOrgDeviceProfile", "tags": ["Orgs Device Profiles"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/deviceprofile_id"}], "put": {"description": "Update Org Device Profile", "operationId": "updateOrgDeviceProfile", "tags": ["Orgs Device Profiles"]}}, "paths": {"assign": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/deviceprofile_id"}], "post": {"description": "Assign Org Device Profile to Devices", "operationId": "assignOrgDeviceProfile", "tags": ["Orgs Device Profiles"]}}}, "unassign": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/deviceprofile_id"}], "post": {"description": "Unassign Org Device Profile from Devices", "operationId": "unassignOrgDeviceProfiles", "tags": ["Orgs Device Profiles"]}}}}}}}, "devices": {"specs": {"get": {"description": "Get List of Org Devices", "operationId": "listOrgDevices", "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"count": {"specs": {"get": {"description": "Count Org Devices", "operationId": "countOrgDevices", "parameters": [{"example": "model", "in": "query", "name": "distinct", "required": true, "schema": {"default": "model", "enum": ["hostname", "site_id", "model", "mac", "version", "ip", "mxtunnel_status", "mxedge_id", "lldp_system_name", "lldp_system_desc", "lldp_port_id", "lldp_mgmt_addr"], "type": "string"}}, {"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "AP mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "version", "in": "query", "name": "version", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/ip"}, {"description": "MxTunnel status, up / down", "in": "query", "name": "mxtunnel_status", "schema": {"enum": ["up", "down"], "type": "string"}}, {"description": "Mist Edge id, if AP is connecting to a Mist Edge", "in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"description": "LLDP system name", "in": "query", "name": "lldp_system_name", "schema": {"type": "string"}}, {"description": "LLDP system description", "in": "query", "name": "lldp_system_desc", "schema": {"type": "string"}}, {"description": "LLDP port id", "in": "query", "name": "lldp_port_id", "schema": {"type": "string"}}, {"description": "LLDP management ip address", "in": "query", "name": "lldp_mgmt_addr", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "events": {"paths": {"count": {"specs": {"get": {"description": "Count Org Devices Events", "operationId": "countOrgDeviceEvents", "parameters": [{"in": "query", "name": "distinct", "required": true, "schema": {"default": "model", "enum": ["org_id", "site_id", "ap", "apfw", "model", "text", "timestamp", "type"], "type": "string"}}, {"description": "site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "AP mac", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "AP Firmware", "in": "query", "name": "apfw", "schema": {"type": "string"}}, {"description": "device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "event message", "in": "query", "name": "text", "schema": {"type": "string"}}, {"description": "event time", "in": "query", "name": "timestamp", "schema": {"type": "string"}}, {"description": "Events Type", "in": "query", "name": "type", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org Devices Events", "operationId": "searchOrgDeviceEvents", "parameters": [{"description": "device mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "device type", "in": "query", "name": "device_type", "schema": {"default": "ap", "enum": ["ap", "switch", "gateway"], "type": "string"}}, {"description": "event message", "in": "query", "name": "text", "schema": {"type": "string"}}, {"description": "event time", "in": "query", "name": "timestamp", "schema": {"type": "string"}}, {"description": "see [listDeviceEventsDefinitions](/#operation/listDeviceEventsDefinitions)", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "Return last/recent event for passed in field", "example": "port_id", "in": "query", "name": "last_by", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "last_config": {"paths": {"count": {"specs": {"get": {"description": "Counts the number of entries in device config history for distinct field with given filters", "operationId": "countOrgDeviceLastConfigs", "parameters": [{"in": "query", "name": "device_type", "schema": {"default": "ap", "enum": ["ap", "switch", "gateway"], "type": "string"}}, {"in": "query", "name": "distinct", "schema": {"enum": ["mac", "version", "name", "site_id"], "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Device Last Configs", "operationId": "searchOrgDeviceLastConfigs", "parameters": [{"in": "query", "name": "device_type", "schema": {"default": "ap", "enum": ["ap", "switch", "gateway"], "type": "string"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}, {"in": "query", "name": "name", "schema": {"type": "string"}}, {"in": "query", "name": "version", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "radio_macs": {"specs": {"get": {"description": "For some scenarios like E911 or security systems, the BSSIDs are required to identify which AP the client is connecting to. Then the location of the AP can be used as the approximate location of the client.\n\nEach radio MAC can have 16 BSSIDs (enumerate the last octet from 0-F)", "operationId": "listOrgApsMacs", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org Devices", "operationId": "searchOrgDevices", "parameters": [{"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "AP mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "version", "in": "query", "name": "version", "schema": {"type": "string"}}, {"description": "power_constrained", "in": "query", "name": "power_constrained", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/ip"}, {"description": "MxTunnel status, up / down", "in": "query", "name": "mxtunnel_status", "schema": {"enum": ["up", "down"], "type": "string"}}, {"description": "Mist Edge id, if AP is connecting to a Mist Edge", "in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"description": "LLDP system name", "in": "query", "name": "lldp_system_name", "schema": {"type": "string"}}, {"description": "LLDP system description", "in": "query", "name": "lldp_system_desc", "schema": {"type": "string"}}, {"description": "LLDP port id", "in": "query", "name": "lldp_port_id", "schema": {"type": "string"}}, {"description": "LLDP management ip address", "in": "query", "name": "lldp_mgmt_addr", "schema": {"type": "string"}}, {"description": "Bandwith of band_24", "in": "query", "name": "band_24_bandwith", "schema": {"type": "integer"}}, {"description": "Bandwith of band_5", "in": "query", "name": "band_5_bandwith", "schema": {"type": "integer"}}, {"description": "Bandwith of band_6", "in": "query", "name": "band_6_bandwith", "schema": {"type": "integer"}}, {"description": "Channel of band_24", "in": "query", "name": "band_24_channel", "schema": {"type": "integer"}}, {"description": "Channel of band_5", "in": "query", "name": "band_5_channel", "schema": {"type": "integer"}}, {"description": "Channel of band_6", "in": "query", "name": "band_6_channel", "schema": {"type": "integer"}}, {"description": "Port speed of eth0", "in": "query", "name": "eth0_port_speed", "schema": {"type": "integer"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "upgrade": {"specs": {"get": {"description": "Get List of Org multi devces upgrades", "operationId": "listOrgMultiSitesDevicesUpgrades", "tags": ["Orgs Devices Upgrades"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Upgrade Multiple Sites", "operationId": "upgradeOrgMultiSitesDevices", "tags": ["Orgs Devices Upgrades"]}}, "paths": {"{upgrade_id}": {"specs": {"get": {"description": "Get Multi Site Upgrade", "operationId": "getOrgMultiSitesUpgrade", "tags": ["Orgs Devices Upgrades"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/upgrade_id"}]}}}}}}, "evpn_topologies": {"specs": {"get": {"description": "Get List of the existing Org EVPN topologies", "operationId": "listOrgEvpnTopologies", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs EVPN Topologies"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "While all the `evpn_id` / `downlink_ips` can be specifidd by hand, the easiest way is to call the `build_vpn_topology` API, allowing you to examine the diff, and update it yourself. You can also simply call it with `overwrite=true` which will apply the updates for you.\n\n**Notes:**\n1. You can use `core` / `distribution` / `access` to create a CLOS topology\n2. You can also use `core` / `distribution` to form a 2-tier EVPN topology where ESI-Lag is configured distribution to connect to access switches\n3. In a small/medium campus, `collapsed-core` can be used where core switches are the inter-connected to do EVPN\n4. The API uses a few pre-defined parameters and best-practices to generate the configs. It can be customized by using `evpn_options` in Site Setting / Network Template. (e.g. a different subnet for the underlay)\n\n#### Collapsed Core\nIn a small-medium campus, EVPN can also be enabled only at the core switches (up to 4) by assigning all participating switches with `collapsed-core role`. When there are more than 2 switches, a ring-like topology will be formed.\n\n#### ESI-Lag\nIf the access switchess does not have EVPN support, you can take advantage of EVPN by setting up ESI-Lag on distribution switches\n\n#### Leaf / Access / Collapsed-Core\nFor leaf nodes in a EVPN topology, you\u2019d have to configure the IPs for networks that would participate in EVPN. Optionally, VRFs to isolate traffic from one tenant verus another", "operationId": "createOrgEvpnTopology", "tags": ["Orgs EVPN Topologies"]}}, "paths": {"{evpn_topology_id}": {"specs": {"delete": {"description": "Delete the Org EVPN Topology", "operationId": "deleteOrgEvpnTopology", "tags": ["Orgs EVPN Topologies"]}, "get": {"description": "Get One EVPN Topology Detail", "operationId": "getOrgEvpnTolopogy", "tags": ["Orgs EVPN Topologies"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/evpn_topology_id"}], "put": {"description": "Update the EVPN Topolgy", "operationId": "updateOrgEvpnTopology", "tags": ["Orgs EVPN Topologies"]}}}}}, "gatewaytemplates": {"specs": {"get": {"description": "Get List of Org Gateway Templates", "operationId": "listOrgGatewayTemplates", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Gateway Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Gateway Template", "operationId": "createOrgGatewayTemplate", "tags": ["Orgs Gateway Templates"]}}, "paths": {"{gatewaytemplate_id}": {"specs": {"delete": {"description": "Delete Organization Gateway Template", "operationId": "deleteOrgGatewayTemplate", "tags": ["Orgs Gateway Templates"]}, "get": {"description": "Get Organization Gateway Template details", "operationId": "getOrgGatewayTemplate", "tags": ["Orgs Gateway Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/gatewaytemplate_id"}], "put": {"description": "Update Organization Gateway Template", "operationId": "updateOrgGatewayTemplate", "tags": ["Orgs Gateway Templates"]}}}}}, "guests": {"specs": {"get": {"description": "Get List of Org Guest Authorizations", "operationId": "listOrgGuestAuthorizations", "tags": ["Orgs Guests"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"count": {"specs": {"get": {"description": "Count Org Authorized Guest", "operationId": "countOrgGuestAuthorizations", "parameters": [{"example": "auth_method", "in": "query", "name": "distinct", "schema": {"default": "auth_method", "enum": ["auth_method", "ssid", "company"], "type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Guests"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Authorized Guest", "operationId": "searchOrgGuestAuthorization", "parameters": [{"example": "00000000-0000-0000-0000-000000000000", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"in": "query", "name": "auth_method", "schema": {"type": "string"}}, {"in": "query", "name": "ssid", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Guests"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "{guest_mac}": {"specs": {"delete": {"description": "Delete Guest Authorization", "operationId": "deleteOrgGuestAuthorization", "tags": ["Orgs Guests"]}, "get": {"description": "Get Guest Authorization", "operationId": "getOrgGuestAuthorization", "tags": ["Orgs Guests"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/guest_mac"}], "put": {"description": "Update Guest Authorization", "operationId": "updateOrgGuestAuthorization", "tags": ["Orgs Guests"]}}}}}, "idpprofiles": {"specs": {"get": {"description": "get the list of Org IDP Profiles", "operationId": "listOrgIdpProfiles", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs IDP Profiles"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org IDP Profile", "operationId": "createOrgIdpProfile", "tags": ["Orgs IDP Profiles"]}}, "paths": {"{idpprofile_id}": {"specs": {"delete": {"description": "Delete Org IDP Profile", "operationId": "deleteOrgIdpProfile", "tags": ["Orgs IDP Profiles"]}, "get": {"description": "Get Org IDP Profile", "operationId": "getOrgIdpProfile", "tags": ["Orgs IDP Profiles"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/idpprofile_id"}], "put": {"description": "Update Org IDP Profile", "operationId": "updateOrgIdpProfile", "tags": ["Orgs IDP Profiles"]}}}}}, "insights": {"paths": {"sites-sle": {"specs": {"get": {"description": "Get Org Sites SLE", "operationId": "getOrgSitesSle", "parameters": [{"in": "query", "name": "sle", "schema": {"enum": ["wan", "wired", "wifi"], "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/interval"}], "tags": ["Orgs SLEs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "{metric}": {"specs": {"get": {"description": "Get Org SLEs (all/worst sites, Mx Edges, ...)", "operationId": "getOrgSle", "parameters": [{"description": "see [listInsightMetrics](/#operation/listInsightMetrics) for more details", "in": "query", "name": "sle", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/interval"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}], "tags": ["Orgs SLEs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/metric"}]}}}}, "inventory": {"specs": {"get": {"description": "Get Org Inventory\n\n### VC (Virtual-Chassis) Management\nIdeally VC should be managed as a single device - where - one managed entity where config / monitoring is anchored against (with a stable identify MAC) - all members appears in the inventory\n\nIn our implementation, we strive to achieve that without manual user configurations by \n1. during claim or adoption a VC, we require FPC0 to exist and will use its MAC as identify for the entire chassis\n2. other VC members will be automatically populated when they\u2019re all present\n\nThe perceivable result is \n1. from `/sites/:site_id/stats/devices/:fpc0_mac` API, you\u2019d see the VC where module_stat contains the VC members \n2. from `/orgs/:org_id/inventory?vc=true` API, you\u2019d see all VC members with vc_mac pointing to the FPC0", "operationId": "getOrgInventory", "parameters": [{"description": "device serial", "in": "query", "name": "serial", "schema": {"type": "string"}}, {"description": "device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"in": "query", "name": "type", "schema": {"enum": ["ap", "switch", "gateway"], "type": "string"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "site id if assigned, null if not assigned", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"in": "query", "name": "vc_mac", "schema": {"type": "string"}}, {"in": "query", "name": "vc", "schema": {"type": "string"}}, {"in": "query", "name": "unassigned", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Inventory"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Add Device to Org Inventory with the device claim codes", "operationId": "addOrgInventory", "tags": ["Orgs Inventory"]}, "put": {"description": "Update Org Inventory", "operationId": "updateOrgInventoryAssignment", "tags": ["Orgs Inventory"]}}, "paths": {"create_ha_cluster": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create HA Cluster from unassigned Gateways", "operationId": "createOrgGatewayHaCluster", "tags": ["Orgs Inventory"]}}}, "delete_ha_cluster": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Delete HA Cluster\n\nAfter HA cluster deleted, both of the nodes will be unassigned.", "operationId": "deleteOrgGatewayHaCluster", "tags": ["Orgs Inventory"]}}}, "reevaluate_auto_assignment": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Reevaluate Auto Assignment", "operationId": "reevaluateOrgAutoAssignment", "tags": ["Orgs Inventory"]}}}, "replace": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "It\u2019s a common request we get from the customers. When a AP HW has problem and need a replacement, they would want to copy the existing attributes (Device Config) of this old AP to the new one. It can be done by providing the MAC of a device that\u2019s currently in the inventory but not assigned. The Device replaced will become unassigned.\n\nThis API also supports replacement of Mist Edges. This API copies device agnostic attributes from old Mist edge to new one.\nMist manufactured Mist Edges will be reset to factory settings but will still be in Inventory.Brownfield or VM\u2019s will be\ndeleted from Inventory\n\n**Note:** For Gateway devices only like-for-like replacements (can only replace a SRX320 with a SRX320 and not some otehr model) are allowed.", "operationId": "replaceOrgDevices", "tags": ["Orgs Inventory"]}}}}}, "invites": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "If the request is successful, an email will also be sent to the user with a link to ```https://manage.mist.com/verify/invite?token=:token&expire=1459632743&org=OrgName```", "operationId": "inviteOrgAdmin", "tags": ["Orgs Admins"]}}, "paths": {"{invite_id}": {"specs": {"delete": {"description": "Delete Admin Invite", "operationId": "uninviteOrgAdmin", "tags": ["Orgs Admins"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/invite_id"}], "put": {"description": "Update Admin Invite", "operationId": "updateOrgAdminInvite", "tags": ["Orgs Admins"]}}}}}, "jsi": {"paths": {"devices": {"specs": {"get": {"description": "Get List of Org devices that connected to JSI", "operationId": "listOrgJsiDevices", "parameters": [{"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}, {"in": "query", "name": "model", "schema": {"type": "string"}}, {"in": "query", "name": "serial", "schema": {"type": "string"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}], "tags": ["Orgs JSI"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"outbound_ssh_cmd": {"specs": {"get": {"description": "Adopt JSI devices\n", "operationId": "adoptOrgJsiDevice", "tags": ["Orgs JSI"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "{device_mac}": {"paths": {"shell": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/device_mac"}], "post": {"description": "Create Shell Session", "operationId": "createOrgJsiDeviceShellSession", "tags": ["Orgs JSI"]}}}, "upgrade": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/device_mac"}], "post": {"description": "Upgrade", "operationId": "upgradeOrgJsiDevice", "tags": ["Orgs Devices Upgrades"]}}}}}}}, "inventory": {"specs": {"get": {"description": "Get List of all devices purchased from the accounts associated with the Org", "operationId": "listOrgJsiPastPurchases", "parameters": [{"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}, {"in": "query", "name": "model", "schema": {"type": "string"}}, {"in": "query", "name": "serial", "schema": {"type": "string"}}], "tags": ["Orgs JSI"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "licenses": {"specs": {"get": {"description": "Get the list of licenses", "operationId": "getOrgLicencesSummary", "tags": ["Orgs Licenses"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "put": {"description": "Move, Undo Move or Delete Org License to Another Org\nIf the admin has admin privilege against the `org_id` and `dst_org_id`, he can move some of the licenses to another Org. Given that: \n1. the specified license is currently active \n2. there\u2019s enough licenses left in the specified license (by subscription_id) \n3. there will still be enough entitled licenses for the type of license after the amendment", "operationId": "moveOrDeleteOrgLicenseToAnotherOrg", "tags": ["Orgs Licenses"]}}, "paths": {"usages": {"specs": {"get": {"description": "Get Licenses Usage by Sites\nThis shows license usage (i.e. needed) based on the features enabled for the site.", "operationId": "getOrgLicencesBySite", "tags": ["Orgs Licenses"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "logs": {"specs": {"get": {"description": "Get List of change logs for the current Org", "operationId": "listOrgLogs", "parameters": [{"description": "site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "admin name or email", "in": "query", "name": "admin_name", "schema": {"type": "string"}}, {"description": "message", "in": "query", "name": "message", "schema": {"type": "string"}}, {"description": "sort order", "in": "query", "name": "sort", "schema": {"enum": ["timestamp", "-timestamp", "site_id", "admin_id"], "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Logs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Audit Logs", "operationId": "countOrgLogs", "parameters": [{"in": "query", "name": "distinct", "required": true, "schema": {"default": "admin_name", "enum": ["admin_id", "admin_name", "message", "site_id"], "type": "string"}}, {"in": "query", "name": "admin_id", "schema": {"type": "string"}}, {"in": "query", "name": "admin_name", "schema": {"type": "string"}}, {"in": "query", "name": "site_id", "schema": {"type": "string"}}, {"in": "query", "name": "message", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Logs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "maps": {"paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Import data from files is a multipart POST which has a file, an optional json, and an optional csv, to create floorplan, assign matching inventory to specific site, place ap if name or mac matches\n\n### CSV File Format\n```csv\nVendor AP name,Mist AP Mac\nUS Office AP-2 - 5c:5b:35:00:00:02,5c5b35000002\n``` ", "operationId": "importOrgMaps", "tags": ["Orgs Maps"]}}}}}, "mist_nac": {"paths": {"test_idp": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "IDP Credential Validation. The output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, `session` is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n``` json\n{\n \"subscribe\": \"orgs/:org_id/mist_nac/test_idp\"\n}\n\n ```\n\n### Response (no idp can be found)\n\n``` json\n{\n \"event\": \"data\",\n \"channel\": \"/orgs/:org_id/mist_nac/test_idp\",\n \"status\": \n \"data\": {\n \"status\": \"failure\",\n \"error\": \"No matching IDP found\"\n }\n}\n\n ```\n\n### Response OK\n\n``` json\n{\n \"event\": \"data\",\n \"channel\": \"/orgs/:org_id/mist_nac/test_idp\",\n \"status\": \n \"data\": {\n \"status\": \"success\",\n \"idp_id\": \"915793c0-1355-4e98-b1c0-23df2227b357\",\n \"idp_type\": \"ldap\",\n // more attributes will be added later\n }\n}\n\n ```\n\n### Response Invalid Credentials\n\n``` json\n{\n \"event\": \"data\",\n \"channel\": \"/orgs/:org_id/mist_nac/test_idp\",\n \"status\": \n \"data\": {\n \"status\": \"failure\",\n \"error\": \"Invalid Credentials\",\n \"idp_id\": \"915793c0-1355-4e98-b1c0-23df2227b357\",\n \"idp_type\": \"ldap\",\n }\n}\n\n ```", "operationId": "validateOrgIdpCredential", "tags": ["Orgs NAC"]}}}}}, "mxclusters": {"specs": {"get": {"description": "Get List of Org MxEdge Clusters", "operationId": "listOrgMxEdgeClusters", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs MxClusters"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create MxCluster", "operationId": "createOrgMxEdgeCluster", "tags": ["Orgs MxClusters"]}}, "paths": {"{mxcluster_id}": {"specs": {"delete": {"description": "Delete Org MXEdge Cluster", "operationId": "deleteOrgMxEdgeCluster", "tags": ["Orgs MxClusters"]}, "get": {"description": "Get Org MxEdge Cluster Details", "operationId": "getOrgMxEdgeCluster", "tags": ["Orgs MxClusters"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxcluster_id"}], "put": {"description": "Update Org MxEdge Cluster", "operationId": "updateOrgMxEdgeCluster", "tags": ["Orgs MxClusters"]}}}}}, "mxedges": {"specs": {"get": {"description": "Get List of Org MxEdges", "operationId": "listOrgMxEdges", "parameters": [{"description": "filter for site level mist edges", "in": "query", "name": "for_sites", "schema": {"default": "any", "enum": ["any", "true", "false"], "type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create MxEdge", "operationId": "createOrgMxEdge", "tags": ["Orgs MxEdges"]}}, "paths": {"assign": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Assign Org MxEdge to Site", "operationId": "assignOrgMxEdgeToSite", "tags": ["Orgs MxEdges"]}}}, "claim": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "For a Mist Edge in default state, it will show a random claim code like `135-546-673` which you can \u201cclaim\u201d it into your Org", "operationId": "claimOrgMxEdge", "tags": ["Orgs MxEdges"]}}}, "count": {"specs": {"get": {"description": "Count Org Mist Edges", "operationId": "countOrgMxEdges", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "model", "enum": ["model", "mxcluster_id", "distro", "tunterm_version", "site_id"], "type": "string"}}, {"description": "mist edge id", "in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"description": "mist edge site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "mist edge cluster id", "in": "query", "name": "mxcluster_id", "schema": {"type": "string"}}, {"description": "model name", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "debian code name(buster, bullseye)", "in": "query", "name": "distro", "schema": {"type": "string"}}, {"description": "tunterm version", "in": "query", "name": "tunterm_version", "schema": {"type": "string"}}, {"description": "sort options, -prefix represents DESC order, default is -last_seen", "in": "query", "name": "sort", "schema": {"type": "string"}}, {"description": "whether to return device stats, default is false", "in": "query", "name": "stats", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "events": {"paths": {"count": {"specs": {"get": {"description": "Count Org Mist Edge Events", "operationId": "countOrgSiteMxEdgeEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "mxedge_id", "enum": ["mxedge_id", "type", "mxcluster_id", "package"], "type": "string"}}, {"description": "mist edge id", "in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"description": "mist edge cluster id", "in": "query", "name": "mxcluster_id", "schema": {"type": "string"}}, {"description": "mist edge event type [Supported Events](/#operation/listGatewayApplications)", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "service running on mist edge(mxagent, tunterm etc)", "in": "query", "name": "service", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org Mist Edge Events", "operationId": "searchOrgMistEdgeEvents", "parameters": [{"description": "mist edge id", "in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"description": "mist edge cluster id", "in": "query", "name": "mxcluster_id", "schema": {"type": "string"}}, {"description": "mist edge event type [Supported Events](/#operation/listGatewayApplications)", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "service running on mist edge(mxagent, tunterm etc)", "in": "query", "name": "service", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "search": {"specs": {"get": {"description": "Search Org Mist Edges", "operationId": "searchOrgMxEdges", "parameters": [{"description": "mist edge id", "in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"description": "mist edge site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "mist edge cluster id", "in": "query", "name": "mxcluster_id", "schema": {"type": "string"}}, {"description": "model name", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "debian code name(buster, bullseye)", "in": "query", "name": "distro", "schema": {"type": "string"}}, {"description": "tunterm version", "in": "query", "name": "tunterm_version", "schema": {"type": "string"}}, {"description": "sort options, -prefix represents DESC order, default is -last_seen", "in": "query", "name": "sort", "schema": {"type": "string"}}, {"description": "whether to return device stats, default is false", "in": "query", "name": "stats", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "unassign": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Unassign Org MxEdge from Site", "operationId": "unassignOrgMxEdgeFromSite", "tags": ["Orgs MxEdges"]}}}, "upgrade": {"specs": {"get": {"description": "Get List of Org Mist Edge Upgrades", "operationId": "listOrgMxEdgeUpgrades", "tags": ["Orgs Devices Upgrades"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Upgrade Mist Edges", "operationId": "upgradeOrgMxEdges", "tags": ["Orgs Devices Upgrades"]}}, "paths": {"{upgrade_id}": {"specs": {"get": {"description": "Get Mist Edge Upgrade", "operationId": "getOrgMxEdgeUpgrade", "tags": ["Orgs Devices Upgrades"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/upgrade_id"}]}}}}, "version": {"specs": {"get": {"description": "Get Mist Edge Upgrade Information", "operationId": "getOrgMxEdgeUpgradeInfo", "parameters": [{"description": "upgrade channel to follow, stable (default) / beta / alpha", "in": "query", "name": "channel", "schema": {"default": "stable", "enum": ["stable", "beta", "alpha"], "type": "string"}}], "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "{mxedge_id}": {"specs": {"delete": {"description": "Delete Org MxEdge", "operationId": "deleteOrgMxEdge", "tags": ["Orgs MxEdges"]}, "get": {"description": "Get Org MxEdge details", "operationId": "getOrgMxEdge", "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxedge_id"}], "put": {"description": "Update Org MxEdge", "operationId": "updateOrgMxEdge", "tags": ["Orgs MxEdges"]}}, "paths": {"": {"paths": {"image{image_number}": {"specs": {"delete": {"description": "Remove MxEdge Image", "operationId": "deleteOrgMxEdgeImage", "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxedge_id"}, {"in": "path", "name": "image_number", "required": true, "schema": {"maximum": 3, "minimum": 1, "type": "number"}}], "post": {"description": "Attach up to 3 images to a mxedge", "operationId": "addOrgMxEdgeImage", "tags": ["Orgs MxEdges"]}}}}}, "restart": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxedge_id"}], "post": {"description": "In the case where a Mist Edge is replaced, you would need to unregister it. Which disconnects the currently the connected Mist Edge and allow another to register.", "operationId": "restartOrgMxEdge", "tags": ["Orgs MxEdges"]}}}, "services": {"paths": {"tunterm": {"paths": {"bounce_port": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxedge_id"}], "post": {"description": "Bounce TunTerm Data Ports", "operationId": "bounceOrgMxEdgeDataPorts", "parameters": [], "tags": ["Orgs MxEdges"]}}}}}, "{name}": {"paths": {"{action}": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxedge_id"}, {"in": "path", "name": "name", "required": true, "schema": {"enum": ["tunterm", "radsecproxy", "mxagent", "mxocproxy", "mxdas"], "type": "string"}}, {"description": "restart or start or stop", "in": "path", "name": "action", "required": true, "schema": {"enum": ["restart", "start", "stop"], "type": "string"}}], "post": {"description": "Control Services on a Mist Edge", "operationId": "controlOrgMxEdgeServices", "tags": ["Orgs MxEdges"]}}}}}}}, "support": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxedge_id"}], "post": {"description": "Support / Upload Mist Edge support files", "operationId": "uploadOrgMxEdgeSupportFiles", "tags": ["Orgs MxEdges"]}}}, "unregister": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxedge_id"}], "post": {"description": "In the case where a Mist Edge is replaced, you would need to unregister it. Which disconnects the currently the connected Mist Edge and allow another to register.", "operationId": "unregisterOrgMxEdge", "tags": ["Orgs MxEdges"]}}}, "upgrade": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxedge_id"}], "post": {"description": "Upgrade MxEdge", "operationId": "upgradeOrgMxEdge", "tags": ["Orgs Devices Upgrades"]}}}}}}}, "mxtunnels": {"specs": {"get": {"description": "Get List of Org MxTunnels", "operationId": "listOrgMxTunnels", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs MxTunnels"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create MxTunnel", "operationId": "createOrgMxTunnel", "tags": ["Orgs MxTunnels"]}}, "paths": {"{mxtunnel_id}": {"specs": {"delete": {"description": "Delete Org MxTunnel", "operationId": "deleteOrgMxTunnel", "tags": ["Orgs MxTunnels"]}, "get": {"description": "Get Org MxTunnel Details", "operationId": "getOrgMxTunnel", "tags": ["Orgs MxTunnels"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxtunnel_id"}], "put": {"description": "Update Org MxTunnel", "operationId": "updateOrgMxTunnel", "tags": ["Orgs MxTunnels"]}}}}}, "nac_clients": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of NAC Clients", "operationId": "countOrgNacClients", "parameters": [{"description": "NAC Policy Rule ID, if matched", "in": "query", "name": "distinct", "schema": {"default": "type", "enum": ["type", "last_nacrule_id", "auth_type", "last_vlan_id", "last_nas_vendor", "last_username", "last_ap", "mac", "last_ssid", "last_status", "mdm_compliance_status", "mdm_provider"], "type": "string"}}, {"description": "NAC Policy Rule ID, if matched", "in": "query", "name": "last_nacrule_id", "schema": {"type": "string"}}, {"description": "NAC Policy Rule Matched", "in": "query", "name": "nacrule_matched", "schema": {"type": "boolean"}}, {"description": "authentication type, e.g. \u201ceap-tls\u201d, \u201ceap-ttls\u201d, \u201ceap-teap\u201d, \u201cmab\u201d, \u201cdevice-auth\u201d", "in": "query", "name": "auth_type", "schema": {"type": "string"}}, {"description": "Vlan ID", "in": "query", "name": "last_vlan_id", "schema": {"type": "string"}}, {"description": "vendor of NAS device", "in": "query", "name": "last_nas_vendor", "schema": {"type": "string"}}, {"description": "SSO ID, if present and used", "in": "query", "name": "idp_id", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "last_ssid", "schema": {"type": "string"}}, {"description": "Username presented by the client", "in": "query", "name": "last_username", "schema": {"type": "string"}}, {"description": "start time, in epoch", "in": "query", "name": "timestamp", "schema": {"type": "number"}}, {"description": "site id if assigned, null if not assigned", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "AP MAC connected to by client", "in": "query", "name": "last_ap", "schema": {"type": "string"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Connection status of client i.e \u201cpermitted\u201d, \u201cdenied, \u201csession_ended\u201d", "in": "query", "name": "last_status", "schema": {"type": "string"}}, {"description": "Client type i.e. \u201cwireless\u201d, \u201cwired\u201d etc.", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "MDM compliancy of client i.e \u201ccompliant\u201d, \u201cnot compliant\u201d", "in": "query", "name": "mdm_compliance_status", "schema": {"type": "string"}}, {"description": "MDM provider of client\u2019s organisation eg \u201cintune\u201d, \u201cjamf\u201d", "in": "query", "name": "mdm_provider", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Clients - NAC"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "events": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of NAC Client-Events", "operationId": "countOrgNacClientEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"enum": ["type", "nacrule_id", "dryrun_nacrule_id", "auth_type", "vlan", "nas_vendor", "username", "ap", "mac", "ssid"], "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Clients - NAC"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search NAC Client Events", "operationId": "searchOrgNacClientEvents", "parameters": [{"description": "event type, e.g. NAC_CLIENT_PERMIT", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "NAC Policy Rule ID, if matched", "in": "query", "name": "nacrule_id", "schema": {"format": "uuid", "type": "string"}}, {"description": "NAC Policy Rule Matched", "in": "query", "name": "nacrule_matched", "schema": {"type": "boolean"}}, {"description": "NAC Policy Dry Run Rule ID, if present and matched", "in": "query", "name": "dryrun_nacrule_id", "schema": {"type": "string"}}, {"description": "True - if dryrun rule present and matched with priority, False - if not matched or not present", "in": "query", "name": "dryrun_nacrule_matched", "schema": {"type": "boolean"}}, {"description": "authentication type, e.g. \u201c802.1X\u201d, \u201cMAB\u201d, \u201cDeviceAuth\u201d", "in": "query", "name": "auth_type", "schema": {"type": "string"}}, {"description": "Vlan ID", "in": "query", "name": "vlan", "schema": {"type": "integer"}}, {"description": "vendor of NAS device", "in": "query", "name": "nas_vendor", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "bssid", "schema": {"type": "string"}}, {"description": "SSO ID, if present and used", "in": "query", "name": "idp_id", "schema": {"format": "uuid", "type": "string"}}, {"description": "IDP returned roles/groups for the user", "in": "query", "name": "idp_role", "schema": {"type": "string"}}, {"description": "Radius attributes returned by NAC to NAS Devive", "in": "query", "name": "resp_attrs", "schema": {"items": {"type": "string"}, "type": "array"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "Username presented by the client", "in": "query", "name": "username", "schema": {"type": "string"}}, {"description": "site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "AP random macMAC", "in": "query", "name": "random_mac", "schema": {"type": "boolean"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "start time, in epoch", "in": "query", "name": "timestamp", "schema": {"type": "number"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Clients - NAC"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "search": {"specs": {"get": {"description": "Search Org NAC Clients", "operationId": "searchOrgNacClients", "parameters": [{"description": "NAC Policy Rule ID, if matched", "in": "query", "name": "last_nacrule_id", "schema": {"type": "string"}}, {"description": "NAC Policy Rule Matched", "in": "query", "name": "nacrule_matched", "schema": {"type": "boolean"}}, {"description": "authentication type, e.g. \u201ceap-tls\u201d, \u201ceap-ttls\u201d, \u201ceap-teap\u201d, \u201cmab\u201d, \u201cdevice-auth\u201d", "in": "query", "name": "auth_type", "schema": {"type": "string"}}, {"description": "Vlan ID", "in": "query", "name": "last_vlan_id", "schema": {"type": "string"}}, {"description": "vendor of NAS device", "in": "query", "name": "last_nas_vendor", "schema": {"type": "string"}}, {"description": "SSO ID, if present and used", "in": "query", "name": "idp_id", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "last_ssid", "schema": {"type": "string"}}, {"description": "Username presented by the client", "in": "query", "name": "last_username", "schema": {"type": "string"}}, {"description": "start time, in epoch", "in": "query", "name": "timestamp", "schema": {"type": "number"}}, {"description": "site id if assigned, null if not assigned", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "AP MAC connected to by client", "in": "query", "name": "last_ap", "schema": {"type": "string"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Connection status of client i.e \u201cpermitted\u201d, \u201cdenied, \u201csession_ended\u201d", "in": "query", "name": "last_status", "schema": {"type": "string"}}, {"description": "Client type i.e. \u201cwireless\u201d, \u201cwired\u201d etc.", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "MDM compliancy of client i.e \u201ccompliant\u201d, \u201cnot compliant\u201d", "in": "query", "name": "mdm_compliance_status", "schema": {"type": "string"}}, {"description": "MDM provider of client\u2019s organisation eg \u201cintune\u201d, \u201cjamf\u201d", "in": "query", "name": "mdm_provider", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Clients - NAC"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "nacrules": {"specs": {"get": {"description": "Get List of Org NAC Rules", "operationId": "listOrgNacRules", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs NAC Rules"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "create Org NAC Rule", "operationId": "createOrgNacRule", "tags": ["Orgs NAC Rules"]}}, "paths": {"{nacrule_id}": {"specs": {"delete": {"description": "Delete Org NAC Rule", "operationId": "deleteOrgNacRule", "tags": ["Orgs NAC Rules"]}, "get": {"description": "Get Org NAC Rule", "operationId": "getOrgNacRule", "tags": ["Orgs NAC Rules"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/nacrule_id"}], "put": {"description": "Update Org NAC Rule", "operationId": "updateOrgNacRule", "tags": ["Orgs NAC Rules"]}}}}}, "nactags": {"specs": {"get": {"description": "Get List of Org NAC Tags", "operationId": "listOrgNacTags", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs NAC Tags"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org NAC Tag", "operationId": "createOrgNacTag", "tags": ["Orgs NAC Tags"]}}, "paths": {"{nactag_id}": {"specs": {"delete": {"description": "Delete Org NAC Tag", "operationId": "deleteOrgNacTag", "tags": ["Orgs NAC Tags"]}, "get": {"description": "Get Org NAC Tag", "operationId": "getOrgNacTag", "tags": ["Orgs NAC Tags"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/nactag_id"}], "put": {"description": "Update Org NAC Tag ", "operationId": "updateOrgNacTag", "tags": ["Orgs NAC Tags"]}}}}}, "networks": {"specs": {"get": {"description": "Get List of Org Networks", "operationId": "listOrgNetworks", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Networks"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Organization Network", "operationId": "createOrgNetwork", "tags": ["Orgs Networks"]}}, "paths": {"{network_id}": {"specs": {"delete": {"description": "Delete Organization Network", "operationId": "deleteOrgNetwork", "tags": ["Orgs Networks"]}, "get": {"description": "Get Organization Network Details", "operationId": "getOrgNetwork", "tags": ["Orgs Gateway Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/network_id"}], "put": {"description": "Update Organization Network", "operationId": "updateOrgNetwork", "tags": ["Orgs Networks"]}}}}}, "networktemplates": {"specs": {"get": {"description": "Get List of Org Network Templates", "operationId": "listOrgNetworkTemplates", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Network Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Update Org Network Templates", "operationId": "createOrgNetworkTemplate", "tags": ["Orgs Network Templates"]}}, "paths": {"{networktemplate_id}": {"specs": {"delete": {"description": "Delete Org Network Template", "operationId": "deleteOrgNetworkTemplate", "tags": ["Orgs Network Templates"]}, "get": {"description": "Get Org Network Templates Details", "operationId": "getOrgNetworkTemplate", "tags": ["Orgs Network Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/networktemplate_id"}], "put": {"description": "Update Org Network Template", "operationId": "updateOrgNetworkTemplates", "parameters": [], "tags": ["Orgs Network Templates"]}}}}}, "ocdevices": {"paths": {"outbound_ssh_cmd": {"specs": {"get": {"description": "Get Org Juniper Devices command\n\nJuniper devices can be managed/adopted by Mist. Currently outbound-ssh + netconf is used.\nA few lines of CLI commands are generated per-Org, allowing the Juniper devices to phone home to Mist.", "operationId": "getOrgJuniperDevicesCommand", "parameters": [{"description": "site_id would be used for proxy config check of the site and automatic site assignment", "in": "query", "name": "site_id", "schema": {"type": "string"}}], "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "otherdevices": {"specs": {"get": {"description": "Get List of Org other devices (3rd party devices)", "operationId": "listOrgOtherDevices", "parameters": [{"in": "query", "name": "vendor", "schema": {"type": "string"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}, {"in": "query", "name": "serial", "schema": {"type": "string"}}, {"in": "query", "name": "model", "schema": {"type": "string"}}, {"in": "query", "name": "name", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Devices Others"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "put": {"description": "If the Site / Device cannot be identified, a manual association can be made. Either a site_id or a device_mac needs to be provided.", "operationId": "updateOrgOtherDevices", "tags": ["Orgs Devices Others"]}}, "paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count Org OtherDevices Events", "operationId": "countOrgOtherDeviceEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "mac", "enum": ["mac", "type", "vendor", "site_id"], "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Devices Others"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org OtherDevices Events", "operationId": "searchOrgOtherDeviceEvents", "parameters": [{"description": "site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "mac of attached device", "in": "query", "name": "device_mac", "schema": {"type": "string"}}, {"description": "device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "vendor name", "in": "query", "name": "vendor", "schema": {"type": "string"}}, {"description": "event type", "in": "query", "name": "type", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Devices Others"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "{device_mac}": {"specs": {"delete": {"description": "Delete OtherDevice", "operationId": "deleteOrgOtherDevice", "tags": ["Orgs Devices Others"]}, "get": {"description": "Get Org other device (3rd party device)", "operationId": "getOrgOtherDevice", "tags": ["Orgs Devices Others"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/device_mac"}], "put": {"description": "If the Site / Device cannot be identified, a manual association can be made", "operationId": "updateOrgOtherDevice", "tags": ["Orgs Devices Others"]}}, "paths": {"reboot": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/device_mac"}], "post": {"description": "Reboot OtherDevice", "operationId": "rebootOrgOtherDevice", "tags": ["Orgs Devices Others"]}}}}}}}, "pma": {"paths": {"dashboards": {"specs": {"get": {"description": "Get List of premium analytics dashboards for this Org", "operationId": "listOrgPmaDashboards", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Premium Analytics"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "pskportals": {"specs": {"get": {"description": "Get List of Org Psk Portals", "operationId": "listOrgPskPortals", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Psk Portals"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Psk Portal", "operationId": "createOrgPskPortal", "tags": ["Orgs Psk Portals"]}}, "paths": {"logs": {"specs": {"get": {"description": "Get the list of PSK Portals Logs", "operationId": "listOrgPskPortalLogs", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Psk Portals"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of PskPortal Logs", "operationId": "countOrgPskPortalLogs", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "pskportal_id", "enum": ["admin_id", "admin_name", "psk_name", "psk_id", "pskportal_id", "user_id"], "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Psk Portals"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org PSK Portal Logs", "operationId": "searchOrgPskPortalLogs", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}, {"in": "query", "name": "psk_name", "schema": {"type": "string"}}, {"in": "query", "name": "psk_id", "schema": {"format": "uuid", "type": "string"}}, {"in": "query", "name": "pskportal_id", "schema": {"format": "uuid", "type": "string"}}, {"description": "audit_id", "in": "query", "name": "id", "schema": {"format": "uuid", "type": "string"}}, {"in": "query", "name": "admin_name", "schema": {"type": "string"}}, {"in": "query", "name": "admin_id", "schema": {"format": "uuid", "type": "string"}}, {"description": "name_id used in SSO", "in": "query", "name": "name_id", "schema": {"format": "uuid", "type": "string"}}], "tags": ["Orgs Psk Portals"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "{pskportal_id}": {"specs": {"delete": {"description": "Delete Org Psk Portal", "operationId": "deleteOrgPskPortal", "tags": ["Orgs Psk Portals"]}, "get": {"description": "get Org Psk Portal Details", "operationId": "getOrgPskPortal", "tags": ["Orgs Psk Portals"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/pskportal_id"}], "put": {"description": "update Org Psk Portal", "operationId": "updateOrgPskPortal", "tags": ["Orgs Psk Portals"]}}}}}, "psks": {"specs": {"get": {"description": "Get List of Org Psks", "operationId": "listOrgPsks", "parameters": [{"example": "psk_name", "in": "query", "name": "name", "schema": {"type": "string"}}, {"in": "query", "name": "ssid", "schema": {"type": "string"}}, {"in": "query", "name": "role", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Psks"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org PSK", "operationId": "createOrgPsk", "parameters": [{"description": "if a key exists with the same `name`, replace it with the new one", "in": "query", "name": "upsert", "schema": {"type": "boolean"}}], "tags": ["Orgs Psks"]}, "put": {"description": "Update multi PSKs", "operationId": "updateOrgMultiPsks", "tags": ["Orgs Psks"]}}, "paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Import PSK from CSV file or JSON\n\n##\u00a0CSV File Format\n```\nPSK Import CSV File Format:\nname,ssid,passphrase,usage,vlan_id,mac,max_usage,role,expire_time,notify_expiry,expiry_notification_time,notify_on_create_or_edit,email\nCommon,warehouse,foryoureyesonly,single,35,a31425f31278,0,student,1618594236\nJustin,reception,visible,multi,1002,200,teacher,1618594236\nCommon2,ssid,1245678-xx,single,35,a31425f31278,0,student,1618594236,true,7,true,admin@test.com\n```", "operationId": "importOrgPsks", "tags": ["Orgs Psks"]}}}, "{psk_id}": {"specs": {"delete": {"description": "Delete Org PSK", "operationId": "deleteOrgPsk", "tags": ["Orgs Psks"]}, "get": {"description": "Get Org PSK Details", "operationId": "getOrgPsk", "tags": ["Orgs Psks"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/psk_id"}], "put": {"description": "Update Org PSK ", "operationId": "updateOrgPsk", "tags": ["Orgs Psks"]}}, "paths": {"delete_old_passphrase": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/psk_id"}], "post": {"description": "Delete `old_passphrase` from PSK. \nIf successful, response is same as GET, returns the PSK with `old_passphrase` removed.", "operationId": "deleteOrgPskOldPassphrase", "tags": ["Orgs Psks"]}}}}}}}, "rftemplates": {"specs": {"get": {"description": "Get List of Org RF Template", "operationId": "listOrgRfTemplates", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs RF Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org RF Template", "operationId": "createOrgRfTemplate", "tags": ["Orgs RF Templates"]}}, "paths": {"{rftemplate_id}": {"specs": {"delete": {"description": "Delete Org RF Template", "operationId": "deleteOrgRfTemplate", "tags": ["Orgs RF Templates"]}, "get": {"description": "Get Org RF Template Details", "operationId": "getOrgRfTemplate", "tags": ["Orgs RF Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/rftemplate_id"}], "put": {"description": "Update Org RF Template ", "operationId": "updateOrgRfTemplate", "tags": ["Orgs RF Templates"]}}}}}, "sdkclients": {"paths": {"{sdkclient_id}": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sdkclient_id"}], "put": {"description": "Update SDK Client", "operationId": "updateSdkClient", "tags": ["Orgs SDK Clients"]}}}}}, "sdkinvites": {"specs": {"get": {"description": "Get List of Org SDK Invites", "operationId": "listSdkInvites", "tags": ["Orgs SDK Clients"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create SDK Invite", "operationId": "createSdkInvite", "tags": ["Orgs SDK Clients"]}}, "paths": {"{sdkinvite_id}": {"specs": {"delete": {"description": "Revoke SDK Invite", "operationId": "revokeSdkInvite", "tags": ["Orgs SDK Clients"]}, "get": {"description": "Get SDK Invite Details", "operationId": "getSdkInvite", "tags": ["Orgs SDK Clients"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sdkinvite_id"}], "put": {"description": "Update SDK Invite", "operationId": "updateSdkInvite", "tags": ["Orgs SDK Clients"]}}, "paths": {"email": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sdkinvite_id"}], "post": {"description": "Send SDK Invite by Email", "operationId": "sendSdkInviteEmail", "tags": ["Orgs SDK Clients"]}}}, "qrcode": {"specs": {"get": {"description": "Revoke SDK Invite", "operationId": "getSdkInviteQrCode", "tags": ["Orgs SDK Clients"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sdkinvite_id"}]}}, "sms": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sdkinvite_id"}], "post": {"description": "Send SDK Invite by SMS", "operationId": "sendSdkInviteSms", "tags": ["Orgs SDK Clients"]}}}}}}}, "sdktemplates": {"specs": {"get": {"description": "Get List of Org SDK Templates", "operationId": "listSdkTemplates", "tags": ["Orgs SDK Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create SDK Template", "operationId": "createSdkTemplate", "tags": ["Orgs SDK Templates"]}}, "paths": {"{sdktemplate_id}": {"specs": {"delete": {"description": "Delete SDK Template", "operationId": "deleteSdkTemplate", "tags": ["Orgs SDK Templates"]}, "get": {"description": "Get SDK Template Details", "operationId": "getSdkTemplate", "tags": ["Orgs SDK Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sdktemplate_id"}], "put": {"description": "Update SDK Template", "operationId": "updateSdkTemplate", "tags": ["Orgs SDK Templates"]}}}}}, "secpolicies": {"specs": {"get": {"description": "Get List of Org Security Policies", "operationId": "listOrgSecPolicies", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs SecPolicies"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Security Policy", "operationId": "createOrgSecPolicies", "tags": ["Orgs SecPolicies"]}}, "paths": {"{secpolicy_id}": {"specs": {"delete": {"description": "Delete Org Security Policy", "operationId": "deleteOrgSecPolicy", "tags": ["Orgs SecPolicies"]}, "get": {"description": "Get Org Security Policy", "operationId": "getOrgSecPolicy", "tags": ["Orgs SecPolicies"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/secpolicy_id"}], "put": {"description": "Update Org Security Policy", "operationId": "updateOrgSecPolicies", "tags": ["Orgs SecPolicies"]}}}}}, "servicepolicies": {"specs": {"get": {"description": "Get List of Org Service Policies", "operationId": "listOrgServicePolicies", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Service Policies"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Serrvice Policy", "operationId": "createOrgServicePolicy", "tags": ["Orgs Service Policies"]}}, "paths": {"{servicepolicy_id}": {"specs": {"delete": {"description": "Delete Org Service Policuy", "operationId": "deleteOrgServicePolicy", "tags": ["Orgs Service Policies"]}, "get": {"description": "Get Org Service Policy Details", "operationId": "getOrgServicePolicy", "tags": ["Orgs Service Policies"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/servicepolicy_id"}], "put": {"description": "Update Org Serrvice Policy", "operationId": "updateOrgServicePolicy", "tags": ["Orgs Service Policies"]}}}}}, "services": {"specs": {"get": {"description": "Get List of Org Services", "operationId": "listOrgServices", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Services"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create getOrgServices Service", "operationId": "createOrgService", "tags": ["Orgs Services"]}}, "paths": {"{service_id}": {"specs": {"delete": {"description": "deleteOrgService", "operationId": "deleteOrgService", "tags": ["Orgs Services"]}, "get": {"description": "Get Org Service", "operationId": "getOrgService", "tags": ["Orgs Services"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/service_id"}], "put": {"description": "update Org Service", "operationId": "updateOrgService", "tags": ["Orgs Services"]}}}}}, "setting": {"specs": {"get": {"description": "Get Org Settings", "operationId": "getOrgSettings", "tags": ["Orgs Setting"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "put": {"description": "Update Org Settings", "operationId": "updateOrgSettings", "tags": ["Orgs Setting"]}}, "paths": {"blacklist": {"specs": {"delete": {"description": "Delete Org Blacklist Station Clients", "operationId": "deleteOrgWirelessClientsBlocklist", "tags": ["Orgs Setting"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Blacklist Client List. \n\nIf there is already a blacklist, this API will replace it with the new one. \n\nMax number of blacklist clients is 1000. \n\nRetrieve the current blacklisted clients from `blacklist_url` under Org:Setting\n", "operationId": "createOrgWirelessClientsBlocklist", "tags": ["Orgs Setting"]}}}, "cradlepoint": {"paths": {"setup": {"specs": {"delete": {"description": "This deletes the Cradlepoint integration in Mist", "operationId": "deleteOrgCradlepointConnection", "tags": ["Orgs Devices Others"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "This sets up cradlepoint webhooks to send events to Mist", "operationId": "setupOrgCradlepointConnectionToMist", "tags": ["Orgs Devices Others"]}, "put": {"description": "This updates the Cradlepoint integration settings in Mist", "operationId": "updateOrgCradlepointConnectionToMist", "tags": ["Orgs Devices Others"]}}}, "sync": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "This syncs cradlepoint devices with Mist. We\u2019ll also attempt to use the LLDP data from cradlepoint to identify the linkage against Mist Site / Device", "operationId": "syncOrgCradlepointRouters", "tags": ["Orgs Devices Others"]}}}}}, "jse": {"paths": {"info": {"specs": {"get": {"description": "Retrieves the list of JSE orgs associated with the account.", "operationId": "getOrgJseInfo", "tags": ["Orgs JSE"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "setup": {"specs": {"delete": {"description": "Delete JSE credential", "operationId": "deleteOrgJsecCredential", "tags": ["Orgs JSE"]}, "get": {"description": "Get Org JSE Credential", "operationId": "getOrgJsecCredential", "tags": ["Orgs JSE"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "in JSE UI: \n1. Create custom role with Read access to service-location and RW access to site and IPSec profile APIs. \n2. Create a user with the above custom role. - email: john@abc.com \n3. Activate the user in the JSE account. \n4. Create the service locations on the JSE account.", "operationId": "setupOrgJsecCredential", "tags": ["Orgs JSE"]}}}}}, "juniper": {"paths": {"link_accounts": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Link Juniper Accounts", "operationId": "linkOrgToJuniperJuniperAccount", "tags": ["Orgs"]}}}, "unlink_account": {"specs": {"delete": {"description": "Unlink Juniper Customer ID\n`linked_by` field is only required if there are duplicate account_names.", "operationId": "unlinkOrgFromJuniperCustomerId", "tags": ["Orgs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "mist_nac_crls": {"specs": {"get": {"description": "Returns all uploaded CRL file IDs with names for the orgI", "operationId": "getOrgNacCrl", "tags": ["Orgs NAC CRL"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Import NAC Org CRL file is a multipart POST which has a .crl file to allow user to manually upload a Certificate Revocation List file. We support one file upload per Issuer. Re-uploads for the same issuer will overwrite the existing file.", "operationId": "importOrgNacCrl", "tags": ["Orgs NAC CRL"]}}, "paths": {"{naccrl_id}": {"specs": {"delete": {"description": "Delete NAC Org CRL file is a DELETE request to delete CRL file identified by its ID (ID assigned on file upload/creation)", "operationId": "deleteOrgNacCrl", "tags": ["Orgs NAC CRL"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/naccrl_id"}]}}}}, "pcap_bucket": {"paths": {"setup": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Provide Customer Bucket Name\n\nSetting up Custom PCAP Bucket Involves the following:\n* provide the bucket name\n* we\u2019ll attempt to write a file MIST_TOKEN\n* you have to verify the ownership of the bucket by providing the content of the MIST_TOKEN", "operationId": "setOrgCustomBucket", "tags": ["Orgs Setting"]}}}, "verify": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Verify Customer PCAP Bucket\n\n**Note**: If successful, a \u201cVERIFIED\u201d file will be created in the bucket", "operationId": "verifyOrgCustomBucket", "tags": ["Orgs Setting"]}}}}}, "zscaler": {"paths": {"setup": {"specs": {"delete": {"description": "To delete Zscaler credential\n", "operationId": "deleteOrgZscalerCredential", "tags": ["Orgs Devices Zscaler"]}, "get": {"description": "To get Zscaler credential", "operationId": "getOrgZscalerCredential", "tags": ["Orgs Devices Zscaler"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "To setup Zscaler credential\n", "operationId": "setupOrgZscalerCredential", "tags": ["Orgs Devices Zscaler"]}}}}}, "{app_name}": {"paths": {"link_accounts": {"specs": {"delete": {"description": "Delete Org Level OAuth Application Authorization With Mist Portal", "operationId": "deleteOrgOauthAppAuthorization", "tags": ["Orgs Linked Applications"]}, "get": {"description": "Get Org Level OAuth Application Linked Status", "operationId": "getOrgOauthAppLinkedStatus", "parameters": [{"description": "Mist portal url to which backend needs to redirect after succesful OAuth authorization. **Required** to get the `authorization_url`", "in": "query", "name": "forward", "required": true, "schema": {"type": "string"}}], "tags": ["Orgs Linked Applications"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"description": "OAuth application name", "in": "path", "name": "app_name", "required": true, "schema": {"enum": ["zomm", "teams", "intune", "jamf", "vmware"], "type": "string"}}], "post": {"description": "Add Jamf, VMware Authorization With Mist Portal", "operationId": "addOrgOauthAppAccounts", "tags": ["Orgs Linked Applications"]}, "put": {"description": "Update Zoom, Teams, Intune Authorization.\n\nRequest Payload, These Field And Values Will Be Specific To Each Of The Third Party Apps Accounts.", "operationId": "updateOrgOauthAppAccounts", "tags": ["Orgs Linked Applications"]}}}}}}}, "sitegroups": {"specs": {"get": {"description": "Get List of Org Site Groups", "operationId": "listOrgSiteGroups", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Sitegroups"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Site Group", "operationId": "createOrgSiteGroup", "tags": ["Orgs Sitegroups"]}}, "paths": {"{sitegroup_id}": {"specs": {"delete": {"description": "Delete Org Site Group", "operationId": "deleteOrgSiteGroup", "tags": ["Orgs Sitegroups"]}, "get": {"description": "Get Org Site Group", "operationId": "getOrgSiteGroup", "tags": ["Orgs Sitegroups"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sitegroup_id"}], "put": {"description": "Update Org Site Group", "operationId": "updateOrgSiteGroup", "tags": ["Orgs Sitegroups"]}}}}}, "sites": {"specs": {"get": {"description": "Get List of Org Sites", "operationId": "listOrgSites", "parameters": [{"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Sites"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Site", "operationId": "createOrgSite", "tags": ["Orgs Sites"]}}, "paths": {"count": {"specs": {"get": {"description": "Count Sites", "operationId": "countOrgSites", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "id", "enum": ["analytic_enabled", "app_waking", "asset_enabled", "auto_upgrade_enabled", "auto_upgrade_version", "country_code", "honeypot_enabled", "id", "locate_unconnected", "mesh_enabled", "name", "rogue_enabled", "remote_syslog_enabled", "rtsa_enabled", "vna_enabled", "wifi_enabled"], "type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Sites"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Sites", "operationId": "searchOrgSites", "parameters": [{"description": "if Advanced Analytic feature is enabled", "in": "query", "name": "analytic_enabled", "schema": {"type": "boolean"}}, {"description": "if App Waking feature is enabled", "in": "query", "name": "app_waking", "schema": {"type": "boolean"}}, {"description": "if Asset Tracking is enabled", "in": "query", "name": "asset_enabled", "schema": {"type": "boolean"}}, {"description": "if Auto Upgrade feature is enabled", "in": "query", "name": "auto_upgrade_enabled", "schema": {"type": "boolean"}}, {"description": "if Auto Upgrade feature is enabled", "in": "query", "name": "auto_upgrade_version", "schema": {"type": "string"}}, {"description": "site country code", "in": "query", "name": "country_code", "schema": {"type": "string"}}, {"description": "if Honeypot detection is enabled", "in": "query", "name": "honeypot_enabled", "schema": {"type": "boolean"}}, {"description": "site id", "in": "query", "name": "id", "schema": {"type": "string"}}, {"description": "if unconnected client are located", "in": "query", "name": "locate_unconnected", "schema": {"type": "boolean"}}, {"description": "if Mesh feature is enabled", "in": "query", "name": "mesh_enabled", "schema": {"type": "boolean"}}, {"description": "site name", "in": "query", "name": "name", "schema": {"type": "string"}}, {"description": "if Rogue detection is enabled", "in": "query", "name": "rogue_enabled", "schema": {"type": "boolean"}}, {"description": "if Remote Syslog is enabled", "in": "query", "name": "remote_syslog_enabled", "schema": {"type": "boolean"}}, {"description": "if managed mobility feature is enabled", "in": "query", "name": "rtsa_enabled", "schema": {"type": "boolean"}}, {"description": "if Virtual Network Assistant is enabled", "in": "query", "name": "vna_enabled", "schema": {"type": "boolean"}}, {"description": "if WIFI feature is enabled", "in": "query", "name": "wifi_enabled", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Sites"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "{site_name}": {"paths": {"maps": {"paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/site_name"}], "post": {"description": "Import data from files is a multipart POST which has a file, an optional json, and an optional csv, to create floorplan, assign matching inventory to specific site, place ap if name or mac matches\n\n#### Request\n\n```\n\"json\": a JSON string describing your upload\n\"file\": a binary file\n```", "operationId": "importOrgMapToSite", "tags": ["Orgs Sites"]}}}}}}}}}, "sitetemplates": {"specs": {"get": {"description": "Get List of Org Site Templates", "operationId": "listOrgSiteTemplates", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Site Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Site Template", "operationId": "createOrgSiteTemplates", "tags": ["Orgs Site Templates"]}}, "paths": {"{sitetemplate_id}": {"specs": {"delete": {"description": "Delete Org Site Template", "operationId": "deleteOrgSiteTemplate", "tags": ["Orgs Site Templates"]}, "get": {"description": "Get Org Site Template", "operationId": "getOrgSiteTemplate", "tags": ["Orgs Site Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sitetemplate_id"}], "put": {"description": "Update Org Site Template", "operationId": "updateOrgSiteTemplate", "tags": ["Orgs Site Templates"]}}}}}, "ssoroles": {"specs": {"get": {"description": "Get List of Org SSO Roles", "operationId": "listOrgSsoRoles", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs SSO Roles"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org SSO Role", "operationId": "createOrgSsoRole", "tags": ["Orgs SSO Roles"]}}, "paths": {"{ssorole_id}": {"specs": {"delete": {"description": "Delete Org SSO Role", "operationId": "deleteOrgSsoRole", "tags": ["Orgs SSO Roles"]}, "get": {"description": "Get Org SSO Role Details", "operationId": "getOrgSsoRole", "tags": ["Orgs SSO Roles"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/ssorole_id"}], "put": {"description": "Update Org SSO Role", "operationId": "updateOrgSsoRole", "tags": ["Orgs SSO Roles"]}}}}}, "ssos": {"specs": {"get": {"description": "Get List of Org SSO Configuration", "operationId": "listOrgSsos", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs SSO"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org SSO Configuration", "operationId": "createOrgSso", "tags": ["Orgs SSO"]}}, "paths": {"{sso_id}": {"specs": {"delete": {"description": "Delete Org SSO Configuration", "operationId": "deleteOrgSso", "tags": ["Orgs SSO"]}, "get": {"description": "Get Org SSO Configuration Details", "operationId": "getOrgSso", "tags": ["Orgs SSO"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sso_id"}], "put": {"description": "Update Org SSO Configuration", "operationId": "updateOrgSso", "tags": ["Orgs SSO"]}}, "paths": {"failures": {"specs": {"get": {"description": "Get List of Org SSO Latest Failures", "operationId": "listOrgSsoLatestFailures", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs SSO"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sso_id"}]}}, "metadata": {"specs": {"get": {"description": "Get Org SSO SAML Metadata", "operationId": "getOrgSsoSamlMetadata", "tags": ["Orgs SSO"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sso_id"}]}}, "metadata.xml": {"specs": {"get": {"description": "Download Org SSO SAML Metdata\n\nExample of metadata.xml:\n```xml\n\n \n \n urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n \n \n Mist\n \n \n \n \n \n\n```", "operationId": "downloadOrgSsoSamlMetadata", "tags": ["Orgs SSO"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sso_id"}]}}}}}}, "ssr": {"paths": {"upgrade": {"specs": {"get": {"description": "Get List of Org SSR Upgrades", "operationId": "listOrgSsrUpgrades", "tags": ["Orgs Devices Upgrades"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Upgrade Org SSRs", "operationId": "upgradeOrgSsrs", "tags": ["Orgs Devices Upgrades"]}}, "paths": {"{upgrade_id}": {"paths": {"cancel": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/upgrade_id"}], "post": {"description": "Best effort to cancel an upgrade. Devices which are already upgraded wont be touched\u21b5\n", "operationId": "cancelOrgSsrUpgrade", "tags": ["Orgs Devices Upgrades"]}}}}}}}, "versions": {"specs": {"get": {"description": "Get available version for SSR", "operationId": "listOrgAvailableSsrVersions", "parameters": [{"in": "query", "name": "channel", "schema": {"type": "string"}}], "tags": ["Orgs Devices Upgrades"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "stats": {"specs": {"get": {"description": "Get Org Stats", "operationId": "getOrgStats", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Stats"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"assets": {"specs": {"get": {"description": "Get List of Org Assets Stats", "operationId": "listOrgAssetsStats", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Stats"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"count": {"specs": {"get": {"description": "Count Org Assets", "operationId": "countOrgAssetsByDistanceField", "parameters": [{"in": "query", "name": "distinct", "schema": {"enum": ["site_id", "mac", "map_id", "ibeacon_uuid", "ibeacon_major", "ibeacon_minor"], "type": "string"}}], "tags": ["Orgs Assets"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search for Org Assets", "operationId": "searchOrgAssets", "parameters": [{"in": "query", "name": "site_id", "schema": {"format": "uuid", "type": "string"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}, {"in": "query", "name": "device_name", "schema": {"type": "string"}}, {"in": "query", "name": "name", "schema": {"type": "string"}}, {"in": "query", "name": "map_id", "schema": {"format": "uuid", "type": "string"}}, {"in": "query", "name": "ibeacon_uuid", "schema": {"format": "uuid", "type": "string"}}, {"in": "query", "name": "ibeacon_major", "schema": {"type": "string"}}, {"in": "query", "name": "ibeacon_minor", "schema": {"type": "string"}}, {"in": "query", "name": "eddystone_uid_namespace", "schema": {"type": "string"}}, {"in": "query", "name": "eddystone_uid_instance", "schema": {"type": "string"}}, {"in": "query", "name": "eddystone_url", "schema": {"type": "string"}}, {"in": "query", "name": "ap_mac", "schema": {"type": "string"}}, {"in": "query", "name": "beam", "schema": {"type": "integer"}}, {"in": "query", "name": "rssi", "schema": {"type": "integer"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Assets"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "bgp_peers": {"paths": {"count": {"specs": {"get": {"description": "Count Org BGP Stats", "operationId": "countOrgBgpStats", "tags": ["Orgs Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org BGP Stats", "operationId": "searchOrgBgpStats", "tags": ["Orgs Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "devices": {"specs": {"get": {"description": "Get List of Org Devices stats\nThis API renders some high-level device stats, pagination is assumed and returned in response header (as the response is an array)", "operationId": "listOrgDevicesStats", "parameters": [{"in": "query", "name": "type", "schema": {"default": "ap", "enum": ["ap", "switch", "gateway", "all"], "type": "string"}}, {"in": "query", "name": "status", "schema": {"default": "all", "enum": ["all", "connected", "disconnected"], "type": "string"}}, {"in": "query", "name": "site_id", "schema": {"format": "uuid", "type": "string"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "EVPN Topology ID", "in": "query", "name": "evpntopo_id", "schema": {"format": "uuid", "type": "string"}}, {"description": "if `evpn_unused`==`true`, find EVPN eligible switches which don\u2019t belong to any EVPN Topology yet", "in": "query", "name": "evpn_unused", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/fields"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Stats"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "mxedges": {"specs": {"get": {"description": "Get List of Org MxEdge Stats", "operationId": "listOrgMxEdgesStats", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"description": "filter for site level mist edges", "in": "query", "name": "for_site", "schema": {"default": "false", "enum": ["true", "false", "any"], "type": "string"}}], "tags": ["Orgs Stats"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"{mxedge_id}": {"specs": {"get": {"description": "Get Org MxEdge Details Stats", "operationId": "getOrgMxEdgeStats", "tags": ["Orgs Stats"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxedge_id"}]}}}}, "otherdevices": {"paths": {"{device_mac}": {"specs": {"get": {"description": "Get Otherdevice Stats", "operationId": "getOrgOtherDeviceStats", "tags": ["Orgs Devices Others"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/device_mac"}]}}}}, "ports": {"paths": {"search": {"specs": {"get": {"description": "Search Switch / Gateway Ports", "operationId": "searchOrgSwOrGwPorts", "parameters": [{"description": "indicates full or half duplex", "in": "query", "name": "full_duplex", "schema": {"type": "boolean"}}, {"description": "device identifier", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Chassis identifier of the chassis type listed", "in": "query", "name": "neighbor_mac", "schema": {"type": "string"}}, {"description": "Description supplied by the system on the interface E.g. \u201cGigabitEthernet2/0/39\u201d", "in": "query", "name": "neighbor_port_desc", "schema": {"type": "string"}}, {"description": "Name supplied by the system on the interface E.g. neighbor system name E.g. \u201cKumar-Acc-SW.mist.local\u201d", "in": "query", "name": "neighbor_system_name", "schema": {"type": "string"}}, {"description": "is the POE configured not be disabled.", "in": "query", "name": "poe_disabled", "schema": {"type": "boolean"}}, {"description": "poe mode depending on class E.g. \u201c802.3at\u201d", "in": "query", "name": "poe_mode", "schema": {"type": "string"}}, {"description": "is the device attached to POE", "in": "query", "name": "poe_on", "schema": {"type": "boolean"}}, {"description": "interface name", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "interface mac address", "in": "query", "name": "port_mac", "schema": {"type": "string"}}, {"description": "Amount of power being used by the interface at the time the command is executed. Unit in watts.", "in": "query", "name": "power_draw", "schema": {"type": "number"}}, {"description": "Output packets", "in": "query", "name": "tx_pkts", "schema": {"type": "integer"}}, {"description": "Input packets", "in": "query", "name": "rx_pkts", "schema": {"type": "integer"}}, {"description": "Input bytes", "in": "query", "name": "rx_bytes", "schema": {"type": "integer"}}, {"description": "Output rate", "in": "query", "name": "tx_bps", "schema": {"type": "integer"}}, {"description": "Input rate", "in": "query", "name": "rx_bps", "schema": {"type": "integer"}}, {"description": "Output errors", "in": "query", "name": "tx_errors", "schema": {"type": "integer"}}, {"description": "Input errors", "in": "query", "name": "rx_errors", "schema": {"type": "integer"}}, {"description": "Multicast output packets", "in": "query", "name": "tx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast output packets", "in": "query", "name": "tx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "Multicast input packets", "in": "query", "name": "rx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast input packets", "in": "query", "name": "rx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "port speed", "in": "query", "name": "speed", "schema": {"type": "integer"}}, {"description": "Limit on number of dynamically learned macs", "in": "query", "name": "mac_limit", "schema": {"type": "integer"}}, {"description": "Number of mac addresses in the forwarding table", "in": "query", "name": "mac_count", "schema": {"type": "integer"}}, {"description": "indicates if interface is up", "in": "query", "name": "up", "schema": {"type": "boolean"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_state", "schema": {"enum": ["forwarding", "blocking", "learning", "listening", "disabled"], "type": "string"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_role", "schema": {"enum": ["designated", "backup", "alternate", "root", "root-prevented"], "type": "string"}}, {"description": "if `up`==`true` && has Authenticator role", "in": "query", "name": "auth_state", "schema": {"enum": ["init", "authenticated", "authenticating", "held"], "type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "switch_ports": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Switch/Gateway Ports", "operationId": "countOrgSwitchPorts", "parameters": [{"description": "port_id, port_mac, full_duplex, mac, neighbor_macneighbor_port_desc, neighbor_system_name, poe_disabled, poe_mode, poe_on, speed, up", "in": "query", "name": "distinct", "schema": {"default": "mac", "enum": ["port_id", "port_mac", "full_duplex", "mac", "neighbor_mac", "neighbor_port_desc", "neighbor_system_name", "poe_disabled", "poe_mode", "poe_on", "speed", "up"], "type": "string"}}, {"description": "indicates full or half duplex", "in": "query", "name": "full_duplex", "schema": {"type": "boolean"}}, {"description": "device identifier", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Chassis identifier of the chassis type listed", "in": "query", "name": "neighbor_mac", "schema": {"type": "string"}}, {"description": "Description supplied by the system on the interface E.g. \u201cGigabitEthernet2/0/39\u201d", "in": "query", "name": "neighbor_port_desc", "schema": {"type": "string"}}, {"description": "Name supplied by the system on the interface E.g. neighbor system name E.g. \u201cKumar-Acc-SW.mist.local\u201d", "in": "query", "name": "neighbor_system_name", "schema": {"type": "string"}}, {"description": "is the POE configured not be disabled.", "in": "query", "name": "poe_disabled", "schema": {"type": "boolean"}}, {"description": "poe mode depending on class E.g. \u201c802.3at\u201d", "in": "query", "name": "poe_mode", "schema": {"type": "string"}}, {"description": "is the device attached to POE", "in": "query", "name": "poe_on", "schema": {"type": "boolean"}}, {"description": "interface name", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "interface mac address", "in": "query", "name": "port_mac", "schema": {"type": "string"}}, {"description": "Amount of power being used by the interface at the time the command is executed. Unit in watts.", "in": "query", "name": "power_draw", "schema": {"type": "number"}}, {"description": "Output packets", "in": "query", "name": "tx_pkts", "schema": {"type": "integer"}}, {"description": "Input packets", "in": "query", "name": "rx_pkts", "schema": {"type": "integer"}}, {"description": "Input bytes", "in": "query", "name": "rx_bytes", "schema": {"type": "integer"}}, {"description": "Output rate", "in": "query", "name": "tx_bps", "schema": {"type": "integer"}}, {"description": "Input rate", "in": "query", "name": "rx_bps", "schema": {"type": "integer"}}, {"description": "Multicast output packets", "in": "query", "name": "tx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast output packets", "in": "query", "name": "tx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "Multicast input packets", "in": "query", "name": "rx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast input packets", "in": "query", "name": "rx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "port speed", "in": "query", "name": "speed", "schema": {"type": "integer"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_state", "schema": {"enum": ["forwarding", "blocking", "learning", "listening", "disabled"], "type": "string"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_role", "schema": {"enum": ["designated", "backup", "alternate", "root", "root-prevented"], "type": "string"}}, {"description": "if `up`==`true`", "in": "query", "name": "auth_state", "schema": {"enum": ["init", "authenticated", "authenticating", "held"], "type": "string"}}, {"description": "indicates if interface is up", "in": "query", "name": "up", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Stats"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "tunnels": {"paths": {"count": {"specs": {"get": {"description": "Count Mist Tunnels Stats", "operationId": "countOrgTunnelsStats", "parameters": [{"description": "- If `type`==`wxtunnel`: wxtunnel_id / ap / remote_ip / remote_port / state / mxedge_id / mxcluster_id / site_id / peer_mxedge_id; default is wxtunnel_id \n- If `type`==`wan`: mac / site_id / node / peer_ip / peer_host/ ip / tunnel_name / protocol / auth_algo / encrypt_algo / ike_version / last_event / up", "in": "query", "name": "distinct", "schema": {"enum": ["auth_algo"], "type": "string"}}, {"in": "query", "name": "type", "schema": {"default": "wxtunnel", "enum": ["wxtunnel", "wan"], "type": "string"}}], "tags": ["Orgs Tunnels Stats"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org Tunnels Stats", "operationId": "searchOrgTunnelsStats", "parameters": [{"description": "if `type`==`wxtunnel`", "in": "query", "name": "mxcluster_id", "schema": {"type": "string"}}, {"in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "if `type`==`wxtunnel`", "in": "query", "name": "wxtunnel_id", "schema": {"type": "string"}}, {"description": "if `type`==`wxtunnel`", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "node", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "peer_ip", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "peer_host", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "ip", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "tunnel_name", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "protocol", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "auth_algo", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "encrypt_algo", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "ike_version", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "up", "schema": {"type": "string"}}, {"in": "query", "name": "type", "schema": {"default": "wxtunnel", "enum": ["wxtunnel", "wan"], "type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Tunnels Stats"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "vpn_peers": {"paths": {"count": {"specs": {"get": {"description": "Count Org Peer Path Statgs", "operationId": "countOrgPeerPathStats", "parameters": [{"in": "query", "name": "distinct", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs VPNs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org Peer Path Stats", "operationId": "searchOrgPeerPathStats", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs VPNs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}}}, "subscriptions": {"specs": {"delete": {"description": "Unsubscribe from Org Alarms/Reports\nSubscriptions define how Org Alarms/Reports are delivered to whom", "operationId": "unsubscribeOrgAlarmsReports", "tags": ["Orgs Subscriptions"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Subscribe to Org Alarms/Reports\nSubscriptions define how Org Alarms/Reports are delivered to whom", "operationId": "subscribeOrgAlarmsReports", "tags": ["Orgs Subscriptions"]}}}, "templates": {"specs": {"get": {"description": "Get List of Org WLAN Templates", "operationId": "listOrgTemplates", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Template", "operationId": "createOrgTemplate", "tags": ["Orgs Templates"]}}, "paths": {"{template_id}": {"specs": {"delete": {"description": "Delete Org Template", "operationId": "deleteOrgTemplate", "tags": ["Orgs Templates"]}, "get": {"description": "Get Org Template Details", "operationId": "getOrgTemplate", "tags": ["Orgs Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/template_id"}], "put": {"description": "Update Org Template", "operationId": "updateOrgTemplate", "tags": ["Orgs Templates"]}}, "paths": {"clone": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/template_id"}], "post": {"description": "Clone Org Template", "operationId": "cloneOrgTemplate", "tags": ["Orgs Templates"]}}}}}}}, "tickets": {"specs": {"get": {"description": "Get List of Tickets of an Org", "operationId": "listOrgTickets", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Tickets"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create a support ticket", "operationId": "createOrgTicket", "tags": ["Orgs Tickets"]}}, "paths": {"count": {"specs": {"get": {"description": "Count Org Tickets", "operationId": "countOrgTickets", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "status", "enum": ["status", "type"], "type": "string"}}], "tags": ["Orgs Tickets"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "{ticket_id}": {"specs": {"get": {"description": "Get support ticket details", "operationId": "getOrgTicket", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Tickets"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/ticket_id"}], "put": {"description": "Update support ticket", "operationId": "updateOrgTicket", "tags": ["Orgs Tickets"]}}, "paths": {"comments": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/ticket_id"}], "post": {"description": "Add Comment to support ticket", "operationId": "addOrgTicketComment", "tags": ["Orgs Tickets"]}}}}}}}, "troubleshoot": {"specs": {"get": {"description": "Troubleshoot sites, devices, clients, and wired clients. See search APIs for device information:\n- [search Device](/#operation/searchOrgDevices)\n- [search Wireless Client](/#operation/searchOrgWirelessClients)\n- [search Wired Client](/#operation/searchOrgWiredClients)\n- [search Wan Client](/#operation/searchOrgWanClients)\n\n**NOTE**: requires Marvis subscription license", "operationId": "troubleshootOrg", "parameters": [{"description": "**required** when troubleshooting device or a client", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "**required** when troubleshooting site", "in": "query", "name": "site_id", "schema": {"format": "uuid", "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"description": "when troubleshooting site, type of network to troubleshoot", "in": "query", "name": "type", "schema": {"enum": ["wireless", "wired", "wan"], "type": "string"}}], "tags": ["Orgs Marvis"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "vars": {"paths": {"search": {"specs": {"get": {"description": "Search vars\n\nExample: /api/v1/orgs/:org_id/vars/search?vars=*", "operationId": "searchOrgVars", "parameters": [{"in": "query", "name": "site_id", "schema": {"type": "string"}}, {"in": "query", "name": "vars", "schema": {"type": "string"}}, {"in": "query", "name": "src", "schema": {"enum": ["site", "deviceprofile"], "type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Vars"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "vpns": {"specs": {"get": {"description": "Get List of Org VPNs", "operationId": "listOrgsVpns", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs VPNs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org VPN", "operationId": "createOrgVpns", "tags": ["Orgs VPNs"]}}, "paths": {"{vpn_id}": {"specs": {"delete": {"description": "delete Org Vpn", "operationId": "deleteOrgVpn", "tags": ["Orgs VPNs"]}, "get": {"description": "getOrgVpn", "operationId": "getOrgVpn", "tags": ["Orgs VPNs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/vpn_id"}], "put": {"description": "update Org Vpn", "operationId": "updateOrgVpn", "tags": ["Orgs VPNs"]}}}}}, "wan_client": {"paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Org WAN Client-Events\n", "operationId": "countOrgWanClientEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "type", "enum": ["type", "hostname", "ip", "mfg", "mac"], "type": "string"}}], "tags": ["Orgs Clients - Wan"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}}}, "wan_clients": {"paths": {"count": {"specs": {"get": {"description": "Count Org WAN Clients", "operationId": "countOrgWanClients", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "mac", "enum": ["hostname", "ip", "mfg", "mac"], "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Clients - Wan"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "events": {"paths": {"search": {"specs": {"get": {"description": "Search Org WAN Client Events\n", "operationId": "searchOrgWanClientEvents", "parameters": [{"description": "Event type, e.g. CLIENT_IP_ASSIGNED, CLIENT_IP_RENEWED, CLIENT_IP_EXPIRED", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "partial / full MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "client IP", "in": "query", "name": "ip", "schema": {"type": "string"}}, {"description": "Manufacture", "in": "query", "name": "mfg", "schema": {"type": "string"}}, {"description": "nacrule_id", "in": "query", "name": "nacrule_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Clients - Wan"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "search": {"specs": {"get": {"description": "Search Org WAN Clients", "operationId": "searchOrgWanClients", "parameters": [{"description": "partial / full MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "client IP", "in": "query", "name": "ip", "schema": {"type": "string"}}, {"description": "Manufacture", "in": "query", "name": "mfg", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Clients - Wan"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "webhooks": {"specs": {"get": {"description": "Get List of Org Webhooks", "operationId": "listOrgWebhooks", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Webhooks"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Webhook\n\n**N.B**. For org webhooks, only device-events/alarms/audits/client-join/client-sessions/device-updowns/mxedge-events Infrastructure topics are supported.", "operationId": "createOrgWebhook", "tags": ["Orgs Webhooks"]}}, "paths": {"{webhook_id}": {"specs": {"delete": {"description": "Delete Org Webhook", "operationId": "deleteOrgWebhook", "tags": ["Orgs Webhooks"]}, "get": {"description": "Get Org Webhook Details", "operationId": "getOrgWebhook", "tags": ["Orgs Webhooks"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/webhook_id"}], "put": {"description": "Update Org Webhook", "operationId": "updateOrgWebhook", "tags": ["Orgs Webhooks"]}}, "paths": {"events": {"paths": {"search": {"specs": {"get": {"description": "Search webhooks deliveries\n\nTo get a list of webhook deliveries in error, use the query parameter `?error=*`", "operationId": "searchOrgWebhooksDeliveries", "parameters": [{"in": "query", "name": "site_id", "schema": {"format": "uuid", "type": "string"}}, {"in": "query", "name": "error", "schema": {"type": "string"}}, {"in": "query", "name": "status_code", "schema": {"type": "integer"}}, {"description": "webhook topic", "in": "query", "name": "topic", "schema": {"enum": ["alarms", "audits", "device-updowns", "ping"], "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Webhooks"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/webhook_id"}]}}}}, "ping": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/webhook_id"}], "post": {"description": "send a Ping event to the webhook", "operationId": "pingOrgWebhook", "tags": ["Orgs Webhooks"]}}}}}}}, "wired_clients": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Clients\n\nNote: For list of avaialable `type` values, please refer to [listClientEventsDefinitions](/#operation/listClientEventsDefinitions)", "operationId": "countOrgWiredClients", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "mac", "enum": ["port_id", "vlan", "mac", "device_mac", "site_id", "type"], "type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Clients - Wired"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search for Wired Clients in org\n\nNote: For list of avaialable `type` values, please refer to [listClientEventsDefinitions](/#operation/listClientEventsDefinitions)", "operationId": "searchOrgWiredClients", "parameters": [{"description": "Site ID", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "device mac", "in": "query", "name": "device_mac", "schema": {"type": "string"}}, {"description": "client mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "port id", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "vlan", "in": "query", "name": "vlan", "schema": {"type": "integer"}}, {"description": "ip", "in": "query", "name": "ip", "schema": {"type": "string"}}, {"description": "client manufacturer", "in": "query", "name": "manufacture", "schema": {"type": "string"}}, {"description": "single entry of hostname/mac", "in": "query", "name": "text", "schema": {"type": "string"}}, {"description": "nacrule_id", "in": "query", "name": "nacrule_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Clients - Wired"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "wlans": {"specs": {"get": {"description": "Get List of Org Wlans", "operationId": "listOrgWlans", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Wlans"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Wlan", "operationId": "createOrgWlan", "tags": ["Orgs Wlans"]}}, "paths": {"{wlan_id}": {"specs": {"delete": {"description": "Delete Org WLAN", "operationId": "deleteOrgWlan", "tags": ["Orgs Wlans"]}, "get": {"description": "Get Org Wlan Detail", "operationId": "getOrgWLAN", "tags": ["Orgs Wlans"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/wlan_id"}], "put": {"description": "Update Org Wlan", "operationId": "updateOrgWlan", "tags": ["Orgs Wlans"]}}, "paths": {"portal_image": {"specs": {"delete": {"description": "Delete Org WLAN Portal Image", "operationId": "deleteOrgWlanPortalImage", "tags": ["Orgs Wlans"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/wlan_id"}], "post": {"description": "Upload Org WLAN Portal Image", "operationId": "uploadOrgWlanPortalImage", "tags": ["Orgs Wlans"]}}}, "portal_template": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/wlan_id"}], "put": {"description": "Update a Portal Template\n\n#### Sponsor Email Template\nSponsor Email Template supports following template variables:\n\n| **Name** | **Description** |\n| --- | --- |\n| approve_url | Renders URL to approve the request; optionally &minutes=N query param can be appended to change the Authorization period of the guest, where N is a valid integer denoting number of minutes a guest remains authorized |\n| deny_url | Renders URL to reject the request |\n| guest_email | Renders Email ID of the guest |\n| guest_name | Renders Name of the guest |\n| field1 | Renders value of the Custom Field 1 |\n| field2 | Renders value of the Custom Field 2 |\n| company | Renders value of the Company field |\n| sponsor_link_validity_duration | Renders validity time of the request (i.e. Approve/Deny URL) |\n| auth_expire_minutes | Renders Wlan-level configured Guest Authorization Expiration time period (in minutes), If not configured then default (1 day in minutes) |", "operationId": "updateOrgWlanPortalTemplate", "tags": ["Orgs Wlans"]}}}}}}}, "wxrules": {"specs": {"get": {"description": "Get List of Org WxRules", "operationId": "listOrgWxRules", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs WxRules"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org WxRule", "operationId": "createOrgWxRule", "tags": ["Orgs WxRules"]}}, "paths": {"derived": {"specs": {"get": {"description": "Get Derived Org WxRule", "operationId": "getOrgWxRulesDerived", "tags": ["Orgs WxRules"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "{wxrules_id}": {"specs": {"delete": {"description": "Delete Org WxRule", "operationId": "deleteOrgWxRule", "tags": ["Orgs WxRules"]}, "get": {"description": "Get Org WxRule Details", "operationId": "getOrgWxRule", "tags": ["Orgs WxRules"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/wxrules_id"}], "put": {"description": "Update Org WxRule", "operationId": "updateOrgWxRule", "tags": ["Orgs WxRules"]}}}}}, "wxtags": {"specs": {"get": {"description": "Get List of Org WxLAN Tags", "operationId": "listOrgWxTags", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs WxTags"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create WxLAN Tag", "operationId": "createOrgWxTag", "tags": ["Orgs WxTags"]}}, "paths": {"apps": {"specs": {"get": {"description": "Get Application List", "operationId": "getOrgApplicationList", "tags": ["Orgs WxTags"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "{wxtag_id}": {"specs": {"delete": {"description": "Delete WxLAN Tag", "operationId": "deleteOrgWxTag", "tags": ["Orgs WxTags"]}, "get": {"description": "Get WxLAN Tag Details", "operationId": "getOrgWxTag", "tags": ["Orgs WxTags"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/wxtag_id"}], "put": {"description": "Update WxLAN Tag", "operationId": "updateOrgWxTag", "tags": ["Orgs WxTags"]}}, "paths": {"clients": {"specs": {"get": {"description": "Get Current Matching Clients of a WXLAN Tag", "operationId": "getOrgCurrentMatchingClientsOfAWxTag", "tags": ["Orgs WxTags"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/wxtag_id"}]}}}}}}, "wxtunnels": {"specs": {"get": {"description": "Get List of Org WxLAN Tunnels", "operationId": "listOrgWxTunnels", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs WxTunnels"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org WxAN Tunnel", "operationId": "createOrgWxTunnel", "tags": ["Orgs WxTunnels"]}}, "paths": {"{wxtunnel_id}": {"specs": {"delete": {"description": "Delete Org WxLAN Tunnel", "operationId": "deleteOrgWxTunnel", "tags": ["Orgs WxTunnels"]}, "get": {"description": "Get Org WxLAN Tunnel Details", "operationId": "getOrgWxTunnel", "tags": ["Orgs WxTunnels"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/wxtunnel_id"}], "put": {"description": "Update Org WxLAN Tunnel", "operationId": "updateOrgWxTunnel", "tags": ["Orgs WxTunnels"]}}}}}}}}}, "recover": {"specs": {"post": {"description": "Recover Password\nAn email will also be sent to the user with a link to https://manage.mist.com/verify/recover?token=:token", "operationId": "recoverPassword", "tags": ["Recover Password"]}}, "paths": {"verify": {"paths": {"{token}": {"specs": {"parameters": [{"$ref": "#/components/parameters/token"}], "post": {"description": "Verify Recover Password\nWith correct verification, the user will be authenticated. UI can then prompt for new password", "operationId": "verifyRecoverPasssword", "tags": ["Recover Password"]}}}}}}}, "register": {"specs": {"post": {"description": "Register a new admin and his/her org\nAn email will also be sent to the user with a link to `/verify/register?token={token}`\n\n### reCAPTCHA\nGoogle reCAPTCHA is the choice to prevent bot registration\n\nIt needs this \n\n<script src='https://www.google.com/recaptcha/api.js' ></script>\n\nand this <div> in the desired place\n```html\n
\n```\n\nUse GET /api/v1/register/recaptcha to read the current setting.\nResponse example:\n```json\n{ \n \"flavor\": \"google\",\n \"required\": true, \n \"sitekey\": \"6LdAewsTAAAAAE25XKQhPEQ2FiMTft-WrZXQ5NUd\"\n}\n```\n\n### hCaptcha\nAlternative to reCAPTCHA is hCaptcha to prevent bot registration\n\nIt needs this script\n\n<script src='https://js.hcaptcha.com/1/api.js' async defer ></script>\n\nand this <div> in the desired place\n```html\n
\n```\n\nUse GET /api/v1/register/recaptcha?recaptcha_flavor=hcaptcha to read the current setting for hcaptcha with reply.\nResponse example:\n```json\n{\n \"flavor\": \"hcaptcha\",\n \"required\": true,\n \"sitekey\": \"6LdAewsTAAAAAE25XKQhPEQ2FiMTft-WrZXQ5NUd\"\n}\"\n```", "operationId": "registerNewAdmin", "tags": ["Orgs Admins"]}}, "paths": {"recaptcha": {"specs": {"get": {"description": "Get Registration Information", "operationId": "getAdminRegistrationInfo", "parameters": [{"in": "query", "name": "recaptcha_flavor", "schema": {"default": "google", "enum": ["google", "hcaptcha"], "type": "string"}}], "tags": ["Admin"]}}}, "verify": {"paths": {"{token}": {"specs": {"parameters": [{"$ref": "#/components/parameters/token"}], "post": {"description": "Verify registration", "operationId": "verifyRegistration", "tags": ["Orgs Admins"]}}}}}}}, "self": {"specs": {"delete": {"description": "To delete ones account and every associated with it. The effects:\n\nthe account would be deleted\nany orphaned Org (that only has this account as admin) will be deleted\nalong with all data with Org (sites, wlans, devices) will be gone.", "operationId": "deleteSelf", "tags": ["Self Account"]}, "get": {"description": "Get \u2018whoami\u2019 and privileges (which org and which sites I have access to)", "operationId": "getSelf", "tags": ["Self Account"]}, "put": {"description": "update Account Information", "operationId": "updateSelf", "tags": ["Self Account"]}}, "paths": {"apitokens": {"specs": {"get": {"description": "Get List of Current User API Tokens", "operationId": "listApiTokens", "tags": ["Self API Token"]}, "post": {"description": "Create API Token\nNote that the key is only available during creation time.", "operationId": "createApiToken", "tags": ["Self API Token"]}}, "paths": {"{apitoken_id}": {"specs": {"delete": {"description": "Delete an API Token", "operationId": "deleteApiToken", "tags": ["Self API Token"]}, "get": {"description": "Get User API Token", "operationId": "getApiToken", "tags": ["Self API Token"]}, "parameters": [{"$ref": "#/components/parameters/apitoken_id"}], "put": {"description": "Update User API Token", "operationId": "updateApiToken", "tags": ["Self API Token"]}}}}}, "logs": {"specs": {"get": {"description": "Get List of change logs across all Orgs for current admin\nAudit logs records all administrative activities done by current admin across all orgs", "operationId": "listSelfAuditLogs", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Self Audit Logs"]}}}, "oauth": {"paths": {"{provider}": {"specs": {"get": {"description": "Obtain Authorization URL for Linking", "operationId": "getOAuth2UrlForLinking", "parameters": [{"in": "query", "name": "forward", "schema": {"example": "http://manage.mist.com/oauth/callback.html", "type": "string"}}], "tags": ["Self OAuth2"]}, "parameters": [{"in": "path", "name": "provider", "required": true, "schema": {"type": "string"}}], "post": {"description": "Link Mist account with an OAuth2 Provider", "operationId": "linkOAuth2MistAccount", "tags": ["Self OAuth2"]}}}}}, "subscriptions": {"specs": {"get": {"description": "Get List of all the subscriptions", "operationId": "listAlarmSubscriptions", "tags": ["Self Alarms"]}}}, "two_factor": {"paths": {"token": {"specs": {"get": {"description": "Generate Secret Key for 2FA verification", "operationId": "generateSecretFor2faVerification", "parameters": [{"description": "if `by`==`qrcode`, returns the secret as a qrcode image", "in": "query", "name": "by", "schema": {"default": "qrcode", "enum": ["qrcode"], "type": "string"}}], "tags": ["Self MFA"]}}}, "verify": {"specs": {"post": {"description": "Verify Two-factor (OTP)\n\nTo verify two-factor authentication by using a code generated by app (e.g. Google Authenticator, Authy). Upon successful verification, the `two_factor_passed` will be set to true if it hasn\u2019t already been.\n", "operationId": "verifyTwoFactor", "tags": ["Self MFA"]}}}}}, "update": {"specs": {"post": {"description": "Change Email\nWe require the user to verify that they actually own the email address they intend to change it to.\n\nAfter the API call, the user will receive an email to the new email address with a link like https://manage.mist.com/verify/update?expire=:exp_time&email=:admin_email&token=:token\n\nUpon clicking the link, the user is provided with a login page to authenticate using existing credentials. After successful login, the email address of the user gets updated\n\n**Note**: The request parameter email can be used by UI to validate that the current session (if any) belongs to the admin or provide a login page (by pre-populating the email on login screen). UI can also use the request parameter expire to validate token expiry.", "operationId": "updateSelfEmail", "tags": ["Self Account"]}}, "paths": {"verify": {"paths": {"{token}": {"specs": {"get": {"description": "Verify Email change", "operationId": "verifySelfEmail", "tags": ["Self Account"]}, "parameters": [{"$ref": "#/components/parameters/token"}]}}}}}}}}, "sites": {"paths": {"{site_id}": {"specs": {"delete": {"description": "Delete Site", "operationId": "deleteSite", "tags": ["Sites"]}, "get": {"description": "Get Site Info", "operationId": "getSiteInfo", "tags": ["Sites"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "put": {"description": "Update Site Info", "operationId": "updateSiteInfo", "tags": ["Sites"]}}, "paths": {"alarms": {"paths": {"ack": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Ack multiple Site Alarms", "operationId": "multiAckSiteAlarms", "tags": ["Sites Alarms"]}}}, "ack_all": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Ack all Site Alarms\n\n**N.B.**: Batch size for multiple alarm ack and unack has to be less or or equal to 1000.", "operationId": "ackSiteAllAlarms", "tags": ["Sites Alarms"]}}}, "count": {"specs": {"get": {"description": "Count Site Alarms", "operationId": "countSiteAlarms", "parameters": [{"description": "Group by and count the alarms by some distinct field", "in": "query", "name": "distinct", "schema": {"default": "type", "enum": ["type", "acked", "severity", "group"], "type": "string"}}, {"description": "Name of the admins who have acked the alarms; accepts multiple values separated by comma", "in": "query", "name": "ack_admin_name", "schema": {"type": "string"}}, {"in": "query", "name": "acked", "schema": {"type": "boolean"}}, {"description": "Key-name of the alarms; accepts multiple values separated by comma", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "Alarm severity; accepts multiple values separated by comma", "in": "query", "name": "severity", "schema": {"type": "string"}}, {"description": "Alarm group name; accepts multiple values separated by comma", "in": "query", "name": "group", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Alarms"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Site Alarms", "operationId": "searchSiteAlarms", "parameters": [{"description": "Key-name of the alarms; accepts multiple values separated by comma", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "Name of the admins who have acked the alarms; accepts multiple values separated by comma", "in": "query", "name": "ack_admin_name", "schema": {"type": "string"}}, {"in": "query", "name": "acked", "schema": {"type": "boolean"}}, {"description": "Alarm severity; accepts multiple values separated by comma", "in": "query", "name": "severity", "schema": {"type": "string"}}, {"description": "Alarm group name; accepts multiple values separated by comma", "in": "query", "name": "group", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Alarms"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "unack": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Unack multiple Site Alarms", "operationId": "multiUnackSiteAlarms", "tags": ["Sites Alarms"]}}}, "unack_all": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Unack all Site Alarms\n\n**N.B.**: Batch size for multiple alarm ack and unack has to be less or or equal to 1000.", "operationId": "unackSiteAllArlarms", "tags": ["Sites Alarms"]}}}, "{alarm_id}": {"paths": {"ack": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/alarm_id"}], "post": {"description": "Ack Site Alarm", "operationId": "ackSiteAlarm", "tags": ["Sites Alarms"]}}}, "unack": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/alarm_id"}], "post": {"description": "Unack Site Alarm", "operationId": "unackSiteAlarm", "tags": ["Sites Alarms"]}}}}}}}, "anomaly": {"paths": {"client": {"paths": {"{client_mac}": {"paths": {"{metric}": {"specs": {"get": {"description": "Get Client Anomaly Events", "operationId": "getSiteAnomalyEventsForClient", "tags": ["Sites Anomaly"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/client_mac"}, {"$ref": "#/components/parameters/metric"}]}}}}}}, "device": {"paths": {"{device_mac}": {"paths": {"{metric}": {"specs": {"get": {"description": "Get Device Anomaly Events", "operationId": "getSiteAnomalyEventsforDevice", "tags": ["Sites Anomaly"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/metric"}, {"$ref": "#/components/parameters/device_mac"}]}}}}}}, "{metric}": {"specs": {"get": {"description": "Get Site Anomaly Events", "operationId": "getSiteAnomalyEvents", "tags": ["Sites Anomaly"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/metric"}]}}}}, "apps": {"specs": {"get": {"description": "Get List of Site Applications", "operationId": "listSiteApps", "tags": ["Sites Applications"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "aptemplates": {"paths": {"derived": {"specs": {"get": {"description": "Get derived AP Templates for Site", "operationId": "getSiteApTemplateDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"type": "boolean"}}], "tags": ["Sites AP Templates"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "assetfilters": {"specs": {"get": {"description": "Get List of Site Asset Filters", "operationId": "listSiteAssetFilters", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Asset Filters"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site Asset Filter", "operationId": "createSiteAssetFilters", "tags": ["Sites Asset Filters"]}}, "paths": {"{assetfilter_id}": {"specs": {"delete": {"description": "Deletes an existing BLE asset filter for the given site.", "operationId": "deleteSiteAssetFilter", "tags": ["Sites Asset Filters"]}, "get": {"description": "Get Site Asset Filter Details", "operationId": "getSiteAssetFilter", "tags": ["Sites Asset Filters"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/assetfilter_id"}], "put": {"description": "Updates an existing BLE asset filter for the given site.", "operationId": "updateSiteAssetFilter", "tags": ["Sites Asset Filters"]}}}}}, "assets": {"specs": {"get": {"description": "Get List of Site Assets", "operationId": "listSiteAssets", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Assets"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site Asset", "operationId": "createSiteAsset", "tags": ["Sites Assets"]}}, "paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Impert Site Assets. \n\nIt can be done via a CSV file or a JSON payload.\n\n## CSV File Format\n```csv\nname,mac\n\"asset_name\",5c5b53010101\n``` ", "operationId": "importSiteAssets", "parameters": [{"description": "API will replace the assets with same mac if provided `upsert`==`True`, otherwise will report in errors in response.", "in": "query", "name": "upsert", "schema": {"default": "False", "enum": ["True", "False"], "type": "string"}}], "tags": ["Sites Assets"]}}}, "{asset_id}": {"specs": {"delete": {"description": "Delete Site Asset", "operationId": "deleteSiteAsset", "tags": ["Sites Assets"]}, "get": {"description": "Get Site Asset Details", "operationId": "getSiteAsset", "tags": ["Sites Assets"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/asset_id"}], "put": {"description": "Update Site Asset", "operationId": "updateSiteAsset", "tags": ["Sites Assets"]}}}}}, "beacons": {"specs": {"get": {"description": "Get List of Site Beacons", "operationId": "listSiteBeacons", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Beacons"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site Beacon", "operationId": "createSiteBeacon", "tags": ["Sites Beacons"]}}, "paths": {"{beacon_id}": {"specs": {"delete": {"description": "Delete Site Beacon", "operationId": "deleteSiteBeacons", "tags": ["Sites Beacons"]}, "get": {"description": "Get Site Beacon Details", "operationId": "getSiteBeacon", "tags": ["Sites Beacons"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/beacon_id"}], "put": {"description": "Update Site Beacon", "operationId": "updateSiteBeacons", "tags": ["Sites Beacons"]}}}}}, "call": {"paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count Site Call Events", "operationId": "countSiteCallEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"enum": ["type", "app"], "type": "string"}}], "tags": ["Sites Calls"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Site Call Events", "operationId": "searchSiteCallEvents", "parameters": [{"description": "Event Type. See [listCallEventsDefinitions](/#operation/listCallEventsDefinitions)", "in": "query", "name": "type", "schema": {"type": "string"}}, {"in": "query", "name": "ap", "schema": {"type": "string"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}, {"in": "query", "name": "app", "schema": {"type": "string"}}], "tags": ["Sites Calls"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}}}, "clients": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Clients", "operationId": "countSiteWirelessClients", "parameters": [{"example": "hostname", "in": "query", "name": "distinct", "required": true, "schema": {"default": "device", "enum": ["ssid", "ap", "ip", "vlan", "hostname", "os", "model", "device"], "type": "string"}}, {"in": "query", "name": "ssid", "schema": {"type": "string"}}, {"in": "query", "name": "ap", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/ip"}, {"in": "query", "name": "vlan", "schema": {"type": "string"}}, {"in": "query", "name": "hostname", "schema": {"type": "string"}}, {"in": "query", "name": "os", "schema": {"type": "string"}}, {"in": "query", "name": "model", "schema": {"type": "string"}}, {"in": "query", "name": "device", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "disconnect": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "To unauthorize multiple clients", "operationId": "disconnectSiteMultipleClients", "tags": ["Sites Clients - Wireless"]}}}, "events": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Client-Events", "operationId": "countSiteWirelessClientEvents", "parameters": [{"description": "type / proto / band / channel / wlan_id / ssid", "example": "type", "in": "query", "name": "distinct", "schema": {"enum": ["type", "proto", "band", "channel", "wlan_id", "ssid"], "type": "string"}}, {"description": "event type, e.g. MARVIS_EVENT_CLIENT_FBT_FAILURE", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "for assoc/disassoc events", "in": "query", "name": "reason_code", "schema": {"type": "integer"}}, {"description": "SSID Name", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "802.11 standard", "in": "query", "name": "proto", "schema": {"enum": ["b", "g", "n", "ac", "ax", "a"], "type": "string"}}, {"description": "24 / 5", "in": "query", "name": "band", "schema": {"enum": ["24", "5"], "type": "string"}}, {"description": "wlan_id", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Get Site Clients Events", "operationId": "searchSiteWirelessClientEvents", "parameters": [{"description": "event type, e.g. MARVIS_EVENT_CLIENT_FBT_FAILURE", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "for assoc/disassoc events", "in": "query", "name": "reason_code", "schema": {"type": "integer"}}, {"description": "SSID Name", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "802.11 standard", "in": "query", "name": "proto", "schema": {"enum": ["b", "g", "n", "ac", "ax", "a"], "type": "string"}}, {"description": "24 / 5", "in": "query", "name": "band", "schema": {"enum": ["24", "5"], "type": "string"}}, {"description": "wlan_id", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"description": "nacrule_id", "in": "query", "name": "nacrule_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "search": {"specs": {"get": {"description": "Search Wireless Clients\n\n**NOTE**: fuzzy logic can be used with \u2018*\u2019, supported filters: mac, hostname, device, os, model. E.g. /clients/search?device=Mac*&hostname=jerry", "operationId": "searchSiteWirelessClients", "parameters": [{"description": "partial / full MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/ip"}, {"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "device type, e.g. Mac, Nvidia, iPhone", "in": "query", "name": "device", "schema": {"type": "string"}}, {"description": "os, e.g. Sierra, Yosemite, Windows 10", "in": "query", "name": "os", "schema": {"type": "string"}}, {"description": "model, e.g. \u201cMBP 15 late 2013\u201d, 6, 6s, \u201c8+ GSM\u201d", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "AP mac where the client has connected to", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "partial / full MAC address, hostname, username, psk_name or ip", "in": "query", "name": "text", "schema": {"type": "string"}}, {"description": "nacrule_id", "in": "query", "name": "nacrule_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "sessions": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Client Sessions", "operationId": "countSiteWirelessClientSessions", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "mac", "enum": ["ssid", "wlan_id", "ap", "mac", "client_family", "client_manufacture", "client_model", "client_os"], "type": "string"}}, {"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "24 /5", "in": "query", "name": "band", "schema": {"type": "string"}}, {"description": "E.g. \u201cMac\u201d, \u201ciPhone\u201d, \u201cApple watch\u201d", "in": "query", "name": "client_family", "schema": {"type": "string"}}, {"description": "E.g. \u201cApple\u201d", "in": "query", "name": "client_manufacture", "schema": {"type": "string"}}, {"description": "E.g. \u201c8+\u201d, \u201cXS\u201d", "in": "query", "name": "client_model", "schema": {"type": "string"}}, {"description": "E.g. \u201cMojave\u201d, \u201cWindows 10\u201d, \u201cLinux\u201d", "in": "query", "name": "client_os", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "wlan_id", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Client Sessions", "operationId": "searchSiteWirelessClientSessions", "parameters": [{"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "5 / 24", "in": "query", "name": "band", "schema": {"enum": ["24", "5"], "type": "string"}}, {"description": "E.g. \u201cMac\u201d, \u201ciPhone\u201d, \u201cApple watch\u201d", "in": "query", "name": "client_family", "schema": {"type": "string"}}, {"description": "E.g. \u201cApple\u201d", "in": "query", "name": "client_manufacture", "schema": {"type": "string"}}, {"description": "E.g. \u201c8+\u201d, \u201cXS\u201d", "in": "query", "name": "client_model", "schema": {"type": "string"}}, {"description": "Username", "in": "query", "name": "client_username", "schema": {"type": "string"}}, {"description": "E.g. \u201cMojave\u201d, \u201cWindows 10\u201d, \u201cLinux\u201d", "in": "query", "name": "client_os", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "wlan_id", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/psk_id_query"}, {"description": "PSK Name", "in": "query", "name": "psk_name", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "unauthorize": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "This unauthorize clients (if they are guest) and disconnect them. From the guest\u2019s perspective, they will see the splash page again and go through the flow (e.g. Terms of Use) again.", "operationId": "unauthorizeSiteMultipleClients", "tags": ["Sites Clients - Wireless"]}}}, "{client_mac}": {"paths": {"coa": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/client_mac"}], "post": {"description": "Trigger a CoA (change of authorization) against a client", "operationId": "reauthSiteDot1xWirelessClient", "tags": ["Sites Clients - Wireless"]}}}, "disconnect": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/client_mac"}], "post": {"description": "This disconnect a client (and it\u2019s likely to connect back)", "operationId": "disconnectSiteWirelessClient", "tags": ["Sites Clients - Wireless"]}}}, "events": {"specs": {"get": {"description": "Get the list of events for a specific client", "operationId": "getSiteEventsForClient", "parameters": [{"description": "e.g. MARVIS_EVENT_CLIENT_DHCP_STUCK", "in": "query", "name": "type", "schema": {"enum": ["b", "g", "n"], "type": "string"}}, {"description": "a / b / g / n / ac / ax", "in": "query", "name": "proto", "schema": {"enum": ["a", "b", "g", "n", "ac", "ax"], "type": "string"}}, {"description": "24 / 5", "in": "query", "name": "band", "schema": {"type": "string"}}, {"in": "query", "name": "channel", "schema": {"type": "string"}}, {"in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"in": "query", "name": "ssid", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/client_mac"}]}}, "unauthorize": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/client_mac"}], "post": {"description": "This unauthorize a client (if it\u2019s a guest) and disconnect it. From the guest\u2019s perspective, s/he will see the splash page again and go through the flow (e.g. Terms of Use) again.", "operationId": "unauthorizeSiteWirelessClient", "tags": ["Sites Clients - Wireless"]}}}}}}}, "deviceprofiles": {"paths": {"derived": {"specs": {"get": {"description": "Retrieves the list of Device Profiles available for the Site", "operationId": "listSiteDeviceProfilesDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"default": false, "type": "boolean"}}], "tags": ["Sites Service Policies"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "devices": {"specs": {"get": {"description": "Get list of devices on the site.", "operationId": "listSiteDevices", "parameters": [{"description": "device type", "in": "query", "name": "type", "schema": {"default": "ap", "enum": ["ap", "switch", "gateway", "all"], "type": "string"}}, {"$ref": "#/components/parameters/name"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"ap_channels": {"specs": {"get": {"description": "Get a list of allowed channels (per channel width)", "operationId": "getSiteDeviceRadioChannels", "parameters": [{"description": "country code for the site (for AP config generation), in [two-character](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)", "example": "US", "in": "query", "name": "country_code", "schema": {"type": "string"}}], "tags": ["Sites Devices - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "config_history": {"paths": {"count": {"specs": {"get": {"description": "Counts the number of entries in device config history for distinct field with given filters", "operationId": "countSiteDeviceConfigHistory", "parameters": [{"in": "query", "name": "distinct", "schema": {"type": "string"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search for entries in device config history", "operationId": "searchSiteDeviceConfigHistory", "parameters": [{"in": "query", "name": "device_type", "schema": {"default": "ap", "enum": ["ap", "switch", "gateway"], "type": "string"}}, {"description": "Device MAC Address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "count": {"specs": {"get": {"description": "Counts the number of entries in ap events history for distinct field with given filters", "operationId": "countSiteDevices", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "model", "enum": ["model", "version", "map_id", "hostname", "mxtunnel_status", "mxedge_id", "lldp_system_name", "lldp_system_desc", "lldp_port_id", "lldp_mgmt_addr"], "type": "string"}}, {"in": "query", "name": "hostname", "schema": {"type": "string"}}, {"in": "query", "name": "model", "schema": {"type": "string"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}, {"in": "query", "name": "version", "schema": {"type": "string"}}, {"in": "query", "name": "mxtunnel_status", "schema": {"type": "string"}}, {"in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"in": "query", "name": "lldp_system_name", "schema": {"type": "string"}}, {"in": "query", "name": "lldp_system_desc", "schema": {"type": "string"}}, {"in": "query", "name": "lldp_port_id", "schema": {"type": "string"}}, {"in": "query", "name": "lldp_mgmt_addr", "schema": {"type": "string"}}, {"in": "query", "name": "map_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "events": {"paths": {"count": {"specs": {"get": {"description": "Counts the number of entries in ap events history for distinct field with given filters", "operationId": "countSiteDeviceEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "model", "enum": ["model", "type", "type_code", "mac"], "type": "string"}}, {"in": "query", "name": "model", "schema": {"type": "string"}}, {"in": "query", "name": "type", "schema": {"type": "string"}}, {"in": "query", "name": "type_code", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Devices Events", "operationId": "searchSiteDeviceEvents", "parameters": [{"in": "query", "name": "device_type", "schema": {"enum": ["ap", "switch", "gateway"], "type": "string"}}, {"description": "device mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "event message", "in": "query", "name": "text", "schema": {"type": "string"}}, {"description": "event time", "in": "query", "name": "timestamp", "schema": {"type": "string"}}, {"description": "see [Event Types Definition](/#operation/listDeviceEventsDefinitions)", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "Return last/recent event for passed in field", "example": "port_id", "in": "query", "name": "last_by", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "export": {"specs": {"get": {"description": "To download the exported device information", "operationId": "exportSiteDevices", "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "import": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Import Information for Multiple Devices\n\nCSV format:\n```csv\nmac,name,map_id,x,y,height,orientation,labels,band_24.power,band_24.bandwidth,band_24.channel,band_24.disabled,band_5.power,band_5.bandwidth,band_5.channel,band_5.disabled,band_6.power,band_6.bandwidth,band_6.channel,band_6.disabled\n5c5b53010101,\"AP 1\",845a23bf-bed9-e43c-4c86-6fa474be7ae5,30,10,2.3,45,\"guest, campus, vip\",1,20,0,false,0,40,0,false,17,80,0,false\n```", "operationId": "importSiteDevices", "tags": ["Sites Devices"]}}}, "last_config": {"paths": {"count": {"specs": {"get": {"description": "Counts the number of entries in device config history for distinct field with given filters", "operationId": "countSiteDeviceLastConfig", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "mac", "enum": ["version", "name", "site_id", "mac"], "type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Device Last Configs", "operationId": "searchSiteDeviceLastConfigs", "parameters": [{"in": "query", "name": "device_type", "schema": {"default": "ap", "enum": ["ap", "switch", "gateway"], "type": "string"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}, {"in": "query", "name": "version", "schema": {"type": "string"}}, {"in": "query", "name": "name", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "reprovision": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "To force all APs to reprovision itself again. ", "operationId": "reprovisionSiteAllAps", "tags": ["Sites Devices - Wireless"]}}}, "reset_radio_config": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Reset all APs in the Site to use RRM", "operationId": "resetSiteAllApsToUseRrm", "tags": ["Sites Devices - Wireless"]}}}, "restart": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Note that only the devices that are connected will be restarted.", "operationId": "multiRestartSiteDevices", "tags": ["Sites Devices"]}}}, "search": {"specs": {"get": {"description": "Search Device", "operationId": "searchSiteDevices", "parameters": [{"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "device type", "in": "query", "name": "type", "schema": {"default": "ap", "enum": ["ap", "switch", "gateway"], "type": "string"}}, {"description": "device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "device MAC", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "version", "in": "query", "name": "version", "schema": {"type": "string"}}, {"description": "power_constrained", "in": "query", "name": "power_constrained", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/ip"}, {"description": "MxTunnel status, up / down", "in": "query", "name": "mxtunnel_status", "schema": {"enum": ["up", "down"], "type": "string"}}, {"description": "Mist Edge id, if AP is connecting to a Mist Edge", "in": "query", "name": "mxedge_id", "schema": {"format": "uuid", "type": "string"}}, {"description": "LLDP system name", "in": "query", "name": "lldp_system_name", "schema": {"type": "string"}}, {"description": "LLDP system description", "in": "query", "name": "lldp_system_desc", "schema": {"type": "string"}}, {"description": "LLDP port id", "in": "query", "name": "lldp_port_id", "schema": {"type": "string"}}, {"description": "LLDP management ip address", "in": "query", "name": "lldp_mgmt_addr", "schema": {"type": "string"}}, {"description": "Channel of band_24", "in": "query", "name": "band_24_channel", "schema": {"type": "integer"}}, {"description": "Channel of band_5", "in": "query", "name": "band_5_channel", "schema": {"type": "integer"}}, {"description": "Channel of band_6", "in": "query", "name": "band_6_channel", "schema": {"type": "integer"}}, {"description": "Bandwidth of band_24", "in": "query", "name": "band_24_bandwith", "schema": {"type": "integer"}}, {"description": "Bandwidth of band_5", "in": "query", "name": "band_5_bandwith", "schema": {"type": "integer"}}, {"description": "Bandwidth of band_6", "in": "query", "name": "band_6_bandwith", "schema": {"type": "integer"}}, {"description": "Port speed of eth0", "in": "query", "name": "eth0_port_speed", "schema": {"type": "integer"}}, {"description": "sort options", "in": "query", "name": "sort", "schema": {"default": "timestamp", "enum": ["timestamp", "mac", "model", "sku"], "type": "string"}}, {"description": "sort options in reverse order", "in": "query", "name": "desc-sort", "schema": {"enum": ["timestamp", "mac", "model", "sku"], "type": "string"}}, {"description": "whether to return device stats", "in": "query", "name": "stats", "schema": {"default": false, "type": "boolean"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "send_ble_beacon": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Send arbitrary BLE Beacon for a period of time\n\nNote that only the devices that are connected will be restarted.", "operationId": "sendSiteDevicesArbitratryBleBeacon", "tags": ["Sites Devices - Wireless"]}}}, "upgrade": {"specs": {"get": {"description": "Get all upgrades for site", "operationId": "listSiteDevicesUpgrade", "parameters": [{"in": "query", "name": "status", "schema": {"enum": ["downloading", "completed", "created", "downloaded", "upgrading", "cancelled", "failed"], "type": "string"}}], "tags": ["Sites Devices Upgrades"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Upgrade Multiple Device\n\n**Note**: this call doesn\u2019t guarantee the devices to be upgraded right away (they may be offline)", "operationId": "multiUpgradeSiteDevices", "tags": ["Sites Devices Upgrades"]}}, "paths": {"{upgrade_id}": {"specs": {"get": {"description": "Get Site Device Upgrade", "operationId": "getSiteUpgrade", "tags": ["Sites Devices Upgrades"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/upgrade_id"}]}, "paths": {"cancel": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/upgrade_id"}], "post": {"description": "Best effort to cancel an upgrade. Devices which are already upgraded wont be touched", "operationId": "cancelSiteDeviceUpgrade", "tags": ["Sites Devices Upgrades"]}}}}}}}, "upgrade_bios": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Upgrade Bios Multiple Device", "operationId": "upgraseSiteMultipleDevicesBios", "tags": ["Sites Devices Upgrades"]}}}, "versions": {"specs": {"get": {"description": "Get List of Available Device Versions", "operationId": "listSiteAvailableDeviceVersions", "parameters": [{"description": "fetch version for device type (E.g. switch)", "in": "query", "name": "type", "schema": {"default": "ap", "enum": ["ap", "switch", "gateway"], "type": "string"}}, {"description": "fetch version for device model, use/combine with `type` as needed (for switch and gateway devices)", "in": "query", "name": "model", "schema": {"type": "string"}}], "tags": ["Sites Devices Upgrades"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "zerioze": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Zeroize all FIPS APs in the Site", "operationId": "zeroizeSiteFipsAllAps", "tags": ["Sites Devices - Wireless"]}}}, "{device_id}": {"specs": {"delete": {"description": "Delete Site Device", "operationId": "deleteSiteDevice", "tags": ["Sites Devices"]}, "get": {"description": "Get Device Configuration", "operationId": "getSiteDevice", "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "put": {"description": "Update Device Configuration", "operationId": "updateSiteDevice", "tags": ["Sites Devices"]}}, "paths": {"arp": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "ARP can be performed on the Device. The output will be available through websocket. As there can be multiple command issued against the same AP at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```json\n{ \n \"event\": \"data\", \n \"channel\": \"/sites/4ac1dcf4-9d8b-7211-65c4-057819f0862b/devices/00000000-0000-0000-1000-5c5b350e0060/cmd\", \n \"data\": { \n \"session\": \"session_id\", \n \"raw\": \n \"Output\": \"\\tMAC\\t\\tDEV\\tVLAN\\tRx Packets\\t\\t Rx Bytes\\t\\tTx Packets\\t\\t Tx Bytes\\tFlows\\tIdle sec\\n-----------------------------------------------------------------------------------------------------------------------\"\n } \n}\n```", "operationId": "arpFromDevice", "tags": ["Sites Devices Utilities"]}}}, "bounce_port": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Port Bounce can be performed from the Switch.The output will be available through websocket. As there can be multiple command issued against the same AP at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```json\n{\n \"event\": \"data\",\n \"channel\": \"/sites/4ac1dcf4-9d8b-7211-65c4-057819f0862b/devices/00000000-0000-0000-1000-5c5b350e0060/cmd\",\n \"data\": {\n \"session\": \"session_id\",\n \"raw\": \"Port bounce complete.\"\n }\n}\n```", "operationId": "portsBounceFromSwitch", "tags": ["Sites Devices - Wired"]}}}, "cable_test": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "TDR can be performed from the Switch. The output will be available through websocket. As there can be multiple command issued against the same Switch at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```json\n{\n \"event\": \"data\",\n \"channel\": \"/sites/4ac1dcf4-9d8b-7211-65c4-057819f0862b/devices/00000000-0000-0000-1000-5c5b350e0060/cmd\",\n \"data\": {\n \"session\": \"session_id\",\n \"raw\": \"Interface TDR detail:\\nTest status : Test successfully executed ge-0/0/0\\n\"\n }\n}\n```", "operationId": "cableTestFromSwitch", "tags": ["Sites Devices - Wired"]}}}, "check_radius_server": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Ping test from the AP to confirm \u2018reachability\u2019 of the Radius server. Utilize Juniper EX switch(to which an AP is connected to) radius test capabilities to get details on the Radius Server \u2018availability\u2019.", "operationId": "startSiteSwitchRadiusSyntheticTest", "tags": ["Sites Synthetic Tests"]}}}, "clear_arp": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Clear the entire ARP cache or a subset if arguments are provided.\n\n*Note*: port_id is optional if neither vlan nor ip is specified", "operationId": "clearSiteSsrArpCache", "tags": ["Sites Devices - WAN"]}}}, "clear_bgp": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Clear routes associated with one or all BGP neighbors", "operationId": "clearSiteSsrBgpRoutes", "tags": ["Sites Devices - WAN"]}}}, "clear_bpdu_error": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Clear bridge protocol data unit (BPDU) error condition caused by the detection of a possible bridging loop from Spanning Tree Protocol (STP) operation that renders the port unoperational.", "operationId": "clearBpduErrosFromPortsOnSwitch", "tags": ["Sites Devices - Wired"]}}}, "clear_macs": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Clear all learned MAC addresses, including persistent MAC addresses, on a port.", "operationId": "clearAllLearnedMacsFromPortOnSwitch", "tags": ["Sites Devices - Wired"]}}}, "config_cmd": {"specs": {"get": {"description": "Get Config CLI Commands\nFor a brown-field switch deployment where we adopted the switch through Adoption Command, we do not wipe out / overwrite the existing config automatically. Instead, we generate CLI commands that we would have generated. The user can inspect, modify, and incorporate this into their existing config manually.\n\nOnce they feel comfortable about the config we generate, they can enable allow_mist_config where we will take full control of their config like a claimed switch", "operationId": "getSiteDeviceConfigCmd", "parameters": [{"description": "Make output cmds sorted (for better readability) or not.", "in": "query", "name": "sort", "schema": {"default": "false", "enum": ["true", "false"], "type": "string"}}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}]}}, "ha": {"specs": {"delete": {"description": "Delete HA Cluster", "operationId": "deleteSiteDeviceHaCluster", "tags": ["Sites Devices - WAN HA"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "## Create HA Cluster\nBoth nodes has to be in the same site. We expect the user to configure ha_sync / ha_data port in port_configs already\n\n### SRX cabling\n\nsee [Chassis Cluster User Guide for SRX Series Devices](https://www.juniper.net/documentation/us/en/software/junos/chassis-cluster-security-devices/topics/concept/chassis-cluster-srx-series-node-interface-understanding.html) Here\u2019s the recommended cabling.\n\n#### SRX300\n\nFrom ZTP / default state, ge-0/0/0 and ge-0/0/7 (SFP) are default WAN ports and will get DHCP IP. However, ge-0/0/0 becomes OOB/fxp0 after cluster is enabled (i.e. using it for reach Mist is not recommended)\n\n1. form cluster in UI\n2. configure ge-0/0/7,ge-1/0/7 for WAN (reth0)\n3. configure ge-0/0/2,ge-1/0/2 for ha_data\n4. configure ge-0/0/3- for LAN or additional WAN e.g.\n \n\n``` json\n{\n \"port_config\": {\n \"ge-0/0/2,ge-1/0/2\": {\n \"usage\": \"ha_data\"\n },\n \"ge-0/0/7,ge-1/0/7\": {\n \"usage\": \"wan\",\n \"redundant\": true,\n \"reth_idx\": 0,\n \"ip_config\": {\"type\": \"dhcp\"}\n },\n }\n}\n\n```\n\n1. connect ge-0/0/1 back to back for ha_control\n2. connect ge-0/0/2 back to back for ha_data\n3. connect both ge-0/0/7 to uplink switch to WAN and to reach Mist\n4. power up both devices\n5. it takes about 30 minutes for the cluster to form\n \n\n#### SRX320\n\nFrom ZTP / default state, ge-0/0/0, ge-0/0/7 (SFP) and cl-1/0/0 (LTE) are default WAN ports and will get DHCP IP. However, ge-0/0/0 becomes OOB/fxp0 after cluster is enabled (i.e. using it for reach Mist is not recommended)\n\n##### ZTP via ge-0/0/7\n\nSimilar to SRX300\n\n##### ZTP via cl-1/0/0 (LTE)\n\n1. form cluster in UI\n2. configure cl-1/0/0, cl-3/0/0 as WAN (reth0)\n3. configure ge-0/0/2,ge-3/0/2 for ha_data\n4. same as above\n \n\n#### SRX340 / SRX345 / SRX380\n\nSRX340/SRX345 has dedicated OOB/fxp0 ports\n\n1. form cluster in UI\n2. configure ge-0/0/0,ge-5/0/0 for WAN (reth0)\n3. configure ge-0/0/2,ge-5/0/2 for ha_data\n4. configure ge-0/0/3- for LAN or additional WAN\n5. connect ge-0/0/0 to uplink switch to WAN and to reach Mist\n6. connect ge-0/0/1 back-to-back for ha_control\n7. connect ge-0/0/2 back-to-back for ha_data (fabric); or for SRX380, xe-0/0/16 if 10G SFP+ is used\n8. connect ge-0/0/3- to LAN or additional WANs\n \n\n#### SRX550\n\nge-0/0/0 becomes OOB/fxp0 after cluster is enabled, make suenable oob_ip_config as dhcp to maintain cloud connectivity\n\n1. connect ge-0/0/0 to reach Mist (after cluster is fully up, this port becomes OOB/fxp0)\n2. connect ge-0/0/1 back-to-back for ha_control\n3. connect ge-0/0/2 back-to-back for ha_data (fabric)\n4. connect ge-0/0/3 to WAN (after cluster is up, intended to be used for reth0)\n5. connect ge-0/0/4- to LAN or additional WANs\n \n\n#### SRX1500\n\nSRX1500 has, additionally, dedicated HA Control port\n\n1. form cluster in UI\n2. configure ge-0/0/0,ge-5/0/0 for WAN (reth0)\n3. configure ge-0/0/1,ge-5/0/1 for ha_data\n4. configure ge-0/0/2- for LAN or additional WAN\n5. connect dedicated ha_control back-to-back\n6. connect ge-0/0/0 to uplink switch to WAN and to reach Mist\n7. connect ge-0/0/1 back-to-back for ha_data\n8. connect ge-0/0/2- to LAN or additional WANs\n \n\n#### SRX4100\n\nSRX4100 has dedicated ha_control and ha_data (fabric) ports\n\n1. connect dedicated ha_control back-to-back\n2. connect dedicated ha_data back-to-back\n3. connect xe-0/0/0 to WAN to reach Mist\n4. connect xe-0/0/1- to LAN or additional WANs\n \n\n#### VSRX\n\nWhen standalone, VSRX has fxp0 as first Network Adapter, then ge-0/0/0-N When clustered, VSRX has fxp0, em0, then ge-0/0/0-N\n\n1. connect net0 (fxp0) to WAN to reach Mist\n2. connect net1 back-to-back for ha_control\n3. connect net2 (ge-0/0/0) back-to-back for ha_data (fab0/fab1)\n4. connect net3 (ge-0/0/1) to WAN, intended to be used for reth0\n5. connect net4 (ge-0/0/2) to LAN\n \n\nSRX340/SRX345 has dedicated OOB/fxp0 ports VSRX has fxp0 as first Network Adapter, then ge-0/0/0-N\n\n1. connect ge-0/0/0 to WAN to reach Mist\n2. connect ge-0/0/1 back-to-back for ha_control\n3. connect ge-0/0/2 back-to-back for ha_data (fabric); or for SRX380, xe-0/0/16 if 10G SFP+ is used\n4. connect ge-0/0/3- to LAN or additional WANs\n \n\n#### SRX550\n\nge-0/0/0 becomes OOB/fxp0 after cluster is enabled, make suenable oob_ip_config as dhcp to maintain cloud connectivity\n\n1. connect ge-0/0/0 to reach Mist (after cluster is fully up, this port becomes OOB/fxp0)\n2. connect ge-0/0/1 back-to-back for ha_control\n3. connect ge-0/0/2 back-to-back for ha_data (fabric)\n4. connect ge-0/0/3 to WAN (after cluster is up, intended to be used for reth0)\n5. connect ge-0/0/4- to LAN or additional WANs\n \n\n#### SRX1500\n\nSRX1500 has, additionally, dedicated HA Control port\n\n1. form cluster in UI\n2. configure ge-0/0/0,ge-7/0/0 for WAN (reth0)\n3. configure ge-0/0/1,ge-7/0/1 for ha_data\n4. configure ge-0/0/2- for LAN or additional WAN\n5. connect dedicated ha_control back-to-back\n6. connect ge-0/0/0 to uplink switch to WAN and to reach Mist\n7. connect ge-0/0/1 back-to-back for ha_data\n8. connect ge-0/0/2- to LAN or additional WANs\n\n \n#### SRX1600\n\nSRX1600 has, additionally, two dedicated HA Control port\n\n1. form cluster in UI\n2. configure ge-0/0/0,ge-7/0/0 for WAN (reth0)\n3. configure ge-0/0/1,ge-7/0/1 for ha_data\n4. configure ge-0/0/2- for LAN or additional WAN\n5. connect dedicated both ha_control back-to-back\n6. connect ge-0/0/0 to uplink switch to WAN and to reach Mist\n7. connect ge-0/0/1 back-to-back for ha_data\n8. connect ge-0/0/2- to LAN or additional WANs\n\n\n#### SRX4100\n\nSRX4100 has dedicated ha_control and ha_data (fabric) ports\n\n1. connect dedicated ha_control back-to-back\n2. connect dedicated ha_data back-to-back\n3. connect xe-0/0/0 to WAN to reach Mist\n4. connect xe-0/0/1- to LAN or additional WANs\n\n\n## Replace a Node in a HA Cluster\nUsually Device Replacement is done by Device Replacement API. For a HA cluster, you can also replace a node by another device in the same site.", "operationId": "createSiteDeviceHaCluster", "tags": ["Sites Devices - WAN HA"]}, "put": {"deprecated": true, "description": "Swap nodes on the HA Cluster", "operationId": "swapSiteDeviceHaClusterNode", "tags": ["Sites Devices - WAN HA"]}}}, "image{image_number}": {"specs": {"delete": {"description": "Delete image from a device", "operationId": "deleteSiteDeviceImage", "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}, {"in": "path", "name": "image_number", "required": true, "schema": {"type": "integer"}}], "post": {"description": "Attach up to 3 images to a device", "operationId": "addSiteDeviceImage", "tags": ["Sites Devices"]}}}, "iot": {"specs": {"get": {"description": "Returns the current state of each enabled IoT pin configured as an output.", "operationId": "getSiteDeviceIotPort", "tags": ["Sites Devices - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "put": {"description": "**Note**: For each IoT pin referenced:\n * The pin must be enabled using the Device `iot_config` API\n * The pin must support the output direction", "operationId": "setSiteDeviceIotPort", "tags": ["Sites Devices - Wireless"]}}}, "local_port_config": {"specs": {"delete": {"description": "Sometimes HelpDesk Admin needs to change port configs", "operationId": "deleteSiteLocalSwitchPortConfig", "tags": ["Sites Devices - Wired"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "put": {"description": "Sometimes HelpDesk Admin needs to change port configs", "operationId": "updateSiteLocalSwitchPortConfig", "tags": ["Sites Devices - Wired"]}}}, "locate": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Locate a Device by blinking it\u2019s LED, it\u2019s a persisted state that has to be stopped by calling Stop Locating API", "operationId": "startSiteLocateDevice", "tags": ["Sites Devices - Wireless"]}}}, "ping": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Ping from AP, Switch and SSR\n\nPing can be performed from the Device. The output will be available through websocket. As there can be multiple command issued against the same AP at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```json\n{\n \"event\": \"data\",\n \"channel\": \"/sites/4ac1dcf4-9d8b-7211-65c4-057819f0862b/devices/00000000-0000-0000-1000-5c5b350e0060/cmd\",\n \"data\": {\n \"session\": \"session_id\",\n \"raw\": \"64 bytes from 23.211.0.110: seq=8 ttl=58 time=12.323 ms\\n\"\n }\n}\n```", "operationId": "pingFromDevice", "tags": ["Sites Devices Utilities"]}}}, "poll_stats": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "This API can be used to poll statistics from the Switch proactively once. After it is called, the statistics will be pushed back to the cloud within the statistics interval.", "operationId": "pollSiteSwitchStats", "tags": ["Sites Devices - Wired"]}}}, "readopt": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "For the octerm devices, the device ID must come from fpc0. However, for a VC, the users may change the original fpc0 from CLI. To fix the issue, the readopt API could be used to trigger the readopt process so the device would get the corret device ID to connect the cloud.", "operationId": "readoptSiteOctermDevice", "tags": ["Sites Devices Utilities"]}}}, "release_dhcp": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Releases an active DHCP lease.", "operationId": "releaseSiteSsrDhcpLease", "tags": ["Sites Devices - WAN"]}}}, "request_ztp_password": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "In the case where soemthing happens during/after ZTP, the root-password is modified (required for ZTP to set up outbound-ssh) but the user-defined password config has not be configured. This API can be used to retrieve the temporary password.", "operationId": "getSiteDeviceZtpPassword", "tags": ["Sites Devices"]}}}, "resolve_dns": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "DNS resolutions are performed on the Device. The output will be available through websocket. As there can be multiple command issued against the same SSR at the same time and the output all goes through the same websocket stream, `session` is used for demux.\n \n #### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```\n Router | Hostname | Resolved | Last Resolved | Expiration\n-------------|------------------------|----------|----------------------|---------------------\n test-device | xxx.yyy.net | Y | 2022-03-28T03:56:49Z | 2022-03-28T03:57:49Z\n```", "operationId": "testSiteSsrDnsResolution", "tags": ["Sites Devices - WAN"]}}}, "restart": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Restart / Reboot a device", "operationId": "restartSiteDevice", "tags": ["Sites Devices"]}}}, "service_ping": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Ping from SSR\n\nService Ping can be performed from the Device. The output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```json\n{\n \"event\": \"data\",\n \"channel\": \"/sites/4ac1dcf4-9d8b-7211-65c4-057819f0862b/devices/00000000-0000-0000-1000-5c5b350e0060/cmd\",\n \"data\": {\n \"session\": \"session_id\",\n \"raw\": \"64 bytes from 23.211.0.110: seq=8 ttl=58 time=12.323 ms\\n\"\n }\n}\n```", "operationId": "servicePingFromSsr", "tags": ["Sites Devices - WAN"]}}}, "show_arp": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Get ARP Table from the Device. The output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, `session` is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n", "operationId": "getSiteDeviceArpTable", "tags": ["Sites Devices Utilities"]}}}, "show_mac_table": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Get MAC Table from the Device. The output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, `session` is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n", "operationId": "getSiteDeviceMacTable", "tags": ["Sites Devices Utilities"]}}}, "show_route": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Get routes from SSR, SRX and Switch. \nThe output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, `session` is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```\nadmin@labsystem1.fiedler# show bgp neighbors\nBGP neighbor is 192.168.4.1, remote AS 4200000001, local AS 4200000128, external\nlink\n BGP version 4, remote router ID 1.1.1.1\n BGP state = Established, up for 00:27:25\n Last read 00:00:25, hold time is 90, keepalive interval is 30 seconds\n Configured hold time is 90, keepalive interval is 30 seconds\n Neighbor capabilities:\n 4 Byte AS: advertised and received\n Route refresh: advertised and received(old & new)\n Address family IPv4 Unicast: advertised and received\n Graceful Restart Capabilty: advertised and received\n Remote Restart timer is 120 seconds\n Address families by peer:\n none\n ...\n```", "operationId": "getSiteSsrAndSrxRoutes", "tags": ["Sites Devices - WAN"]}}}, "show_service_path": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Get service path information of the Device. The output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```\nshow service-path\n\nService Service-route Type Destination Next-Hop Interface Vector Cost Rate Capacity State\n\nWeb web-route1 service-agent 4.4.4.4 1.1.1.2 lan red 10 1 200/3000 Up*\nWeb web-route1 service-agent 4.4.4.4 1.1.1.3 lan red 10 1 200/3000 Up\nWeb web-route2 service-agent 5.5.5.5 2.2.2.2 lan blue 20 2 50/unlimited Down\nLogin BgpOverSVR 10.1.1.1 1.2.3.4 wan red 10 3 - Up\nLogin BgpOverSVR 11.1.1.1 1.2.3.4 wan red 10 1 - Up\nApp1 Routed - - - - - - - -\nApp1 learned-routed Routed - - - - - - - -\n```", "operationId": "getSiteSsrServicePath", "tags": ["Sites Devices - WAN"]}}}, "show_session": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Get active sessions passing through the Device. The output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```\nadmin@ssr.node# show sessions\nFri 2020-04-17 16:55:34 UTC\n\nNode: node1\n\n====================================== ===== ============= =========== ========== ====== ======= ================= ========== ================= =========== ================= ========== =================== ========= =================\n Session Id Dir Service Tenant Dev Name VLAN Proto Src IP Src Port Dest IP Dest Port NAT IP NAT Port Payload Encrypted Timeout Uptime\n====================================== ===== ============= =========== ========== ====== ======= ================= ========== ================= =========== ================= ========== =================== ========= =================\n 01187fb8-765a-45e5-ae90-37d77f15e292 fwd Internet lanSubnet lan 0 udp 192.168.0.28 44674 35.166.173.18 9930 96.230.191.130 19569 false 154 0 days 0:00:28\n 01187fb8-765a-45e5-ae90-37d77f15e292 rev Internet lanSubnet wan 0 udp 35.166.173.18 9930 96.230.191.130 19569 0.0.0.0 0 false 154 0 days 0:00:28\n 0859a4ae-bcff-4aa6-b812-79a5236a6c13 fwd Internet lanSubnet lan 0 tcp 192.168.0.41 60843 17.249.171.246 443 96.230.191.130 51941 false 2 0 days 0:00:10\n\n```", "operationId": "getSiteSsrAndSrxSessions", "tags": ["Sites Devices - WAN"]}}}, "snapshot": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Create recovery device snapshot (Available on Junos OS EX2300-, EX3400-, EX4400- devices)", "operationId": "createSiteDeviceSnapshot", "tags": ["Sites Devices Utilities"]}}}, "support": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Support / Upload device support files\n\n#### Info Param\n**Parameter**|**Description** \n :-------------: |:-------------: |:-------------: \nprocess|Upload 1 file with output of show system processes extensive\noutbound-ssh|Upload 1 file that concatenates all /var/log/outbound-ssh.log* files\nmessages|Upload 1 to 10 /var/log/messages* files\ncore-dumps|Upload all core dump files, if any\nfull|string|Upload 1 file with output of request support information, 1 file that concatenates all /var/log/outbound-ssh.log files, all core dump files, the 3 most recent /var/log/messages files, and Mist agent logs (for Junos devices running the Mist agent)\nvar-logs|Upload all non-empty files in the /var/log/ directory\njma-logs|Upload Mist agent logs (for Junos devices running the Mist agent only)", "operationId": "uploadSiteDeviceSupportFile", "tags": ["Sites Devices"]}}}, "synthetic_test": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Device Synthetic Test\n", "operationId": "triggerSiteDeviceSyntheticTest", "tags": ["Sites Synthetic Tests"]}}}, "traceroute": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Traceroute can be performed from the Device. The output will be available through websocket. As there can be multiple command issued against the same AP at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```", "operationId": "tracerouteFromDevice", "tags": ["Sites Devices Utilities"]}}}, "unlocate": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Stop Locate a Device", "operationId": "stopSiteLocateDevice", "tags": ["Sites Devices - Wireless"]}}}, "upgrade": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Device Upgrade", "operationId": "upgradeSiteDevice", "tags": ["Sites Devices Upgrades"]}}}, "upgrade_bios": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Upgrade device bios", "operationId": "upgradeSiteDeviceBios", "tags": ["Sites Devices Upgrades"]}}}, "vc": {"specs": {"delete": {"description": "When all the member switches of VC are removed and only member ID 0 is left, the cloud would detect this situation and automatically changes the single switch to non-VC role.\n\nFor some unexpected cases that the VC is gone and disconncted, the API below could be used to change the state of VC\u2019s switches to be standalone. After it is executed, all the switches will be shown as standalone switches under Inventory.", "operationId": "deleteSiteVirtualChassis", "tags": ["Sites Devices - Wired Virtual Chassis"]}, "get": {"description": "Get VC Status\n\nThe API returns a combined view of the VC status which includes topology and stats_", "operationId": "getSiteDeviceVirtualChassis", "tags": ["Sites Devices - Wired Virtual Chassis"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "For models (e.g. EX3400 and up) having dedicated VC ports, it is easier to form a VC by just connecting cables with the dedicated VC ports. Cloud will detect the new VC and update the inventory.\n\nIn case that the user would like to choose the dedicated switch as a VC master. Or for EX2300-C-12P and EX2300-C-12T which doesn\u2019t have dedicated VC ports, below are procedures to automate the VC creation:\n\n1. Power on the switch that is choosen as the VC master first. And the powering on the other member switches.\n2. Claim or adopt all these switches under the same organization\u2019s Inventory\n3. Assign these switches into the same Site\n4. Invoke vc command on the switch choosen to be the VC master. For EX2300-C-12P, VC ports will be created automatically.\n5. Connect the cables to the VC ports for these switches\n6. Wait for the VC to be formed. The Org\u2019s inventory will be updated for the new VC.", "operationId": "createSiteVirtualChassis", "tags": ["Sites Devices - Wired Virtual Chassis"]}, "put": {"description": "The VC creation and adding member switch API will update the device\u2019s virtual chassis config which is applied after VC is formed to create JUNOS pre-provisioned virtual chassis configuration.\n\n## Change to use preprovisioned VC\nTo switch the VC to use preprovisioned VC, enable preprovisioned in virtual_chassis config. Both vc_role master and backup will be matched to routing-engine role in Junos preprovisioned VC config.\n\nIn this config, fpc0 has to be the same as the mac of device_id. Use renumber if you want to replace fpc0 which involves device_id change.\n\nNotice: to configure preprovisioned VC, every member of the VC must be in the inventory.\n\n## Add new members\nFor models (e.g. EX4300 and up) having dedicated VC ports, it is easier to add new member switches into a VC by just connecting cables with the dedicated VC ports. Cloud will detect the new members and update the inventory.\n\nFor EX2300 VC, adding new members requires to follow the procedures below:\n1. Powering on the new member switches and ensuring cables are not connected to any VC ports.\n2. Claim or adopt all new member switches under the VC\u2019s organization Inventory\n3. Assign all new member switches to the same Site as the VC\n4. Invoke vc command to add switches to the VC.\n5. Connect the cables to the VC ports for these switches\n6. After a while, the Org\u2019s Inventory shows this new switches has been added into the VC.\n\n## Removing member switch\nTo remove a member switch from the VC, following the procedures below:\n\n1. Ensuring the VC is connected to the cloud first\n2. Unplug the cable from the VC port of the switch\n3. Waiting for the VC state (vc_state) of this switch is changed to not-present\n4. Invoke update_vc with remove to remove this switch from the VC\n5. The Org\u2019s Inventory shows the switch is removed.\n\nPlease notice that member ID 0 (fpc0) cannot be removed. When a VC has two switches left, unpluging the cable may result in the situation that fpc0 becomes a line card (LC). When this situation is happened, please re-plug in the cable, wait for both switches becoming present (show virtual-chassis) and then removing the cable again.\n\n## Renumber a member switch\nWhen a member switch doesn\u2019t work properly and needed to be replaced, the renumber API could be used. The following two types of renumber are supported:\n\n1. Replace a non-fpc0 member switch\n2. Replace fpc0. When fpc0 is relaced, PAPI device config and JUNOS config will be both updated.\n\nFor renumber to work, the following procedures are needed: \n1. Ensuring the VC is connected to the cloud and the state of the member switch to be replaced must be non present. \n2. Adding the new member switch to the VC \n3. Waiting for the VC state (vc_state) of this VC to be updated to API server \n4. Invoke vc with renumber to replace the new member switch from fpc X to\n\n## Perprovision VC members\nBy specifying \u201cpreprovision\u201d op, you can convert the current VC to pre-provisioned mode, update VC members as well as specify vc_ports when adding new members for device models without dedicated vc ports. Use renumber for fpc0 replacement which involves device_id change.\n\nNote: \n1. vc_ports is used for adding new members and not needed if * the device model has dedicated vc ports, or * no new member is added \n2. New VC members to be added should exist in the same Site as the VC\n\nUpdate Device\u2019s VC config can achieve similar purpose by directly modifying current virtual_chassis config. However, it cannot fulfill requests to enabling vc_ports on new members that are yet to belong to current VC.", "operationId": "updateSiteVirtualChassisMember", "tags": ["Sites Devices - Wired Virtual Chassis"]}}, "paths": {"vc_port": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Set VC port", "operationId": "setSiteVcPort", "tags": ["Sites Devices - Wired Virtual Chassis"]}}}}}}}}}, "events": {"paths": {"fast_roam": {"specs": {"get": {"description": "Get Roaming Events data", "operationId": "getSiteRoamingEvents", "parameters": [{"description": "event type", "in": "query", "name": "type", "schema": {"enum": ["success", "fail", "none"], "type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Events"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "system": {"paths": {"count": {"specs": {"get": {"description": "Count System Events", "operationId": "countSiteSystemEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "type", "enum": ["type"], "type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Events"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search System Events", "operationId": "searchSiteSystemEvents", "parameters": [{"in": "query", "name": "type", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Events"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}}}, "evpn_topologies": {"specs": {"get": {"description": "Get the existing EVPN topology", "operationId": "getSiteEvpnTopology", "tags": ["Sites EVPN Topologies"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "While all the `evpn_id` / `downlink_ips` can be specifidd by hand, the easiest way is to call the `build_vpn_topology` API, allowing you to examine the diff, and update it yourself. You can also simply call it with `overwrite=true` which will apply the updates for you.\n\n**Notes:**\n1. You can use `core` / `distribution` / `access` to create a CLOS topology\n2. You can also use `core` / `distribution` to form a 2-tier EVPN topology where ESI-Lag is configured distribution to connect to access switches\n3. In a small/medium campus, `collapsed-core` can be used where core switches are the inter-connected to do EVPN\n4. The API uses a few pre-defined parameters and best-practices to generate the configs. It can be customized by using `evpn_options` in Site Setting / Network Template. (e.g. a different subnet for the underlay)\n\n#### Collapsed Core\nIn a small-medium campus, EVPN can also be enabled only at the core switches (up to 4) by assigning all participating switches with `collapsed-core role`. When there are more than 2 switches, a ring-like topology will be formed.\n\n#### ESI-Lag\nIf the access switchess does not have EVPN support, you can take advantage of EVPN by setting up ESI-Lag on distribution switches\n\n#### Leaf / Access / Collapsed-Core\nFor leaf nodes in a EVPN topology, you\u2019d have to configure the IPs for networks that would participate in EVPN. Optionally, VRFs to isolate traffic from one tenant verus another", "operationId": "createSiteEvpnTopology", "tags": ["Sites EVPN Topologies"]}}, "paths": {"{evpn_topology_id}": {"specs": {"delete": {"description": "Delete the site EVPN Topology", "operationId": "deleteSiteEvpnTopology", "tags": ["Sites EVPN Topologies"]}, "get": {"description": "Get One EVPN Topology Detail", "operationId": "getSiteEvpnTolopogy", "tags": ["Sites EVPN Topologies"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/evpn_topology_id"}], "put": {"description": "Update the EVPN Topolgy", "operationId": "updateSiteEvpnTopology", "tags": ["Sites EVPN Topologies"]}}}}}, "gatewaytemplates": {"paths": {"derived": {"specs": {"get": {"description": "Get derived Gateway Templates for Site", "operationId": "getSiteGatewayTemplateDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"type": "boolean"}}], "tags": ["Sites Site Templates"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "guests": {"specs": {"get": {"description": "Get List of Site Guest Authorizations", "operationId": "listSiteAllGuestAuthorizations", "parameters": [{"description": "UUID of single or multiple (Comma separated) WLAN under Site `site_id` (to filter by WLAN)", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}], "tags": ["Sites Guests"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"count": {"specs": {"get": {"description": "Count Authorized Guest", "operationId": "countSiteGuestAuthorizations", "parameters": [{"example": "auth_method", "in": "query", "name": "distinct", "schema": {"default": "auth_method", "enum": ["auth_method", "ssid", "company"], "type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Guests"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Authorized Guest", "operationId": "searchSiteGuestAuthorization", "parameters": [{"example": "00000000-0000-0000-0000-000000000000", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"in": "query", "name": "auth_method", "schema": {"type": "string"}}, {"in": "query", "name": "ssid", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Guests"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "{guest_mac}": {"specs": {"delete": {"description": "Delete Guest Authorization", "operationId": "deleteSiteGuestAuthorization", "tags": ["Sites Guests"]}, "get": {"description": "Get Guest Authorization", "operationId": "getSiteGuestAuthorization", "tags": ["Sites Guests"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/guest_mac"}], "put": {"description": "Update Guest Authorization ", "operationId": "updateSiteGuestAuthorization", "tags": ["Sites Guests"]}}}}}, "insights": {"paths": {"client": {"paths": {"{client_mac}": {"paths": {"{metric}": {"specs": {"get": {"description": "Get Client Insight Metrics\nSee metrics possibilities at /api/v1/const/insight_metrics", "operationId": "getSiteInsightMetricsForClient", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/interval"}], "tags": ["Sites Insights"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/client_mac"}, {"$ref": "#/components/parameters/metric"}]}}}}}}, "device": {"paths": {"{device_mac}": {"paths": {"{metric}": {"specs": {"get": {"description": "Get AP Insight Metrics\nSee metrics possibilities at /api/v1/const/insight_metrics", "operationId": "getSiteInsightMetricsForDevice", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/interval"}], "tags": ["Sites Insights"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/metric"}, {"$ref": "#/components/parameters/device_mac"}]}}}}}}, "rogues": {"specs": {"get": {"description": "Get List of Site Rogue/Neighbor APs", "operationId": "listSiteRogueAPs", "parameters": [{"$ref": "#/components/parameters/rogue_type"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/interval"}], "tags": ["Sites Rogues"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"clients": {"specs": {"get": {"description": "Get List of Site Rogue Clients", "operationId": "listSiteRogueClients", "parameters": [{"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/interval"}], "tags": ["Sites Rogues"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "{metric}": {"specs": {"get": {"description": "Get Site Insight Metrics\nSee metrics possibilities at /api/v1/const/insight_metrics", "operationId": "getSiteInsightMetrics", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/interval"}], "tags": ["Sites Insights"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/metric"}]}}}}, "licenses": {"paths": {"usages": {"specs": {"get": {"description": "This shows license usage (i.e. needed) based on the features enabled for the site.", "operationId": "getSiteLicenseUsage", "tags": ["Sites Licenses"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "location": {"paths": {"coverage": {"specs": {"get": {"description": "Get Beam Coverage Overview", "operationId": "getSiteBeamCoverageOverview", "parameters": [{"description": "map_id (filter by map_id)", "example": "00000000-0000-0000-0000-000000000000", "in": "query", "name": "map_id", "schema": {"type": "string"}}, {"in": "query", "name": "type", "schema": {"default": "sdkclient", "enum": ["sdkclient", "client", "asset"], "type": "string"}}, {"description": "where the start time will be calculated (with end time is now)", "in": "query", "name": "duration", "schema": {"default": "1h", "enum": ["1d", "5h", "1h", "30m"], "type": "string"}}, {"$ref": "#/components/parameters/resolution"}, {"description": "client_type (as filter. optional)", "in": "query", "name": "client_type", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}], "tags": ["Sites Location"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "ml": {"paths": {"current": {"specs": {"get": {"description": "Get Machine Learning Current Stat\nFor each VBLE AP, it has ML model parameters (e.g. Path-loss-estimate, Intercept) as well as completion indicators (Level and PercentageComplete). For the completeness, ML takes N sample to finish its first level and use N*0.25 samples to complete each successive level. When a device is moved, the completeness will be reset as it has to re-learn.", "operationId": "getSiteMachineLearningCurrentStat", "parameters": [{"description": "map_id (as filter, optional)", "example": "00000000-0000-0000-0000-000000000000", "in": "query", "name": "map_id", "schema": {"type": "string"}}], "tags": ["Sites Location"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "defaults": {"specs": {"get": {"description": "Get Default PLF for Models", "operationId": "getSiteDefaultPlfForModels", "tags": ["Sites Location"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "device": {"paths": {"{device_id}": {"specs": {"delete": {"description": "Clear ML Overwrite for Device", "operationId": "clearSiteMlOverwriteForDevice", "tags": ["Sites Location"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "put": {"description": "Overwrite ML For Device", "operationId": "overwriteSiteMlForDevice", "tags": ["Sites Location"]}}}}}, "map": {"paths": {"{map_id}": {"specs": {"delete": {"description": "Clear ML Overwrite for Map", "operationId": "clearSiteMlOverwriteForMap", "tags": ["Sites Location"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "put": {"description": "Overwrite ML For Map", "operationId": "overwriteSiteMlForMap", "tags": ["Sites Location"]}}}}}, "reset": {"paths": {"map": {"paths": {"{map_id}": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "Reset ML Stats by Map", "operationId": "resetSiteMlStatsByMap", "tags": ["Sites Location"]}}}}}}}}}}}, "maps": {"specs": {"get": {"description": "Get List of Site Maps", "operationId": "listSiteMaps", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Maps"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site Map", "operationId": "createSiteMap", "tags": ["Sites Maps"]}}, "paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Import data from files is a multipart POST which has an file, an optional json, and an optional csv, to create floorplan, assign matching inventory to specific site, place ap if name or mac matches.\n\n# Note\nThis endpoint (at the site level), the AP must be already assigned to the site to be placed on the floorplan. If you want to place APs from the Org inventory, it is required to use the endpoint at the Org level [importOrgMaps](#operation/importOrgMaps)\n\n# CSV File Format\n```csv\nVendor AP name,Mist AP Mac\nUS Office AP-2,5c:5b:35:00:00:02\nUS Office AP-3,5c5b35000002\n``` ", "operationId": "importSiteMaps", "tags": ["Sites Maps"]}}}, "{map_id}": {"specs": {"delete": {"description": "Delete Site Map", "operationId": "deleteSiteMap", "tags": ["Sites Maps"]}, "get": {"description": "Get Site Map Details", "operationId": "getSiteMap", "tags": ["Sites Maps"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "put": {"description": "Update Site Map", "operationId": "updateSiteMap", "tags": ["Sites Maps"]}}, "paths": {"auto_orient": {"specs": {"delete": {"description": "This API is called to force stop auto placement for a given map", "operationId": "deleteSiteApAutoOrientation", "tags": ["Sites Maps Auto-orientation"]}, "parameters": [{"$ref": "#/components/parameters/map_id"}, {"$ref": "#/components/parameters/site_id"}], "post": {"description": "This API is called to trigger a map for auto orientation. For auto orient feature to work, BLE data needs to be collected from the APs on the map. This precess is not disruptive unlike FTM collection. Repeated POST to this endpoint while a map is still running will be rejected.\n\nList of devices to provide suggestions for is an optional parameter that can be given to this API. This will provide auto orient suggestions only for the devices specified. If no list of devices is provided, all APs asociated with that map are considered by default", "operationId": "startSiteApAutoOrientation", "tags": ["Sites Maps Auto-orientation"]}}}, "auto_placement": {"specs": {"delete": {"description": "This API is called to force stop auto placement for a given map", "operationId": "deleteSiteApAutoplacement", "tags": ["Sites Maps Auto-placement"]}, "get": {"description": "This API is called to view the current status of auto placement for a given map.\n\n\n#### Status Descriptions\n\n| Status | Description |\n| --- | --- |\n| `pending` | Autoplacement has not been requested for this map |\n| `inprogress` | Autoplacement is currently processing |\n| `done` | The autoplacement process has completed |\n| `data_needed` | Additional position data is required for autoplacement. Users should verify the requested anchor APs have a position on the map |\n| `invalid_model` | Autoplacement is not supported on the model of the APs on the map |\n| `invalid_version` | Autoplacement is not supported with the APs current firmware version |\n| `error` | There was an error in the autoplacement process |", "operationId": "getSiteApAutoPlacement", "tags": ["Sites Maps Auto-placement"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "This API is called to trigger a map for auto placement. For auto placement feature to work, RTT-FTM data need to be collected from the APs on the map. This scan is disruptive and therefore the user must be notified of service disrution during the functioning of auto placement Repeated POST to this endpoint while a map is still running will be rejected.\n\nList of devices to provide suggestions for is an optional parameter that can be given to this API. This will provide autoplacement suggestions only for the devices specified. If no list of devices is provided, all APs asociated with that map are considered by default", "operationId": "runSiteApAutoplacement", "tags": ["Sites Maps Auto-placement"]}}}, "clear_auto_orient": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "This API is used to destroy the autoorientations of a map or subset of APs on a map.", "operationId": "clearSiteApAutoOrient", "tags": ["Sites Maps Auto-orientation"]}}}, "clear_autoplacement": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "This API is used to destroy the cached autoplacement locations of a map or subset of APs on a map.", "operationId": "clearSiteApAutoplacement", "tags": ["Sites Maps Auto-placement"]}}}, "image": {"specs": {"delete": {"description": "Delete Site Map Image", "operationId": "deleteSiteMapImage", "tags": ["Sites Maps"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "Add image map is a multipart POST which has an file (Image) and an optional json parameter", "operationId": "addSiteMapImage", "tags": ["Sites Maps"]}}}, "replace": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "Replace Map Image\n\n\nThis works like an PUT where the image will be replaced. If transform is provided, all the locations of the objects on the map (AP, Zone, Vbeacon, Beacon) will be transformed as well (relative to the new Map)", "operationId": "replaceSiteMapImage", "tags": ["Sites Maps"]}}}, "set_map": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "This API can be used to assign a list of AP Macs associated with site_id to the specified map_id. Note that map_id must be associated with corresponding site_id. This API obeys the following rules \n1. if AP is unassigned to any Map, it gets associated with map_id \n2. Any moved APs are returned in the response \n3. If the AP is considered a locked AP, no action will be taken", "operationId": "bulkAssignSiteApsToMap", "tags": ["Sites Maps"]}}}, "use_auto_ap_values": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "This API is used to accept or reject the cached autoplacement and auto orientation values of a map or subset of APs on a map. A rejected AP will retain its current X,Y and orientation until accpeted.", "operationId": "confirmSiteApLocalizationData", "tags": ["Sites Maps Auto-placement"]}}}, "wayfinding": {"paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "This imports the vendor map meta data into the Map JSON. This is required by the SDK and App in order to access/render the vendor Map properly.", "operationId": "importSiteWayfindings", "tags": ["Sites Maps"]}}}}}}}}}, "mxedges": {"specs": {"get": {"description": "Get List of Site Mist Edges", "operationId": "listSiteMxEdges", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site Mist Edge", "operationId": "createSiteMxEdge", "tags": ["Sites MxEdges"]}}, "paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count Mist Edge Events", "operationId": "countSiteMxEdgeEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "mxedge_id", "enum": ["mxedge_id", "type", "mxcluster_id", "package"], "type": "string"}}, {"description": "mist edge id", "in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"description": "mist edge cluster id", "in": "query", "name": "mxcluster_id", "schema": {"type": "string"}}, {"description": "mist edge event type [Supported Events](/#operation/listGatewayApplications)", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "service running on mist edge(mxagent, tunterm etc)", "in": "query", "name": "service", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Site Mist Edge Events", "operationId": "searcSitehMistEdgeEvents", "parameters": [{"description": "mist edge id", "in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"description": "mist edge cluster id", "in": "query", "name": "mxcluster_id", "schema": {"type": "string"}}, {"description": "mist edge event type [Supported Events](/#operation/listGatewayApplications)", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "service running on mist edge(mxagent, tunterm etc)", "in": "query", "name": "service", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "{mxedge_id}": {"specs": {"delete": {"description": "Delete Site Mist Edge", "operationId": "deleteSiteMxEdge", "tags": ["Sites MxEdges"]}, "get": {"description": "get Site Mist Edge", "operationId": "getSiteMxEdge", "tags": ["Sites MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/mxedge_id"}], "put": {"description": "Update Site Mist Edge settings", "operationId": "updateSiteMxEdge", "tags": ["Sites MxEdges"]}}, "paths": {"support": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/mxedge_id"}], "post": {"description": "Support / Upload Mist Edge support files", "operationId": "uploadSiteMxEdgeSupportFiles", "tags": ["Sites MxEdges"]}}}}}}}, "mxtunnels": {"paths": {"{mxtunnel_id}": {"paths": {"preempt_aps": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/mxtunnel_id"}], "post": {"description": "To preempt AP\u2019s which are not connected to preferred peer to the preferred peer", "operationId": "preemptSitesMxTunnel", "tags": ["Sites MxTunnels"]}}}}}}}, "nac_clients": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of NAC Clients", "operationId": "countSiteNacClients", "parameters": [{"description": "NAC Policy Rule ID, if matched", "in": "query", "name": "distinct", "schema": {"default": "type", "enum": ["type", "last_nacrule_id", "auth_type", "last_vlan_id", "last_nas_vendor", "last_username", "last_ap", "mac", "last_ssid", "last_status", "mdm_compliance_status", "mdm_provider"], "type": "string"}}, {"description": "NAC Policy Rule ID, if matched", "in": "query", "name": "last_nacrule_id", "schema": {"type": "string"}}, {"description": "NAC Policy Rule Matched", "in": "query", "name": "nacrule_matched", "schema": {"type": "boolean"}}, {"description": "authentication type, e.g. \u201ceap-tls\u201d, \u201ceap-ttls\u201d, \u201ceap-teap\u201d, \u201cmab\u201d, \u201cdevice-auth\u201d", "in": "query", "name": "auth_type", "schema": {"type": "string"}}, {"description": "Vlan ID", "in": "query", "name": "last_vlan_id", "schema": {"type": "string"}}, {"description": "vendor of NAS device", "in": "query", "name": "last_nas_vendor", "schema": {"type": "string"}}, {"description": "SSO ID, if present and used", "in": "query", "name": "idp_id", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "last_ssid", "schema": {"type": "string"}}, {"description": "Username presented by the client", "in": "query", "name": "last_username", "schema": {"type": "string"}}, {"description": "start time, in epoch", "in": "query", "name": "timestamp", "schema": {"type": "number"}}, {"description": "AP MAC connected to by client", "in": "query", "name": "last_ap", "schema": {"type": "string"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Connection status of client i.e \u201cpermitted\u201d, \u201cdenied, \u201csession_ended\u201d", "in": "query", "name": "last_status", "schema": {"type": "string"}}, {"description": "Client type i.e. \u201cwireless\u201d, \u201cwired\u201d etc.", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "MDM compliancy of client i.e \u201ccompliant\u201d, \u201cnot compliant\u201d", "in": "query", "name": "mdm_compliance_status", "schema": {"type": "string"}}, {"description": "MDM provider of client\u2019s organisation eg \u201cintune\u201d, \u201cjamf\u201d", "in": "query", "name": "mdm_provider", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Sites Clients - NAC"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "events": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of NAC Client-Events", "operationId": "countSiteNacClientEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"enum": ["type", "nacrule_id", "dryrun_nacrule_id", "auth_type", "vlan", "nas_vendor", "username", "ap", "mac", "ssid"], "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Sites Clients - NAC"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search NAC Client Events", "operationId": "searcSitegNacClientEvents", "parameters": [{"description": "event type, e.g. NAC_CLIENT_PERMIT", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "NAC Policy Rule ID, if matched", "in": "query", "name": "nacrule_id", "schema": {"format": "uuid", "type": "string"}}, {"description": "NAC Policy Rule Matched", "in": "query", "name": "nacrule_matched", "schema": {"type": "boolean"}}, {"description": "NAC Policy Dry Run Rule ID, if present and matched", "in": "query", "name": "dryrun_nacrule_id", "schema": {"type": "string"}}, {"description": "True - if dryrun rule present and matched with priority, False - if not matched or not present", "in": "query", "name": "dryrun_nacrule_matched", "schema": {"type": "boolean"}}, {"description": "authentication type, e.g. \u201ceap-tls\u201d, \u201ceap-ttls\u201d, \u201ceap-teap\u201d, \u201cmab\u201d, \u201cdevice-auth\u201d", "in": "query", "name": "auth_type", "schema": {"type": "string"}}, {"description": "Vlan ID", "in": "query", "name": "vlan", "schema": {"type": "integer"}}, {"description": "vendor of NAS device", "in": "query", "name": "nas_vendor", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "bssid", "schema": {"type": "string"}}, {"description": "SSO ID, if present and used", "in": "query", "name": "idp_id", "schema": {"format": "uuid", "type": "string"}}, {"description": "IDP returned roles/groups for the user", "in": "query", "name": "idp_role", "schema": {"type": "string"}}, {"description": "Radius attributes returned by NAC to NAS Devive", "in": "query", "name": "resp_attrs", "schema": {"items": {"type": "string"}, "type": "array"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "Username presented by the client", "in": "query", "name": "username", "schema": {"type": "string"}}, {"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "AP random macMAC", "in": "query", "name": "random_mac", "schema": {"type": "boolean"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "start time, in epoch", "in": "query", "name": "timestamp", "schema": {"type": "number"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Sites Clients - NAC"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "search": {"specs": {"get": {"description": "Search Site NAC Clients", "operationId": "searchSiteNacClients", "parameters": [{"description": "NAC Policy Rule ID, if matched", "in": "query", "name": "last_nacrule_id", "schema": {"type": "string"}}, {"description": "NAC Policy Rule Matched", "in": "query", "name": "nacrule_matched", "schema": {"type": "boolean"}}, {"description": "authentication type, e.g. \u201ceap-tls\u201d, \u201ceap-ttls\u201d, \u201ceap-teap\u201d, \u201cmab\u201d, \u201cdevice-auth\u201d", "in": "query", "name": "auth_type", "schema": {"type": "string"}}, {"description": "Vlan ID", "in": "query", "name": "last_vlan_id", "schema": {"type": "string"}}, {"description": "vendor of NAS device", "in": "query", "name": "last_nas_vendor", "schema": {"type": "string"}}, {"description": "SSO ID, if present and used", "in": "query", "name": "idp_id", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "last_ssid", "schema": {"type": "string"}}, {"description": "Username presented by the client", "in": "query", "name": "last_username", "schema": {"type": "string"}}, {"description": "start time, in epoch", "in": "query", "name": "timestamp", "schema": {"type": "number"}}, {"description": "AP MAC connected to by client", "in": "query", "name": "last_ap", "schema": {"type": "string"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Connection status of client i.e \u201cpermitted\u201d, \u201cdenied, \u201csession_ended\u201d", "in": "query", "name": "last_status", "schema": {"type": "string"}}, {"description": "Client type i.e. \u201cwireless\u201d, \u201cwired\u201d etc.", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "MDM compliancy of client i.e \u201ccompliant\u201d, \u201cnot compliant\u201d", "in": "query", "name": "mdm_compliance_status", "schema": {"type": "string"}}, {"description": "MDM provider of client\u2019s organisation eg \u201cintune\u201d, \u201cjamf\u201d", "in": "query", "name": "mdm_provider", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Sites Clients - NAC"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "networks": {"paths": {"derived": {"specs": {"get": {"description": "Retrieves the list of Networks available for the Site", "operationId": "listSiteNetworksDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"default": false, "type": "boolean"}}], "tags": ["Sites Networks"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "networktemplates": {"paths": {"derived": {"specs": {"get": {"description": "Get derived Network Templates for Site", "operationId": "getSiteNetworkTemplateDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"type": "boolean"}}], "tags": ["Sites Network Templates"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "otherdevices": {"specs": {"get": {"description": "Get List of Site other devices (3rd party devices)", "operationId": "listSiteOtherDevices", "parameters": [{"in": "query", "name": "vendor", "schema": {"type": "string"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}, {"in": "query", "name": "serial", "schema": {"type": "string"}}, {"in": "query", "name": "model", "schema": {"type": "string"}}, {"in": "query", "name": "name", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Devices Others"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count Site OtherDevices Events", "operationId": "countSiteOtherDeviceEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "mac", "enum": ["mac", "type", "vendor", "site_id"], "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Sites Devices Others"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Site OtherDevices Events", "operationId": "searchSiteOtherDeviceEvents", "parameters": [{"description": "mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "mac of attached device", "in": "query", "name": "device_mac", "schema": {"type": "string"}}, {"description": "vendor name", "in": "query", "name": "vendor", "schema": {"type": "string"}}, {"description": "event type", "in": "query", "name": "type", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Sites Devices Others"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}}}, "pcaps": {"specs": {"get": {"description": "Get List of Site Packet Captures", "operationId": "listSitePacketCaptures", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"description": "optional client mac filter", "in": "query", "name": "client_mac", "schema": {"type": "string"}}], "tags": ["Sites Pcaps"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"capture": {"specs": {"delete": {"description": "Stop current capture", "operationId": "stopSitePacketCapture", "tags": ["Sites Pcaps"]}, "get": {"description": "Get Capturing status", "operationId": "getSiteCapturingStatus", "tags": ["Sites Pcaps"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Initiate a Packet Capture\n\nThe output will be available through websocket. As there can be multiple command issued against the same AP at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n subscribe: \"/sites/{site_id}/pcaps\"\n}\n```\n#### Response (Wireless/RadioTap)\n```json\n{\n \"event\": \"data\"\n \"channel\": \"/sites/:site_id/pcaps\"\n \"data\": {\n \"capture_id\": \"6b1be4fb-b239-44d9-9d3b-cb1ff3af1721\",\n \"lost_messages\": 0\n \"pcap_dict\": {\n \"channel_frequency\": 2412,\n \"channel\": \"1\",\n \"datarate\": \"1.0 Mbps\",\n \"rssi\": -75, \n \"dst\": \"78:bd:bc:ca:0b:0a\",\n \"src\": \"18:b8:1f:4c:91:c0\",\n \"bssid\": \"18:b8:1f:4c:91:c0\",\n \"frame_type\": \"Management\", \n \"frame_subtype\": \"Probe Response\", \n \"proto\": \"802.11\", \n \"ap_mac\": \"d4:20:b0:81:99:2e\", \n \"direction\": \"tx\", \n \"timestamp\": 1652246543, \n \"length\": 416.0,\n \"interface\": \"radiotap\",\n \"info\": \"1652246544.467733 1683216786us tsft 1.0 Mb/s 2412 MHz 11g -75dBm signal -82dBm noise antenna 0 Probe Response (ATTKmsWiVS) [1.0* 2.0* 5.5* 11.0* 18.0 24.0 36.0 54.0 Mbit] CH: 2, PRIVACY\\\\n\",\n }, \n \"pcap_raw\": \"1MOyoQIABAAAAAAAAAAAAP//AAABAAAAEEh7Yh5VBwCgAQAAoAEAAAAAKwBvCADAAQAAAIw7reCS2VNkAAAAABACbAmABLWuAAEAEBgAAwACAABQADoBeL28ygsKGLgfTJHAGLgfTJHAcIZ2WDlBJQAAAGQAERUACkFUVEttc1dpVlMBCIKEi5YkMEhsAwECBwZVUyABCx4gAQAjAhkAKgEEMgQMEhhgMBQBAAAPrAQBAAAPrAQBAAAPrAIMAAsFAQAbAABGBTIIAQAALRqtCR////8AAAAAAAAAAAAAAAAAAAAAAAAAAD0WAggVAAAAAAAAAAAAAAAAAAAAAAAAAH8IBAAIAAAAAEDdkwBQ8gQQSgABEBBEAAECEDsAAQMQRwAQn2481frn3KT+uGod2ERx+RAhAAtBcnJpcywgSW5jLhAjAApCR1cyMTAtNzAwECQACkJHVzIxMC03MDAQQgAKQkdXMjEwLTcwMBBUAAgABgBQ8gQAARARAA5BcnJpcyBXaXJlbGVzcxAIAAIgCBA8AAEBEEkABgA3KgABIN0JABAYAgEQHAAA3RgAUPICAQGEAAOkAAAnpAAAQkNeAGIyLwAzjakr\"\n}\n```\n\n#### vResponse (Wired)\n```json\n{\n \"event\": \"data\"\n \"channel\": \"/sites/67970e46-4e12-11e6-9188-0242ac110007/pcaps\"\n \"data\": {\n \"capture_id\": \"f039b1b4-a23e-48b2-906a-0da40524de73\", \n \"pcap_dict\": {\n \"dst_mac\": \"68:ec:c5:09:2e:87\",\n \"src_mac\": \"8c:3b:ad:e0:47:40\", \n \"vlan\": 1, \n \"src_ip\": \"34.224.147.117\", \n \"dst_ip\": \"192.168.1.55\",\n \"dst_port\": 51635, \n \"src_port\": 443,\n \"proto\": \"TCP\", \n \"ap_mac\": \"d4:20:b0:81:99:2e\",\n \"direction\": \"tx\", \n \"timestamp\": 1652247615, \n \"length\": 159.0, \n \"interface\": \"wired\",\n \"info\": \"1652247616.007409 IP ec2-34-224-147-117.compute-1.amazonaws.com.https > ip-192-168-1-55.ec2.internal.51635: Flags [P.], seq 2192123968:2192124057, ack 4035166782, win 12, options [nop,nop,TS val 597467050 ecr 740580660], length 89\\\\n\",\n }, \n \"pcap_raw\": \"1MOyoQIABAAAAAAAAAAAAP//AAABAAAAQEx7YhMzAACfAAAAnwAAAGjsxQkuh4w7reBHQIEAAAEIAEUAAI1bLEAAKAZ/CiLgk3XAqAE3AbvJs4KpKEDwg8I+gBgADFf9AAABAQgKI5yfqiwkXTQXAwMAVKY5JopoKQrVEn0/3ld4YntctGEH/rTZuwtCvzSncFw71QJveJi9uxHs57KC8w9Apph3YvXJrmWg7M37+o+YV0KH/xmr626s5Bkhb3QhKOu+NoNEmA==\"\n\n }\n}\n```\n\n#### Stop Response (Wired/Wireless)\n```json\n{\n \"event\": \"data\"\n \"channel\": \"/sites/67970e46-4e12-11e6-9188-0242ac110007/pcaps\"\n \"data\": {\n \"capture_id\": \"a2f7374d-6a70-41fd-8a3f-71e42573baaf\", \n \"lost_messages\": 0,\n \"pcap_dict\": null\n }\n}\n```", "operationId": "startSitePacketCapture", "tags": ["Sites Pcaps"]}}}, "{pcap_id}": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/pcap_id"}], "put": {"description": "Update or add notes to a completed packet capture", "operationId": "updateSitePacketCapture", "tags": ["Sites Pcaps"]}}}}}, "psks": {"specs": {"get": {"description": "Get List of Site PSKs", "operationId": "listSitePsks", "parameters": [{"in": "query", "name": "ssid", "schema": {"type": "string"}}, {"in": "query", "name": "role", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/name"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Psks"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site PSK", "operationId": "createSitePsk", "tags": ["Sites Psks"]}, "put": {"description": "Update multi PSKs", "operationId": "updateSitePsks", "tags": ["Sites Psks"]}}, "paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Import PSK from CSV file or JSON\n\n## CSV File Format\n```csv\nPSK Import CSV File Format:\nname,ssid,passphrase,usage,vlan_id,mac\nCommon,warehouse,foryoureyesonly,single,35,a31425f31278\nJustin,reception,visible,multi,1002\n```", "operationId": "importSitePsks", "tags": ["Sites Psks"]}}}, "{psk_id}": {"specs": {"delete": {"description": "Delete Site PSK", "operationId": "deleteSitePsk", "tags": ["Sites Psks"]}, "get": {"description": "Get Site PSK Details", "operationId": "getSitePsk", "tags": ["Sites Psks"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/psk_id"}], "put": {"description": "Update Site PSK", "operationId": "updateSitePsk", "tags": ["Sites Psks"]}}}}}, "rfdiags": {"specs": {"get": {"description": "List RF Glass Recording", "operationId": "getSiteSiteRfdiagRecording", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Rfdiags"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Start RF Glass Recording", "operationId": "startSiteRecording", "tags": ["Sites Rfdiags"]}}, "paths": {"{rfdiag_id}": {"specs": {"delete": {"description": "Delete Recording", "operationId": "deleteSiteRfdiagRecording", "tags": ["Sites Rfdiags"]}, "get": {"description": "Get RF Diage Recording Details", "operationId": "getSiteRfdiagRecording", "tags": ["Sites Rfdiags"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/rfdiag_id"}], "put": {"description": "Update Recording", "operationId": "updateSiteRfdiagRecording", "tags": ["Sites Rfdiags"]}}, "paths": {"download": {"specs": {"get": {"description": "Download Recording\nDownload raw_events blob", "operationId": "downloadSiteRfdiagRecording", "tags": ["Sites Rfdiags"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/rfdiag_id"}]}}, "stop": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/rfdiag_id"}], "post": {"description": "If the recording session is active for the given rfdiag_id, it will finish the recording. duration and end_time will be updated to reflect the correct values.", "operationId": "stopSiteRfdiagRecording", "tags": ["Sites Rfdiags"]}}}}}}}, "rftemplates": {"paths": {"derived": {"specs": {"get": {"description": "Get derived RF Templates for Site", "operationId": "getSiteRfTemplateDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"type": "boolean"}}], "tags": ["Sites RF Templates"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "rogues": {"paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count Rogue Events", "operationId": "countSiteRogueEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "bssid", "enum": ["bssid", "ssid", "ap", "type"], "type": "string"}}, {"$ref": "#/components/parameters/rogue_type"}, {"description": "ssid of the network detected as threat", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "bssid of the network detected as threat", "in": "query", "name": "bssid", "schema": {"type": "string"}}, {"description": "mac of the device that had strongest signal strength for ssid/bssid pair", "in": "query", "name": "ap_mac", "schema": {"type": "string"}}, {"description": "channel over which ap_mac heard ssid/bssid pair", "in": "query", "name": "channel", "schema": {"type": "string"}}, {"description": "whether the reporting AP see a wireless client (on LAN) connecting to it", "in": "query", "name": "seen_on_lan", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Rogues"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Rogue Events", "operationId": "searchSiteRogueEvents", "parameters": [{"$ref": "#/components/parameters/rogue_type"}, {"description": "ssid of the network detected as threat", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "bssid of the network detected as threat", "in": "query", "name": "bssid", "schema": {"type": "string"}}, {"description": "mac of the device that had strongest signal strength for ssid/bssid pair", "in": "query", "name": "ap_mac", "schema": {"type": "string"}}, {"description": "channel over which ap_mac heard ssid/bssid pair", "in": "query", "name": "channel", "schema": {"type": "integer"}}, {"description": "whether the reporting AP see a wireless client (on LAN) connecting to it", "in": "query", "name": "seen_on_lan", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Rogues"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "{rogue_bssid}": {"specs": {"get": {"description": "Get Rogue AP Details", "operationId": "getSiteRogueAP", "parameters": [], "tags": ["Sites Rogues"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/rogue_bssid"}]}, "paths": {"deauth_clients": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/rogue_bssid"}], "post": {"description": "Send Deauth frame to clients connected to a Rogue AP", "operationId": "deauthSiteWirelessClientsConnectedToARogue", "tags": ["Sites Rogues"]}}}}}}}, "rrm": {"paths": {"current": {"specs": {"get": {"description": "Get Current Channel Planning", "operationId": "getSiteCurrentChannelPlanning", "tags": ["Sites RRM"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"devices": {"paths": {"{device_id}": {"paths": {"band": {"paths": {"{band}": {"specs": {"get": {"description": "Get Current RRM Considerations for an AP on a Specific Band", "operationId": "getSiteCurrentRrmConsiderationsForAnApOnASpecificBand", "tags": ["Sites RRM"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}, {"description": "radio band", "in": "path", "name": "band", "required": true, "schema": {"enum": ["24", "5", "6"], "type": "string"}}]}}}}}}}}}}, "events": {"specs": {"get": {"description": "Get Site RRM Events", "operationId": "getSiteRrmEvents", "parameters": [{"in": "query", "name": "band", "required": true, "schema": {"enum": ["24", "5", "6"], "type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites RRM"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "optimize": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Optimize Site RRM", "operationId": "optimizeSiteRrm", "tags": ["Sites RRM"]}}}}}, "rssizones": {"specs": {"get": {"description": "Get List of Site RSSI Zone (RSSI-based)", "operationId": "listSiteRssiZones", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Rssizones"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create RSSI Zone", "operationId": "createSiteRssiZone", "tags": ["Sites Rssizones"]}}, "paths": {"{rssizone_id}": {"specs": {"delete": {"description": "Delete Site RSSI Zone", "operationId": "deleteSiteRssiZone", "tags": ["Sites Rssizones"]}, "get": {"description": "Get Site RSSI Zone details", "operationId": "getSiteRssiZone", "tags": ["Sites Rssizones"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/rssizone_id"}], "put": {"description": "Update Site RSSI Zone", "operationId": "updateSiteRssiZone", "tags": ["Sites Rssizones"]}}}}}, "servicepolicies": {"paths": {"derived": {"specs": {"get": {"description": "Retrieves the list of Service Policies available for the Site", "operationId": "listSiteServicePoliciesDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"default": false, "type": "boolean"}}], "tags": ["Sites Service Policies"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "services": {"paths": {"derived": {"specs": {"get": {"description": "Retrieves the list of Services available for the Site", "operationId": "listSiteServicesDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"default": false, "type": "boolean"}}], "tags": ["Sites Services"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "events": {"paths": {"count": {"specs": {"get": {"description": "Count Service Path Events", "operationId": "countSiteServicePathEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "type", "enum": ["type", "mac", "vpn_name", "vpn_path", "policy", "port_id", "model", "site_id"], "type": "string"}}, {"description": "Event type, e.g. GW_SERVICE_PATH_DOWN", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "Description of the event including the reason it is triggered", "in": "query", "name": "text", "schema": {"type": "string"}}, {"description": "Peer name", "in": "query", "name": "vpn_name", "schema": {"type": "string"}}, {"description": "Peer path name", "in": "query", "name": "vpn_path", "schema": {"type": "string"}}, {"description": "Service policy associated with that specific path", "in": "query", "name": "policy", "schema": {"type": "string"}}, {"description": "Network interface", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "Device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "Device firmware version", "in": "query", "name": "version", "schema": {"type": "string"}}, {"description": "Start time, in epoch", "in": "query", "name": "timestamp", "schema": {"type": "number"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}], "tags": ["Sites Services"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Service Path Events", "operationId": "searchSiteServicePathEvents", "parameters": [{"description": "Event type, e.g. GW_SERVICE_PATH_DOWN", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "Description of the event including the reason it is triggered", "in": "query", "name": "text", "schema": {"type": "string"}}, {"description": "Peer name", "in": "query", "name": "vpn_name", "schema": {"type": "string"}}, {"description": "Peer path name", "in": "query", "name": "vpn_path", "schema": {"type": "string"}}, {"description": "Service policy associated with that specific path", "in": "query", "name": "policy", "schema": {"type": "string"}}, {"description": "Network interface", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "Device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "Device firmware version", "in": "query", "name": "version", "schema": {"type": "string"}}, {"description": "Start time, in epoch", "in": "query", "name": "timestamp", "schema": {"type": "number"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}], "tags": ["Sites Services"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}}}, "setting": {"specs": {"get": {"description": "Get Site Settings", "operationId": "getSiteSetting", "tags": ["Sites Setting"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "put": {"description": "Update Site Settings", "operationId": "updateSiteSettings", "tags": ["Sites Setting"]}}, "paths": {"blacklist": {"specs": {"delete": {"description": "Delete Site Blacklist Station Clients", "operationId": "deleteSiteWirelessClientsBlocklist", "tags": ["Sites Setting"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "This endpoint is to provide list of client macs for annotation blacklist.\n\nRetrieve the current clients list `blacklist_url` under Site:Setting", "operationId": "createSiteWirelessClientsBlocklist", "tags": ["Sites Setting"]}}}, "jse": {"paths": {"info": {"specs": {"get": {"description": "Retrieves the list of JSE orgs associated with the account", "operationId": "getSiteJseInfo", "tags": ["Sites JSE"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "watched_station": {"specs": {"delete": {"description": "Delete Site Watched Station Clients", "operationId": "deleteSiteWatchedStations", "tags": ["Sites Setting"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "This endpoint is to provide list of client macs for annotation as watched station.\n\nRetrieve the current clients list from `watched_station_url` under Site:Setting", "operationId": "createSiteWatchedStations", "tags": ["Sites Setting"]}}}, "whitelist": {"specs": {"delete": {"description": "Delete Site Whitelist Station Clients", "operationId": "deleteSiteWirelessClientsAllowlist", "tags": ["Sites Setting"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "This endpoint is to provide list of client macs for annotation as whitelist.\n\nRetrieve the current clients list from `whitelist_url` under Site:Setting", "operationId": "createSiteWirelessClientsAllowlist", "tags": ["Sites Setting"]}}}}}, "sitetemplates": {"paths": {"derived": {"specs": {"get": {"description": "Get derived Site Templates for Site", "operationId": "getSiteSiteTemplateDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"type": "boolean"}}], "tags": ["Sites Site Templates"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "skyatp": {"paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Skyatp Events (WIP)", "operationId": "countSiteSkyatpEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "type", "enum": ["type", "mac", "device_mac", "threat_level"], "type": "string"}}, {"description": "event type, e.g. cc, fs, mw", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "client MAC", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "device MAC", "in": "query", "name": "device_mac", "schema": {"type": "string"}}, {"description": "threat level", "in": "query", "name": "threat_level", "schema": {"type": "integer"}}, {"$ref": "#/components/parameters/ip"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Skyatp"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Skyatp Events (WIP)", "operationId": "searchSiteSkyatpEvents", "parameters": [{"description": "event type, e.g. cc, fs, mw", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "client MAC", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "device MAC", "in": "query", "name": "device_mac", "schema": {"type": "string"}}, {"description": "threat level", "in": "query", "name": "threat_level", "schema": {"type": "integer"}}, {"$ref": "#/components/parameters/ip"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Skyatp"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}}}, "sle": {"paths": {"{scope}": {"paths": {"{scope_id}": {"paths": {"metric": {"paths": {"{metric}": {"paths": {"classifier": {"paths": {"{classifier}": {"paths": {"summary": {"specs": {"get": {"description": "Get SLE classifier details", "operationId": "getSiteSleClassifierDetails", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"enum": ["site", "ap", "switch", "gateway", "client"], "type": "string"}}, {"description": "* site_id if `scope`==`site`\n* device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway`\n* mac if `scope`==`client`", "in": "path", "name": "scope_id", "required": true, "schema": {"type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}, {"in": "path", "name": "classifier", "required": true, "schema": {"type": "string"}}]}}}}}}, "classifiers": {"specs": {"get": {"description": "Get the list of classifiers for a specific metric", "operationId": "getSiteSleMetricClassifiers", "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"enum": ["site", "ap", "switch", "gateway", "client"], "type": "string"}}, {"description": "* site_id if `scope`==`site`\n* device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway`\n* mac if `scope`==`client`", "in": "path", "name": "scope_id", "required": true, "schema": {"type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "histogram": {"specs": {"get": {"description": "Get the histogram for the SLE metric", "operationId": "getSiteSleHistogram", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"enum": ["site", "ap", "switch", "gateway", "client"], "type": "string"}}, {"description": "* site_id if `scope`==`site`\n* device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway`\n* mac if `scope`==`client`", "in": "path", "name": "scope_id", "required": true, "schema": {"type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impact-summary": {"specs": {"get": {"description": "Get impact summary counts optionally filtered by classifier and failure type\n \n* Wireless SLE Fields: `wlan`, `device_type`, `device_os` ,`band`, `ap`, `server`, `mxedge`\n* Wired SLE Fields: `switch`, `client`, `vlan`, `interface`, `chassis`\n* WAN SLE Fields: `gateway`, `client`, `interface`, `chassis`, `peer_path`, `gateway_zones`", "operationId": "getSiteSleImpactSummary", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "fields", "schema": {"enum": ["wlan", "device_type", "device_os", "band", "ap", "server", "mxedge", "switch", "client", "vlan", "interface", "chassis", "gateway", "peer_path", "gateway_zones"], "type": "string"}}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"enum": ["site", "ap", "switch", "gateway", "client"], "type": "string"}}, {"description": "* site_id if `scope`==`site`\n* device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway`\n* mac if `scope`==`client`", "in": "path", "name": "scope_id", "required": true, "schema": {"type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impacted-applications": {"specs": {"get": {"description": "For WAN SLEs. Get list of impacted interfaces optionally filtered by classifier and failure type", "operationId": "getSiteSleImpactedApplications", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"enum": ["site", "switch", "gateway"], "type": "string"}}, {"in": "path", "name": "scope_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impacted-aps": {"specs": {"get": {"description": "For Wireless SLEs. Get list of impacted APs optionally filtered by classifier and failure type", "operationId": "getSiteSleImpactedAps", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"enum": ["site"], "type": "string"}}, {"in": "path", "name": "scope_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impacted-chassis": {"specs": {"get": {"description": "For Wired and WAN SLEs. Get list of impacted interfaces optionally filtered by classifier and failure type", "operationId": "getSiteSleImpactedChassis", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"enum": ["site", "switch", "gateway"], "type": "string"}}, {"in": "path", "name": "scope_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impacted-clients": {"specs": {"get": {"description": "For Wired SLEs. Get list of impacted interfaces optionally filtered by classifier and failure type", "operationId": "getSiteSleImpactedWiredClients", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"enum": ["site", "switch", "gateway"], "type": "string"}}, {"in": "path", "name": "scope_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impacted-gateways": {"specs": {"get": {"description": "For WAN SLEs. Get list of impacted interfaces optionally filtered by classifier and failure type", "operationId": "getSiteSleImpactedGateways", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"enum": ["site"], "type": "string"}}, {"in": "path", "name": "scope_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impacted-interfaces": {"specs": {"get": {"description": "For Wired and WAN SLEs. Get list of impacted interfaces optionally filtered by classifier and failure type", "operationId": "getSiteSleImpactedInterfaces", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"enum": ["site", "switch", "gateway"], "type": "string"}}, {"in": "path", "name": "scope_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impacted-switches": {"specs": {"get": {"description": "For Wired SLEs. Get list of impacted switches optionally filtered by classifier and failure type", "operationId": "getSiteSleImpactedSwitches", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"enum": ["site"], "type": "string"}}, {"in": "path", "name": "scope_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impacted-users": {"specs": {"get": {"description": "For Wireless SLEs. Get list of impacted wireless users optionally filtered by classifier and failure type", "operationId": "getSiteSleImpactedWirelessClients", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"enum": ["site", "ap"], "type": "string"}}, {"in": "path", "name": "scope_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "summary": {"specs": {"get": {"description": " Get the summary for the SLE metric", "operationId": "getSiteSleSummary", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"enum": ["site", "ap", "switch", "gateway", "client"], "type": "string"}}, {"description": "* site_id if `scope`==`site`\n* device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway`\n* mac if `scope`==`client`", "in": "path", "name": "scope_id", "required": true, "schema": {"type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "threshold": {"specs": {"get": {"description": "Get the SLE threshold", "operationId": "getSiteSleThreshold", "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"enum": ["site", "ap", "switch", "gateway", "client"], "type": "string"}}, {"description": "* site_id if `scope`==`site`\n* device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway`\n* mac if `scope`==`client`", "in": "path", "name": "scope_id", "required": true, "schema": {"type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}], "post": {"description": "Replace the SLE threshold", "operationId": "replaceSiteSleThreshold", "tags": ["Sites SLEs"]}, "put": {"description": "Update the SLE threshold", "operationId": "updateSiteSleThreshold", "tags": ["Sites SLEs"]}}}}}}}, "metrics": {"specs": {"get": {"description": "Get the list of metrics for the given scope", "operationId": "getSiteSlesMetrics", "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"enum": ["site", "ap", "switch", "gateway", "client"], "type": "string"}}, {"description": "* site_id if `scope`==`site`\n* device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway`\n* mac if `scope`==`client`", "in": "path", "name": "scope_id", "required": true, "schema": {"type": "string"}}]}}}}}}}}, "ssr": {"paths": {"upgrade": {"paths": {"{upgrade_id}": {"specs": {"get": {"description": "Get Specific Site SSR Upgrade", "operationId": "getSiteSsrUpgrade", "tags": ["Sites Devices Upgrades"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/upgrade_id"}]}}}}, "{device_id}": {"paths": {"upgrade": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Upgrade Site SSR device", "operationId": "upgradeSiteSsr", "tags": ["Sites Devices Upgrades"]}}}}}}}, "stats": {"specs": {"get": {"description": "Get Site Stats", "operationId": "getSiteStats", "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"apps": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Applications", "operationId": "countSiteApps", "parameters": [{"description": "Default for wireless devices is `ap`. Default for wired devices is `device_mac`", "in": "query", "name": "distinct", "schema": {"enum": ["ap", "wcid", "ssid", "wlan_id app", "device_mac", "src_ip", "port_id", "app", "category", "service"], "type": "string"}}, {"description": "MAC of the device", "in": "query", "name": "device_mac", "schema": {"type": "string"}}, {"description": "Application name", "in": "query", "name": "app", "schema": {"type": "string"}}, {"description": "If a device is wired or wireless. Default is False.", "in": "query", "name": "wired", "schema": {"type": "string"}}], "tags": ["Sites Applications"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "assets": {"specs": {"get": {"description": "Get List of Site Assets Stats", "operationId": "listSiteAssetsStats", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"asset_id": {"specs": {"get": {"description": "Get Site Asset Details", "operationId": "getSiteAssetStats", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "count": {"specs": {"get": {"description": "Count Asset by distinct field", "operationId": "countSiteAssets", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "map_id", "enum": ["mac", "map_id", "ibeacon_uuid", "ibeacon_major", "ibeacon_minor", "eddystone_uid_namespace", "eddystone_uid_instance", "eddystone_url", "by", "name", "device_name"], "type": "string"}}], "tags": ["Sites Assets"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Assets Search", "operationId": "searchSiteAssets", "parameters": [{"in": "query", "name": "mac", "schema": {"type": "string"}}, {"in": "query", "name": "map_id", "schema": {"format": "uuid", "type": "string"}}, {"in": "query", "name": "ibeacon_uuid", "schema": {"format": "uuid", "type": "string"}}, {"in": "query", "name": "ibeacon_major", "schema": {"type": "integer"}}, {"in": "query", "name": "ibeacon_minor", "schema": {"type": "integer"}}, {"in": "query", "name": "eddystone_uid_namespace", "schema": {"type": "string"}}, {"in": "query", "name": "eddystone_uid_instance", "schema": {"type": "string"}}, {"in": "query", "name": "eddystone_url", "schema": {"type": "string"}}, {"in": "query", "name": "device_name", "schema": {"type": "string"}}, {"in": "query", "name": "by", "schema": {"type": "string"}}, {"in": "query", "name": "name", "schema": {"type": "string"}}, {"in": "query", "name": "ap_mac", "schema": {"type": "string"}}, {"in": "query", "name": "beam", "schema": {"type": "string"}}, {"in": "query", "name": "rssi", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Assets"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "beacons": {"specs": {"get": {"description": "Get List of Site Beacons Stats", "operationId": "listSiteBeaconsStats", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "bgp_peers": {"paths": {"count": {"specs": {"get": {"description": "Count BGP Stats", "operationId": "countSiteBgpStats", "parameters": [{"in": "query", "name": "state", "schema": {"type": "string"}}, {"in": "query", "name": "distinct", "schema": {"type": "string"}}], "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search BGP Stats", "operationId": "searchSiteBgpStats", "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "calls": {"paths": {"client": {"paths": {"{client_mac}": {"paths": {"troubleshoot": {"specs": {"get": {"description": "Troubleshoot a call", "operationId": "troubleshootSiteCall", "parameters": [{"description": "meeting_id", "in": "query", "name": "meeting_id", "required": true, "schema": {"type": "string"}}, {"description": "device identifier", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Third party app name", "in": "query", "name": "app", "schema": {"example": "zoom", "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Sites Calls"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/client_mac"}]}}}}}}, "count": {"specs": {"get": {"description": "Count by Distinct Attributes of Calls", "operationId": "countSiteCalls", "parameters": [{"in": "query", "name": "distrinct", "schema": {"default": "mac", "enum": ["mac"], "type": "string"}}, {"description": "feedback rating (e.g. \"rating=1\" or \"rating=1,2\")", "in": "query", "name": "rating", "schema": {"maximum": 5, "minimum": 1, "type": "integer"}}, {"in": "query", "name": "app", "schema": {"type": "string"}}, {"in": "query", "name": "start", "schema": {"type": "string"}}, {"in": "query", "name": "end", "schema": {"type": "string"}}], "tags": ["Sites Calls"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Calls", "operationId": "searchSiteCalls", "parameters": [{"description": "device identifier", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Third party app name", "in": "query", "name": "app", "schema": {"example": "zoom", "type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Calls"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "clients": {"specs": {"get": {"description": "Get List of Site All Clients Stats Details", "operationId": "listSiteWirelessClientsStats", "parameters": [{"in": "query", "name": "wired", "schema": {"default": false, "type": "boolean"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"{client_mac}": {"specs": {"get": {"description": "Get Site Client Stats Details", "operationId": "getSiteWirelessClientStats", "parameters": [{"in": "query", "name": "wired", "schema": {"default": false, "type": "boolean"}}], "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/client_mac"}]}}}}, "devices": {"specs": {"get": {"description": "Get List of Site Devices Stats", "operationId": "listSiteDevicesStats", "parameters": [{"in": "query", "name": "type", "schema": {"default": "ap", "enum": ["ap", "switch", "gateway", "all"], "type": "string"}}, {"in": "query", "name": "status", "schema": {"default": "all", "enum": ["all", "connected", "disconnected"], "type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"{device_id}": {"specs": {"get": {"description": "Get Site Device Stats Details", "operationId": "getSiteDeviceStats", "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}]}, "paths": {"clients": {"specs": {"get": {"description": "Get wireless client stat by Device", "operationId": "getSiteAllClientsStatsByDevice", "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}]}}}}}}, "discovered_assets": {"specs": {"get": {"description": "Get List of Site Discovered BLE Assets that doesn\u2019t match any of the Asset / Assetfilters", "operationId": "listSiteDiscoveredAssets", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "discovered_switch_metrics": {"paths": {"search": {"specs": {"get": {"description": "Search Discovered Switch Metrics", "operationId": "searchSiteDiscoveredSwitchesMetrics", "parameters": [{"description": "metric scope, optional", "in": "query", "name": "scope", "schema": {"default": "site", "enum": ["site", "switch"], "type": "string"}}, {"description": "metric type, inactive_wired_vlans/switch_ap_affinity/poe_compliance/version_compliance, optional", "in": "query", "name": "type", "schema": {"enum": ["inactive_wired_vlans", "switch_ap_affinity", "poe_compliance", "version_compliance"], "type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "discovered_switches": {"paths": {"count": {"specs": {"get": {"description": "Count Discovered Switches", "operationId": "countSiteDiscoveredSwitches", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "system_name", "enum": ["system_name", "version", "model", "mgmt_addr"], "type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "metrics": {"specs": {"get": {"description": "Discovered switches related metrics, lists related switch system names & details if not compliant", "operationId": "getSiteDiscoveredSwitchesMetrics", "parameters": [{"description": "configurable # ap per switch threshold, default 12", "in": "query", "name": "threshold", "schema": {"type": "string"}}, {"description": "system name for switch level metrics, optional", "in": "query", "name": "system_name", "schema": {"type": "string"}}], "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Discovered Switches", "operationId": "searchSiteDiscoveredSwitches", "parameters": [{"in": "query", "name": "adopted", "schema": {"type": "boolean"}}, {"in": "query", "name": "system_name", "schema": {"type": "string"}}, {"in": "query", "name": "hostname", "schema": {"type": "string"}}, {"in": "query", "name": "vendor", "schema": {"type": "string"}}, {"in": "query", "name": "model", "schema": {"type": "string"}}, {"in": "query", "name": "version", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "filtered_assets": {"specs": {"get": {"description": "Get a list of BLE beacons that matches Asset or AssetFilter", "operationId": "getSiteAssetsOfInterest", "parameters": [{"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Assets"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "gateways": {"paths": {"metrics": {"specs": {"get": {"description": "Get Site Gateway Metrics", "operationId": "getSiteGatewayMetrics", "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "maps": {"paths": {"{map_id}": {"paths": {"clients": {"specs": {"get": {"description": "Get Site Clients Stats By Map", "operationId": "getSiteWirelessClientsStatsByMap", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}]}}, "discovered_assets": {"specs": {"get": {"description": "Get a list of BLE beacons that we discovered (whether they\u2019re defined as assets or not)", "operationId": "getSiteDiscoveredAssetByMap", "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}]}}, "sdkclients": {"specs": {"get": {"description": "Get SdkClient Stats By Map", "operationId": "getSiteSdkStatsByMap", "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}]}}, "unconnected_clients": {"specs": {"get": {"description": "Get List of Site Unconnected Client Location", "operationId": "listSiteUnconnectedClientStats", "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}]}}}}}}, "mxedges": {"specs": {"get": {"description": "Get List of Site MxEdges Stats", "operationId": "listSiteMxEdgesStats", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"{mxedge_id}": {"specs": {"get": {"description": "Get One Site MxEdge Stats", "operationId": "getSiteMxEdgeStats", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/mxedge_id"}]}}}}, "ports": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Switch/Gateway Ports", "operationId": "countSiteSwOrGwPorts", "parameters": [{"description": "port_id, port_mac, full_duplex, mac, neighbor_macneighbor_port_desc, neighbor_system_name, poe_disabled, poe_mode, poe_on, speed, up", "in": "query", "name": "distinct", "schema": {"default": "mac", "enum": ["port_id", "port_mac", "full_duplex", "mac", "neighbor_mac", "neighbor_port_desc", "neighbor_system_name", "poe_disabled", "poe_mode", "poe_on", "speed", "up"], "type": "string"}}, {"description": "indicates full or half duplex", "in": "query", "name": "full_duplex", "schema": {"type": "boolean"}}, {"description": "device identifier", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Chassis identifier of the chassis type listed", "in": "query", "name": "neighbor_mac", "schema": {"type": "string"}}, {"description": "Description supplied by the system on the interface E.g. \u201cGigabitEthernet2/0/39\u201d", "in": "query", "name": "neighbor_port_desc", "schema": {"type": "string"}}, {"description": "Name supplied by the system on the interface E.g. neighbor system name E.g. \u201cKumar-Acc-SW.mist.local\u201d", "in": "query", "name": "neighbor_system_name", "schema": {"type": "string"}}, {"description": "is the POE configured not be disabled.", "in": "query", "name": "poe_disabled", "schema": {"type": "boolean"}}, {"description": "poe mode depending on class E.g. \u201c802.3at\u201d", "in": "query", "name": "poe_mode", "schema": {"type": "string"}}, {"description": "is the device attached to POE", "in": "query", "name": "poe_on", "schema": {"type": "boolean"}}, {"description": "interface name", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "interface mac address", "in": "query", "name": "port_mac", "schema": {"type": "string"}}, {"description": "Amount of power being used by the interface at the time the command is executed. Unit in watts.", "in": "query", "name": "power_draw", "schema": {"type": "number"}}, {"description": "Output packets", "in": "query", "name": "tx_pkts", "schema": {"type": "integer"}}, {"description": "Input packets", "in": "query", "name": "rx_pkts", "schema": {"type": "integer"}}, {"description": "Input bytes", "in": "query", "name": "rx_bytes", "schema": {"type": "integer"}}, {"description": "Output rate", "in": "query", "name": "tx_bps", "schema": {"type": "integer"}}, {"description": "Input rate", "in": "query", "name": "rx_bps", "schema": {"type": "integer"}}, {"description": "Multicast output packets", "in": "query", "name": "tx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast output packets", "in": "query", "name": "tx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "Multicast input packets", "in": "query", "name": "rx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast input packets", "in": "query", "name": "rx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "port speed", "in": "query", "name": "speed", "schema": {"type": "integer"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_state", "schema": {"enum": ["forwarding", "blocking", "learning", "listening", "disabled"], "type": "string"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_role", "schema": {"enum": ["designated", "backup", "alternate", "root", "root-prevented"], "type": "string"}}, {"description": "if `up`==`true` && has Authenticator role", "in": "query", "name": "auth_state", "schema": {"enum": ["init", "authenticated", "authenticating", "held"], "type": "string"}}, {"description": "indicates if interface is up", "in": "query", "name": "up", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Switch / Gateway Ports", "operationId": "searchSiteSwOrGwPorts", "parameters": [{"description": "indicates full or half duplex", "in": "query", "name": "full_duplex", "schema": {"type": "boolean"}}, {"description": "device identifier", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "device type", "in": "query", "name": "type", "schema": {"enum": ["ap", "ble", "switch", "gateway", "mxedge", "nac"], "type": "string"}}, {"description": "Chassis identifier of the chassis type listed", "in": "query", "name": "neighbor_mac", "schema": {"type": "string"}}, {"description": "Description supplied by the system on the interface E.g. \u201cGigabitEthernet2/0/39\u201d", "in": "query", "name": "neighbor_port_desc", "schema": {"type": "string"}}, {"description": "Name supplied by the system on the interface E.g. neighbor system name E.g. \u201cKumar-Acc-SW.mist.local\u201d", "in": "query", "name": "neighbor_system_name", "schema": {"type": "string"}}, {"description": "is the POE configured not be disabled.", "in": "query", "name": "poe_disabled", "schema": {"type": "boolean"}}, {"description": "poe mode depending on class E.g. \u201c802.3at\u201d", "in": "query", "name": "poe_mode", "schema": {"type": "string"}}, {"description": "is the device attached to POE", "in": "query", "name": "poe_on", "schema": {"type": "boolean"}}, {"description": "interface name", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "interface mac address", "in": "query", "name": "port_mac", "schema": {"type": "string"}}, {"description": "Amount of power being used by the interface at the time the command is executed. Unit in watts.", "in": "query", "name": "power_draw", "schema": {"type": "number"}}, {"description": "Output packets", "in": "query", "name": "tx_pkts", "schema": {"type": "integer"}}, {"description": "Input packets", "in": "query", "name": "rx_pkts", "schema": {"type": "integer"}}, {"description": "Input bytes", "in": "query", "name": "rx_bytes", "schema": {"type": "integer"}}, {"description": "Output rate", "in": "query", "name": "tx_bps", "schema": {"type": "integer"}}, {"description": "Input rate", "in": "query", "name": "rx_bps", "schema": {"type": "integer"}}, {"description": "Output errors", "in": "query", "name": "tx_errors", "schema": {"type": "integer"}}, {"description": "Input errors", "in": "query", "name": "rx_errors", "schema": {"type": "integer"}}, {"description": "Multicast output packets", "in": "query", "name": "tx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast output packets", "in": "query", "name": "tx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "Multicast input packets", "in": "query", "name": "rx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast input packets", "in": "query", "name": "rx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "port speed", "in": "query", "name": "speed", "schema": {"type": "integer"}}, {"description": "Limit on number of dynamically learned macs", "in": "query", "name": "mac_limit", "schema": {"type": "integer"}}, {"description": "Number of mac addresses in the forwarding table", "in": "query", "name": "mac_count", "schema": {"type": "integer"}}, {"description": "indicates if interface is up", "in": "query", "name": "up", "schema": {"type": "boolean"}}, {"description": "indicates if interface is active/inactive", "in": "query", "name": "active", "schema": {"type": "boolean"}}, {"description": "Last sampled jitter of the interface", "in": "query", "name": "jitter", "schema": {"type": "number"}}, {"description": "Last sampled loss of the interface", "in": "query", "name": "loss", "schema": {"type": "number"}}, {"description": "Last sampled latency of the interface", "in": "query", "name": "latency", "schema": {"type": "number"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_state", "schema": {"enum": ["forwarding", "blocking", "learning", "listening", "disabled"], "type": "string"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_role", "schema": {"enum": ["designated", "backup", "alternate", "root", "root-prevented"], "type": "string"}}, {"description": "Optic Slot Partnumber, Check for null/empty", "in": "query", "name": "xcvr_part_number", "schema": {"type": "string"}}, {"description": "if `up`==`true` && has Authenticator role", "in": "query", "name": "auth_state", "schema": {"enum": ["init", "authenticated", "authenticating", "held"], "type": "string"}}, {"description": "LTE IMSI value, Check for null/empty", "in": "query", "name": "lte_imsi", "schema": {"type": "string"}}, {"description": "LTE ICCID value, Check for null/empty", "in": "query", "name": "lte_iccid", "schema": {"type": "string"}}, {"description": "LTE IMEI value, Check for null/empty", "in": "query", "name": "lte_imei", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "sdkclients": {"paths": {"{sdkclient_id}": {"specs": {"get": {"description": "Get Detail Stats of a SdkClient", "operationId": "getSiteSdkStats", "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/sdkclient_id"}]}}}}, "switch_ports": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Switch/Gateway Ports", "operationId": "countSiteSwitchPorts", "parameters": [{"description": "port_id, port_mac, full_duplex, mac, neighbor_macneighbor_port_desc, neighbor_system_name, poe_disabled, poe_mode, poe_on, speed, up", "in": "query", "name": "distinct", "schema": {"default": "mac", "enum": ["port_id", "port_mac", "full_duplex", "mac", "neighbor_mac", "neighbor_port_desc", "neighbor_system_name", "poe_disabled", "poe_mode", "poe_on", "speed", "up"], "type": "string"}}, {"description": "indicates full or half duplex", "in": "query", "name": "full_duplex", "schema": {"type": "boolean"}}, {"description": "device identifier", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Chassis identifier of the chassis type listed", "in": "query", "name": "neighbor_mac", "schema": {"type": "string"}}, {"description": "Description supplied by the system on the interface E.g. \u201cGigabitEthernet2/0/39\u201d", "in": "query", "name": "neighbor_port_desc", "schema": {"type": "string"}}, {"description": "Name supplied by the system on the interface E.g. neighbor system name E.g. \u201cKumar-Acc-SW.mist.local\u201d", "in": "query", "name": "neighbor_system_name", "schema": {"type": "string"}}, {"description": "is the POE configured not be disabled.", "in": "query", "name": "poe_disabled", "schema": {"type": "boolean"}}, {"description": "poe mode depending on class E.g. \u201c802.3at\u201d", "in": "query", "name": "poe_mode", "schema": {"type": "string"}}, {"description": "is the device attached to POE", "in": "query", "name": "poe_on", "schema": {"type": "boolean"}}, {"description": "interface name", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "interface mac address", "in": "query", "name": "port_mac", "schema": {"type": "string"}}, {"description": "Amount of power being used by the interface at the time the command is executed. Unit in watts.", "in": "query", "name": "power_draw", "schema": {"type": "number"}}, {"description": "Output packets", "in": "query", "name": "tx_pkts", "schema": {"type": "integer"}}, {"description": "Input packets", "in": "query", "name": "rx_pkts", "schema": {"type": "integer"}}, {"description": "Input bytes", "in": "query", "name": "rx_bytes", "schema": {"type": "integer"}}, {"description": "Output rate", "in": "query", "name": "tx_bps", "schema": {"type": "integer"}}, {"description": "Input rate", "in": "query", "name": "rx_bps", "schema": {"type": "integer"}}, {"description": "Multicast output packets", "in": "query", "name": "tx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast output packets", "in": "query", "name": "tx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "Multicast input packets", "in": "query", "name": "rx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast input packets", "in": "query", "name": "rx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "port speed", "in": "query", "name": "speed", "schema": {"type": "integer"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_state", "schema": {"enum": ["forwarding", "blocking", "learning", "listening", "disabled"], "type": "string"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_role", "schema": {"enum": ["designated", "backup", "alternate", "root", "root-prevented"], "type": "string"}}, {"description": "if `up`==`true`", "in": "query", "name": "auth_state", "schema": {"enum": ["init", "authenticated", "authenticating", "held"], "type": "string"}}, {"description": "indicates if interface is up", "in": "query", "name": "up", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Switch / Gateway Ports", "operationId": "searchSiteSwitchPorts", "parameters": [{"description": "indicates full or half duplex", "in": "query", "name": "full_duplex", "schema": {"type": "boolean"}}, {"description": "device identifier", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Chassis identifier of the chassis type listed", "in": "query", "name": "neighbor_mac", "schema": {"type": "string"}}, {"description": "Description supplied by the system on the interface E.g. \u201cGigabitEthernet2/0/39\u201d", "in": "query", "name": "neighbor_port_desc", "schema": {"type": "string"}}, {"description": "Name supplied by the system on the interface E.g. neighbor system name E.g. \u201cKumar-Acc-SW.mist.local\u201d", "in": "query", "name": "neighbor_system_name", "schema": {"type": "string"}}, {"description": "is the POE configured not be disabled.", "in": "query", "name": "poe_disabled", "schema": {"type": "boolean"}}, {"description": "poe mode depending on class E.g. \u201c802.3at\u201d", "in": "query", "name": "poe_mode", "schema": {"type": "string"}}, {"description": "is the device attached to POE", "in": "query", "name": "poe_on", "schema": {"type": "boolean"}}, {"description": "interface name", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "interface mac address", "in": "query", "name": "port_mac", "schema": {"type": "string"}}, {"description": "Amount of power being used by the interface at the time the command is executed. Unit in watts.", "in": "query", "name": "power_draw", "schema": {"type": "number"}}, {"description": "Output packets", "in": "query", "name": "tx_pkts", "schema": {"type": "integer"}}, {"description": "Input packets", "in": "query", "name": "rx_pkts", "schema": {"type": "integer"}}, {"description": "Input bytes", "in": "query", "name": "rx_bytes", "schema": {"type": "integer"}}, {"description": "Output rate", "in": "query", "name": "tx_bps", "schema": {"type": "integer"}}, {"description": "Input rate", "in": "query", "name": "rx_bps", "schema": {"type": "integer"}}, {"description": "Multicast output packets", "in": "query", "name": "tx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast output packets", "in": "query", "name": "tx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "Multicast input packets", "in": "query", "name": "rx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast input packets", "in": "query", "name": "rx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "port speed", "in": "query", "name": "speed", "schema": {"type": "integer"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_state", "schema": {"enum": ["forwarding", "blocking", "learning", "listening", "disabled"], "type": "string"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_role", "schema": {"enum": ["designated", "backup", "alternate", "root", "root-prevented"], "type": "string"}}, {"description": "if `up`==`true` && has Authenticator role", "in": "query", "name": "auth_state", "schema": {"enum": ["init", "authenticated", "authenticating", "held"], "type": "string"}}, {"description": "indicates if interface is up", "in": "query", "name": "up", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "switches": {"paths": {"metrics": {"specs": {"get": {"description": "Get version compliance metrics for managed or monitored switches\n", "operationId": "getSiteSwitchesMetrics", "parameters": [{"in": "query", "name": "type", "schema": {"enum": ["active_ports_summary"], "type": "string"}}, {"in": "query", "name": "scope", "schema": {"enum": ["site", "switch"], "type": "string"}}, {"description": "switch mac, used only with metric `type`==`active_ports_summary`", "in": "query", "name": "switch_mac", "schema": {"type": "string"}}], "tags": ["Sites Devices - Wired"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "wxrules": {"specs": {"get": {"description": "Get Wxlan Rule usage", "operationId": "getSiteWxRulesUsage", "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "zones": {"specs": {"get": {"description": "Get List of Site Zones Stats", "operationId": "listSiteZonesStats", "parameters": [{"example": "00000000-0000-0000-0000-000000000000", "in": "query", "name": "map_id", "schema": {"type": "string"}}], "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "{zone_type}": {"paths": {"{zone_id}": {"specs": {"get": {"description": "Get Detail Zone Stats", "operationId": "getSiteZoneStats", "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/zone_type"}, {"$ref": "#/components/parameters/zone_id"}]}}}}}}, "subscriptions": {"specs": {"delete": {"description": "Unsubscribe to Site Alarms", "operationId": "UnsubscribeSiteAlarms", "tags": ["Sites Subscriptions"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Subscribe to Site Alarms", "operationId": "SubscribeSiteAlarms", "tags": ["Sites Subscriptions"]}}}, "synthetic_test": {"specs": {"get": {"description": "Get Synthetic Testing Status", "operationId": "getSiteSyntheticTestStatus", "tags": ["Sites Synthetic Tests"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Trigger Synthetic Testing", "operationId": "triggerSiteSyntheticTest", "tags": ["Sites Synthetic Tests"]}}}, "uisettings": {"specs": {"get": {"description": "Site UI settings", "operationId": "listSiteUiSettings", "tags": ["Sites UI Settings"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Site UI settings", "operationId": "createSiteUiSettings", "tags": ["Sites UI Settings"]}}, "paths": {"derived": {"specs": {"get": {"description": "Get both site UI settings(for_site=true) and org UI settings (for_site=false)", "operationId": "getSiteUiSettingDerived", "tags": ["Sites UI Settings"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "{uisetting_id}": {"specs": {"delete": {"description": "Site UI settings", "operationId": "deleteSiteUiSetting", "tags": ["Sites UI Settings"]}, "get": {"description": "Site UI settings", "operationId": "getSiteUiSetting", "tags": ["Sites UI Settings"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/uisetting_id"}], "post": {"description": "Site UI settings", "operationId": "updateSiteUiSetting", "tags": ["Sites UI Settings"]}}}}}, "vbeacons": {"specs": {"get": {"description": "Get List of Site Virtual Beacons", "operationId": "listSiteVBeacons", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites vBeacons"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Virtual Beacon", "operationId": "createSiteVBeacon", "tags": ["Sites vBeacons"]}}, "paths": {"{vbeacon_id}": {"specs": {"delete": {"description": "Delete Site Virtual Beacon", "operationId": "deleteSiteVBeacon", "tags": ["Sites vBeacons"]}, "get": {"description": "Get Site Virtual Beacon Details", "operationId": "getSiteVBeacon", "tags": ["Sites vBeacons"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/vbeacon_id"}], "put": {"description": "Update Site Virtual Beacon", "operationId": "updateSiteVBeacon", "tags": ["Sites vBeacons"]}}}}}, "vpns": {"paths": {"derived": {"specs": {"get": {"description": "VPN object represents an overlay network where gateways can participate in and optionally expose routes to.", "operationId": "listSiteVpnsDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"default": false, "type": "boolean"}}], "tags": ["Sites VPNs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "wan_client": {"paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Site WAN Client-Events\n", "operationId": "countSiteWanClientEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "type", "enum": ["type", "hostname", "ip", "mfg", "mac"], "type": "string"}}], "tags": ["Sites Clients - Wan"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}}}, "wan_clients": {"paths": {"count": {"specs": {"get": {"description": "Count Site WAN Clients", "operationId": "countSiteWanClients", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "mac", "enum": ["hostname", "ip", "mfg", "mac"], "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Sites Clients - Wan"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "events": {"paths": {"search": {"specs": {"get": {"description": "Search Site WAN Client Events", "operationId": "searchSiteWanClientEvents", "parameters": [{"description": "Event type, e.g. CLIENT_IP_ASSIGNED, CLIENT_IP_RENEWED, CLIENT_IP_EXPIRED", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "partial / full MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "client IP", "in": "query", "name": "ip", "schema": {"type": "string"}}, {"description": "Manufacture", "in": "query", "name": "mfg", "schema": {"type": "string"}}, {"description": "nacrule_id", "in": "query", "name": "nacrule_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Sites Clients - Wan"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "search": {"specs": {"get": {"description": "Search Site WAN Clients", "operationId": "searchSiteWanClients", "parameters": [{"description": "partial / full MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "client IP", "in": "query", "name": "ip", "schema": {"type": "string"}}, {"description": "Manufacture", "in": "query", "name": "mfg", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Sites Clients - Wan"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "webhooks": {"specs": {"get": {"description": "Get List of Site Webhooks", "operationId": "listSiteWebhooks", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Webhooks"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Webhook defines a webhook, modeled after [github\u2019s model](https://developer.github.com/webhooks/).\n\nThere is two types of webhooks:\n* webhooks ([examples](https://www.postman.com/juniper-mist/workspace/mist-systems-s-public-workspace/folder/224925-be01e694-7253-4195-8563-78e2a745e114))\n* raw data webhooks ([examples](https://www.postman.com/juniper-mist/workspace/mist-systems-s-public-workspace/folder/224925-e2d5d5f8-4bdb-4efc-93e4-90f4b33d0b2b))\n\n##### Webhooks\nWebhooks can be configured at the org level (subset of topics only) and at the site level. It is possible to have multiple topics in the same webhook configuration and/or to have multiple webhooks configured at the same time.\n\n##### Client Raw Data Webhooks\nRaw data webhooks are a special subset of webhooks that provide insight into raw data packets emitted by a client, identified by their advertising MAC address (assets, discovered ble, connected wifi, unconnected wifi). The data that client raw data webhooks encompasses are reporting AP information, RSSI Data, and any special packets/telemetry packets that the client may emit. Note that client raw webhooks are the raw data coming from the client and do not contain the X,Y location data of the client. In order to get the location data for a client please see our location webhooks. Clients can be identified uniquely across these client raw data topics and location webhook topic using MAC address as the Unique identifier (client identifier).\n\n###### Client Raw Data Webhooks Topics\nTopics that correspond to client raw data for different client types. \n* `asset-raw-rssi` - Raw data from packets emitted by named and filtered assets \n* `discovered-raw-rssi` - Raw data from packets emitted by passive BLE devices \n* `wifi-conn-raw` - Raw data from packets emitted by connected devices \n* `wifi-unconn-raw` - Raw data from packets emitted by unconnected devices (passive)\n\n###### Rules for configuring client raw data webhooks\n1. Only one instance of a webhook object containing a client raw data webhook topic is allowed. (a site level entry will override an org level entry for the client raw data webhook topic in question)\n2. Only one client raw data webhook topic is allowed per `http-post` message to webhooks api\n", "operationId": "createSiteWebhook", "tags": ["Sites Webhooks"]}}, "paths": {"{webhook_id}": {"specs": {"delete": {"description": "Delete Site Webhook", "operationId": "deleteSiteWebhook", "tags": ["Sites Webhooks"]}, "get": {"description": "Get Site Webhook Details", "operationId": "getSiteWebhook", "tags": ["Sites Webhooks"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/webhook_id"}], "put": {"description": "Update Site Webhook", "operationId": "updateSiteWebhook", "tags": ["Sites Webhooks"]}}, "paths": {"events": {"paths": {"search": {"specs": {"get": {"description": "Search webhooks deliveries\n\nTo get a list of webhook deliveries in error, use the query parameter `?error=*`", "operationId": "searchSiteWebhooksDeliveries", "parameters": [{"in": "query", "name": "status_code", "schema": {"type": "integer"}}, {"in": "query", "name": "error", "schema": {"type": "string"}}, {"description": "webhook topic", "in": "query", "name": "topic", "schema": {"enum": ["alarms", "audits", "device-updowns", "occupancy-alerts", "ping"], "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Webhooks"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/webhook_id"}]}}}}, "ping": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/webhook_id"}], "post": {"description": "send a Ping event to the webhook", "operationId": "pingSiteWebhook", "tags": ["Sites Webhooks"]}}}}}}}, "wired_clients": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Clients", "operationId": "countSiteWiredClients", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "mac", "enum": ["port_id", "vlan", "mac"], "type": "string"}}, {"description": "client mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "device mac", "in": "query", "name": "device_mac", "schema": {"type": "string"}}, {"description": "port id", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "vlan", "in": "query", "name": "vlan", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wired"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Wired Clients", "operationId": "searchSiteWiredClients", "parameters": [{"description": "device mac", "in": "query", "name": "device_mac", "schema": {"type": "string"}}, {"description": "client mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "client ip", "in": "query", "name": "ip", "schema": {"type": "string"}}, {"description": "port id", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "vlan", "in": "query", "name": "vlan", "schema": {"type": "string"}}, {"description": "manufacture", "in": "query", "name": "manufacture", "schema": {"type": "string"}}, {"description": "single entry of hostname/mac", "in": "query", "name": "text", "schema": {"type": "string"}}, {"description": "nacrule_id", "in": "query", "name": "nacrule_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wired"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "wlans": {"specs": {"get": {"description": "Get List of Site WLANs", "operationId": "listSiteWlans", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Wlans"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site WLAN", "operationId": "createSiteWlan", "tags": ["Sites Wlans"]}}, "paths": {"derived": {"specs": {"get": {"description": "Get Wlans Derived", "operationId": "listSiteWlanDerived", "parameters": [{"description": "whether to resolve SITE_VARS", "example": true, "in": "query", "name": "resolve", "schema": {"default": false, "type": "boolean"}}, {"description": "filter by WLAN ID", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}], "tags": ["Sites Wlans"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "{wlan_id}": {"specs": {"delete": {"description": "Delete Site WLAN", "operationId": "deleteSiteWlan", "tags": ["Sites Wlans"]}, "get": {"description": "Get Site WLAN", "operationId": "getSiteWlan", "tags": ["Sites Wlans"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/wlan_id"}], "put": {"description": "Update Site WLAN", "operationId": "updateSiteWlan", "tags": ["Sites Wlans"]}}, "paths": {"portal_image": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/wlan_id"}], "post": {"description": "Wlan Portal Image Upload", "operationId": "uploadSiteWlanPortalImage", "tags": ["Sites Wlans"]}}}, "portal_template": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/wlan_id"}], "put": {"description": "Update a Portal Template\n\n#### Sponsor Email Template\nSponsor Email Template supports following template variables:\n\n| **Name** | **Description** |\n| --- | --- |\n| approve_url | Renders URL to approve the request; optionally &minutes=N query param can be appended to change the Authorization period of the guest, where N is a valid integer denoting number of minutes a guest remains authorized |\n| deny_url | Renders URL to reject the request |\n| guest_email | Renders Email ID of the guest |\n| guest_name | Renders Name of the guest |\n| field1 | Renders value of the Custom Field 1 |\n| field2 | Renders value of the Custom Field 2 |\n| company | Renders value of the Company field |\n| sponsor_link_validity_duration | Renders validity time of the request (i.e. Approve/Deny URL) |\n| auth_expire_minutes | Renders Wlan-level configured Guest Authorization Expiration time period (in minutes), If not configured then default (1 day in minutes) |", "operationId": "updateSiteWlanPortalTemplate", "tags": ["Sites Wlans"]}}}}}}}, "wxrules": {"specs": {"get": {"description": "Get List of Site WxLan Rules", "operationId": "listSiteWxRules", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites WxRules"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site WxLan Rule", "operationId": "createSiteWxRule", "tags": ["Sites WxRules"]}}, "paths": {"derived": {"specs": {"get": {"description": "Get Site WxLan Rule Derived", "operationId": "getSiteWxRulesDerived", "tags": ["Sites WxRules"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "{wxrules_id}": {"specs": {"delete": {"description": "Delete Site WxLan Rule", "operationId": "deleteSiteWxRule", "tags": ["Sites WxRules"]}, "get": {"description": "Get Site WxLan Rule Details", "operationId": "getSiteWxRule", "tags": ["Sites WxRules"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/wxrules_id"}], "put": {"description": "Update Site WxLan Rule", "operationId": "updateSiteWxRule", "tags": ["Sites WxRules"]}}}}}, "wxtags": {"specs": {"get": {"description": "Get List of Site WxTags", "operationId": "listSiteWxTags", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites WxTags"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site WxTag", "operationId": "createSiteWxTag", "tags": ["Sites WxTags"]}}, "paths": {"apps": {"specs": {"get": {"description": "Get Application List", "operationId": "getSiteApplicationList", "tags": ["Sites WxTags"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "{wxtag_id}": {"specs": {"delete": {"description": "Delete Site WxTag", "operationId": "deleteSiteWxTag", "tags": ["Sites WxTags"]}, "get": {"description": "Get Site WxTag Details", "operationId": "getSiteWxTag", "tags": ["Sites WxTags"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/wxtag_id"}], "put": {"description": "Update Site WxTag", "operationId": "updateSiteWxTag", "tags": ["Sites WxTags"]}}, "paths": {"clients": {"specs": {"get": {"description": "Get Current Matching Clients of a WXLAN Tag", "operationId": "getSiteCurrentMatchingClientsOfAWxTag", "tags": ["Sites WxTags"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/wxtag_id"}]}}}}}}, "wxtunnels": {"specs": {"get": {"description": "Get List of Site WxLan Tunnels", "operationId": "listSiteWxTunnels", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites WxTunnels"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site WxLan Tunnel", "operationId": "createSiteWxTunnel", "tags": ["Sites WxTunnels"]}}, "paths": {"{wxtunnel_id}": {"specs": {"delete": {"description": "Delete Site WxLan Tunnel", "operationId": "deleteSiteWxTunnel", "tags": ["Sites WxTunnels"]}, "get": {"description": "Get Site WxLan tunnel Details", "operationId": "getSiteWxTunnel", "tags": ["Sites WxTunnels"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/wxtunnel_id"}], "put": {"description": "Update Site WxLan Tunnel", "operationId": "updateSiteWxTunnel", "tags": ["Sites WxTunnels"]}}}}}, "zones": {"specs": {"get": {"description": "Get List of Site Zones", "operationId": "listSiteZones", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Zones"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site Zone ", "operationId": "createSiteZone", "tags": ["Sites Zones"]}}, "paths": {"{zone_id}": {"specs": {"delete": {"description": "Delete Site Zone", "operationId": "deleteSiteZone", "tags": ["Sites Zones"]}, "get": {"description": "Get Site Zone Details", "operationId": "getSiteZone", "tags": ["Sites Zones"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/zone_id"}], "put": {"description": "Update Site Zone", "operationId": "updateSiteZone", "tags": ["Sites Zones"]}}}}}, "{zone_type}": {"paths": {"count": {"specs": {"get": {"description": "Count Site Zone Sessions", "operationId": "countSiteZoneSessions", "parameters": [{"example": "scope_id", "in": "query", "name": "distinct", "schema": {"default": "scope_id", "enum": ["user_type", "user", "scope_id", "scope"], "type": "string"}}, {"description": "user type", "in": "query", "name": "user_type", "schema": {"default": "client", "enum": ["client", "sdkclient", "asset"], "type": "string"}}, {"description": "client MAC / Asset MAC / SDK UUID", "in": "query", "name": "user", "schema": {"type": "string"}}, {"description": "if `scope`==`map`/`zone`/`rssizone`, the scope id", "in": "query", "name": "scope_id", "schema": {"type": "string"}}, {"description": "scope", "in": "query", "name": "scope", "schema": {"default": "site", "enum": ["site", "map", "zone", "rssizone"], "type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Zones"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/zone_type"}]}}, "visits": {"paths": {"search": {"specs": {"get": {"description": "Search Zone Sessions", "operationId": "searchSiteZoneSessions", "parameters": [{"description": "user type, client (default) / sdkclient / asset", "in": "query", "name": "user_type", "schema": {"default": "client", "enum": ["client", "sdkclient", "asset"], "type": "string"}}, {"description": "client MAC / Asset MAC / SDK UUID", "in": "query", "name": "user", "schema": {"type": "string"}}, {"description": "if `scope`==`map`/`zone`/`rssizone`, the scope id", "in": "query", "name": "scope_id", "schema": {"type": "string"}}, {"description": "scope", "in": "query", "name": "scope", "schema": {"default": "site", "enum": ["site", "map", "zone", "rssizone"], "type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Zones"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/zone_type"}]}}}}}}}}}}, "utils": {"paths": {"test_telstra": {"specs": {"post": {"description": "Allows validation of Telstra sms gateway credentials.\n\nIn case of success, a text message confirming successful setup should be received. In case of error, telstra error message are returned.", "operationId": "testSiteWlanTelstraSetup", "tags": ["Sites Wlans"]}}}, "test_twilio": {"specs": {"post": {"description": "Allows validation of twilio setup\nIn case of success, a text message confirming successful setup should be received. In case of error, twilio error code and message are returned.", "operationId": "testSiteWlanTwilioSetup", "tags": ["Sites Wlans"]}}}}}}}}}, "webhook_example": {"paths": {"_alarm_": {"specs": {"parameters": [], "post": {"description": "Webhook sample for `alarm` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "alarms", "tags": ["Webhook Samples"]}}}, "_asset_raw_": {"specs": {"parameters": [], "post": {"description": "Webhook sample for `asset_raw` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages\n\n**will be deprecated after 03/31/2024**", "operationId": "assetRaw", "tags": ["Webhook Samples"]}}}, "_audit_": {"specs": {"parameters": [], "post": {"description": "Webhook sample for `audit` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "audits", "tags": ["Webhook Samples"]}}}, "_client_info_": {"specs": {"parameters": [], "post": {"description": "Webhook sample for `client_info` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages\n", "operationId": "clientInfo", "tags": ["Webhook Samples"]}}}, "_client_join_": {"specs": {"parameters": [], "post": {"description": "Webhook sample for `client_join` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages\n", "operationId": "clientJoin", "tags": ["Webhook Samples"]}}}, "_client_latency_": {"specs": {"parameters": [], "post": {"description": "Webhook sample for `client-latency` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "client_latency", "tags": ["Webhook Samples"]}}}, "_client_sessions_": {"specs": {"parameters": [], "post": {"description": "Webhook sample for `client_sessions` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages\n", "operationId": "clientSessions", "tags": ["Webhook Samples"]}}}, "_device_events_": {"specs": {"parameters": [], "post": {"description": "Webhook sample for `device_events` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages\n", "operationId": "deviceEvents", "tags": ["Webhook Samples"]}}}, "_device_updowns_": {"specs": {"parameters": [], "post": {"description": "Webhook sample for `device_updowns` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages\n", "operationId": "deviceUpDown", "tags": ["Webhook Samples"]}}}, "_discovered_raw_rssi_": {"specs": {"parameters": [], "post": {"description": "Webhook sample for `discovered-raw-rssi` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages\n", "operationId": "discovered-raw-rssi", "tags": ["Webhook Samples"]}}}, "_location_": {"specs": {"parameters": [], "post": {"description": "Webhook sample for `location` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages\n", "operationId": "location", "tags": ["Webhook Samples"]}}}, "_nac_accounting_": {"specs": {"parameters": [], "post": {"description": "Webhook sample for `nac-accounting` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages\n", "operationId": "nacAccounting", "tags": ["Webhook Samples"]}}}, "_nac_events_": {"specs": {"parameters": [], "post": {"description": "Example Delivery of nac-events", "operationId": "nac-events", "tags": ["Webhook Samples"]}}}, "_occupancy_alerts_": {"specs": {"parameters": [], "post": {"description": "Webhook sample for `occupancy_alerts` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages\n", "operationId": "occupancyAlerts", "tags": ["Webhook Samples"]}}}, "_ping_": {"specs": {"parameters": [], "post": {"description": "Webhook sample for `ping` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages\n", "operationId": "ping", "tags": ["Webhook Samples"]}}}, "_sdkclient_scan_data": {"specs": {"parameters": [], "post": {"description": "Webhook sample for `sdkclient_scan_data` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages\n", "operationId": "sdkclientScanData", "tags": ["Webhook Samples"]}}}, "_site_sle_": {"specs": {"parameters": [], "post": {"description": "Webhook sample for `site-sle` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "site-sle", "tags": ["Webhook Samples"]}}}, "_zone_": {"specs": {"parameters": [], "post": {"description": "Webhook sample for `zone` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages\n", "operationId": "zone", "tags": ["Webhook Samples"]}}}}}}, "components": {"parameters": {"admin_id": {"in": "path", "name": "admin_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "alarm_id": {"in": "path", "name": "alarm_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "alarmtemplate_id": {"in": "path", "name": "alarmtemplate_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "apitoken_id": {"in": "path", "name": "apitoken_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "aptemplate_id": {"in": "path", "name": "aptemplate_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, "asset_id": {"in": "path", "name": "asset_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "assetfilter_id": {"in": "path", "name": "assetfilter_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "beacon_id": {"in": "path", "name": "beacon_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "client_mac": {"in": "path", "name": "client_mac", "required": true, "schema": {"example": "0000000000ab", "pattern": "^[0-9a-fA-F]{12}$", "type": "string"}}, "country_code": {"description": "country code, in two-character", "in": "query", "name": "country_code", "schema": {"example": "US", "pattern": "^[a-zA-Z]{2}$", "type": "string"}}, "device_id": {"in": "path", "name": "device_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "device_mac": {"in": "path", "name": "device_mac", "required": true, "schema": {"example": "0000000000ab", "pattern": "^[0-9a-fA-F]{12}$", "type": "string"}}, "deviceprofile_id": {"in": "path", "name": "deviceprofile_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "duration": {"description": "duration like 7d, 2w", "in": "query", "name": "duration", "required": false, "schema": {"default": "1d", "example": "10m", "type": "string"}}, "end": {"description": "end datetime, can be epoch or relative time like -1d, -2h; now if not specified", "in": "query", "name": "end", "schema": {"type": "integer"}}, "evpn_topology_id": {"in": "path", "name": "evpn_topology_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "fields": {"description": "list of additional fields requests, comma separeted, or `fields=*` for all of them", "in": "query", "name": "fields", "required": false, "schema": {"example": "field1,field2", "type": "string"}}, "gatewaytemplate_id": {"in": "path", "name": "gatewaytemplate_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "guest_mac": {"in": "path", "name": "guest_mac", "required": true, "schema": {"example": "0000000000ab", "pattern": "^[0-9a-fA-F]{12}$", "type": "string"}}, "idpprofile_id": {"in": "path", "name": "idpprofile_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "image_name": {"in": "path", "name": "image_name", "required": true, "schema": {"type": "string"}}, "interval": {"description": "Aggregation works by giving a time range plus interval (e.g. 1d, 1h, 10m) where aggregation function would be applied to.", "in": "query", "name": "interval", "required": false, "schema": {"example": "10m", "type": "string"}}, "invite_id": {"in": "path", "name": "invite_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "ip": {"in": "query", "name": "ip_address", "required": false, "schema": {"example": "192.168.1.1", "format": "ipv4", "type": "string"}}, "limit": {"in": "query", "name": "limit", "required": false, "schema": {"default": 100, "minimum": 0, "type": "integer"}}, "map_id": {"in": "path", "name": "map_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "metric": {"description": "see /api/v1/const/insight_metrics for available metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}, "msp_id": {"in": "path", "name": "msp_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "mxcluster_id": {"in": "path", "name": "mxcluster_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "mxedge_id": {"in": "path", "name": "mxedge_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "mxtunnel_id": {"in": "path", "name": "mxtunnel_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "naccrl_id": {"in": "path", "name": "naccrl_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, "nacrule_id": {"in": "path", "name": "nacrule_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "nactag_id": {"in": "path", "name": "nactag_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "name": {"in": "query", "name": "name", "required": false, "schema": {"default": "", "type": "string"}}, "network_id": {"in": "path", "name": "network_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "networktemplate_id": {"in": "path", "name": "networktemplate_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "org_id": {"in": "path", "name": "org_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "orggroup_id": {"in": "path", "name": "orggroup_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "page": {"in": "query", "name": "page", "required": false, "schema": {"default": 1, "minimum": 1, "type": "integer"}}, "pcap_id": {"in": "path", "name": "pcap_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, "psk_id": {"description": "PSK ID", "in": "path", "name": "psk_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "psk_id_query": {"description": "PSK ID", "in": "query", "name": "psk_id", "required": false, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "pskportal_id": {"in": "path", "name": "pskportal_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "q": {"description": "search string", "in": "query", "name": "q", "schema": {"default": "", "example": "search", "type": "string"}}, "resolution": {"in": "query", "name": "resolution", "schema": {"default": "default", "enum": ["default", "fine"], "type": "string"}}, "rfdiag_id": {"in": "path", "name": "rfdiag_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "rftemplate_id": {"in": "path", "name": "rftemplate_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "rogue_bssid": {"in": "path", "name": "rogue_bssid", "required": true, "schema": {"example": "0000000000ab", "pattern": "^[0-9a-fA-F]{12}$", "type": "string"}}, "rogue_type": {"in": "query", "name": "type", "schema": {"enum": ["honeypot", "lan", "others", "spoof"], "type": "string"}}, "rssizone_id": {"in": "path", "name": "rssizone_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "sdkclient_id": {"in": "path", "name": "sdkclient_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "sdkinvite_id": {"in": "path", "name": "sdkinvite_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "sdktemplate_id": {"in": "path", "name": "sdktemplate_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "secpolicy_id": {"in": "path", "name": "secpolicy_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "secret": {"in": "path", "name": "secret", "required": true, "schema": {"type": "string"}}, "service_id": {"in": "path", "name": "service_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "servicepolicy_id": {"in": "path", "name": "servicepolicy_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "site_id": {"in": "path", "name": "site_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "site_name": {"in": "path", "name": "site_name", "required": true, "schema": {"type": "string"}}, "sitegroup_id": {"in": "path", "name": "sitegroup_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "sitetemplate_id": {"in": "path", "name": "sitetemplate_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "sso_id": {"in": "path", "name": "sso_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "ssorole_id": {"in": "path", "name": "ssorole_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "start": {"description": "start datetime, can be epoch or relative time like -1d, -1w; -1d if not specified", "in": "query", "name": "start", "schema": {"type": "integer"}}, "template_id": {"in": "path", "name": "template_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "ticket_id": {"in": "path", "name": "ticket_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "token": {"in": "path", "name": "token", "required": true, "schema": {"type": "string"}}, "uisetting_id": {"in": "path", "name": "uisetting_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "upgrade_id": {"in": "path", "name": "upgrade_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "vbeacon_id": {"in": "path", "name": "vbeacon_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "vpn_id": {"in": "path", "name": "vpn_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "webhook_id": {"in": "path", "name": "webhook_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "wlan_id": {"in": "path", "name": "wlan_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "wxrules_id": {"in": "path", "name": "wxrules_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "wxtag_id": {"in": "path", "name": "wxtag_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "wxtunnel_id": {"in": "path", "name": "wxtunnel_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "zone_id": {"in": "path", "name": "zone_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "zone_type": {"in": "path", "name": "zone_type", "required": true, "schema": {"enum": ["zones", "rssizones"], "type": "string"}}}}} \ No newline at end of file +{"paths": {"api": {"paths": {"v1": {"paths": {"const": {"paths": {"alarm_defs": {"specs": {"get": {"description": "Get List of brief definitions of all the supported alarm types. The\nexample field contains an example payload as you would recieve in the\nalarm webhook output.\n\n\nHA cluster node names will be specified in the `node` field, if applicable.", "operationId": "listAlarmDefinitions", "tags": ["Constants Definitions"]}}}, "ap_channels": {"specs": {"get": {"description": "Get List of List of Available channels per country code", "operationId": "listApChannels", "parameters": [{"$ref": "#/components/parameters/country_code"}], "tags": ["Constants Misc"]}}}, "ap_led_status": {"specs": {"get": {"description": "Get List of AP LED definition", "operationId": "listApLedDefinition", "tags": ["Constants Definitions"]}}}, "app_categories": {"specs": {"get": {"description": "Get List of definitions of all the supported Application Categories. The example field contains an example payload as you would recieve in the alarm webhook output.", "operationId": "listAppCategoryDefinitions", "tags": ["Constants Definitions"]}}}, "app_subcategories": {"specs": {"get": {"description": "Get List of definitions of all the supported Application sub-categories. The example field contains an example payload as you would recieve in the alarm webhook output.", "operationId": "listAppSubCategoryDefinitions", "tags": ["Constants Definitions"]}}}, "applications": {"specs": {"get": {"description": "Get List of a list of applications that Juniper-Mist APs recognize", "operationId": "listApplications", "tags": ["Constants Misc"]}}}, "client_events": {"specs": {"get": {"description": "Get List of List of available Client Events", "operationId": "listClientEventsDefinitions", "tags": ["Constants Events"]}}}, "countries": {"specs": {"get": {"description": "Get List of List of available Country Codes", "operationId": "listCountryCodes", "tags": ["Constants Misc"]}}}, "default_gateway_config": {"specs": {"get": {"description": "Generate Default Gateway Config", "operationId": "getGatewayDefaultConfig", "parameters": [{"description": "model the default gateway config is intended (as the default LAN/WAN port can differ)", "in": "query", "name": "model", "required": true, "schema": {"type": "string"}}, {"description": "whether the config is intended for HA", "in": "query", "name": "ha", "schema": {"type": "string"}}], "tags": ["Constants Misc"]}}}, "device_events": {"specs": {"get": {"description": "Get list of available Device Events", "operationId": "listDeviceEventsDefinitions", "tags": ["Constants Events"]}}}, "device_models": {"specs": {"get": {"description": "Get list of AP device models for the Mist Site", "operationId": "listDeviceModels", "tags": ["Constants Models"]}}}, "gateway_applications": {"specs": {"get": {"description": "Get the full list of applications that we recognize", "operationId": "listGatewayApplications", "tags": ["Constants Misc"]}}}, "insight_metrics": {"specs": {"get": {"description": "List Insight Metrics", "operationId": "listInsightMetrics", "tags": ["Constants Misc"]}}}, "languages": {"specs": {"get": {"description": "Get List of Languages", "operationId": "listSiteLanguages", "tags": ["Constants Misc"]}}}, "license_types": {"specs": {"get": {"description": "Get License Types", "operationId": "getLicenseTypes", "tags": ["Constants Misc"]}}}, "mxedge_events": {"specs": {"get": {"description": "Get List of available MX Edge Events", "operationId": "listMxEdgeEventsDefinitions", "tags": ["Constants Events"]}}}, "mxedge_models": {"specs": {"get": {"description": "Get List of available Mx Edge models", "operationId": "listMxEdgeModels", "tags": ["Constants Models"]}}}, "nac_events": {"specs": {"get": {"description": "Get List of List of available NAC Client Events", "operationId": "listNacEventsDefinitions", "tags": ["Constants Events"]}}}, "otherdevice_events": {"specs": {"get": {"description": "Supported Events Type", "operationId": "listOtherDeviceEventsDefinitions", "tags": ["Constants Events"]}}}, "otherdevice_models": {"specs": {"get": {"description": "Supported OtherDevice Models", "operationId": "listSupportedOtherDeviceModels", "tags": ["Constants Models"]}}}, "system_events": {"specs": {"get": {"description": "Get List of List of available System Events", "operationId": "listSystemEventsDefinitions", "tags": ["Constants Events"]}}}, "traffic_types": {"specs": {"get": {"description": "Get List of identified traffic", "operationId": "listTrafficTypes", "tags": ["Constants Misc"]}}}}}, "installer": {"paths": {"orgs": {"paths": {"{org_id}": {"paths": {"alarmtemplates": {"specs": {"get": {"description": "Get List of alarm templates", "operationId": "listInstallerAlarmTemplates", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "deviceprofiles": {"specs": {"get": {"description": "Get List of Device Profiles", "operationId": "listInstallerDeviceProfiles", "parameters": [{"in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/device_type"}}], "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "devices": {"specs": {"get": {"description": "Get List of recently claimed devices", "operationId": "listInstallerListOfRenctlyClaimedDevices", "parameters": [{"description": "Device Model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "Site Name", "in": "query", "name": "site_name", "schema": {"type": "string"}}, {"description": "Site ID", "in": "query", "name": "site_id", "schema": {"format": "uuid", "type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "This mirrors `POST /api/v1/orgs/{org_id}/inventory` (see Inventory API)", "operationId": "claimInstallerDevices", "tags": ["Installer"]}}, "paths": {"{device_mac}": {"specs": {"delete": {"description": "Unassign recently claimed devices", "operationId": "unassignInstallerRecentlyClaimedDevice", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/device_mac"}], "put": {"description": "Provision or Replace a device \n\nIf replacing_mac is in the request payload, other attributes are ignored, we attempt to replace existing device (with mac replacing_mac) with the inventory device being configured. The replacement device must be in the inventory but not assigned, and the replacing_mac device must be assigned to a site, and satisfy grace period requirements. The Device replaced will become unassigned.", "operationId": "provisionInstallerDevices", "tags": ["Installer"]}}, "paths": {"locate": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/device_mac"}], "post": {"description": "Locate a Device by blinking it\u2019s LED, it\u2019s a persisted state that has to be stopped by calling Stop Locating API", "operationId": "startInstallerLocateDevice", "tags": ["Installer"]}}}, "unlocate": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/device_mac"}], "post": {"description": "Stop it", "operationId": "stopInstallerLocateDevice", "tags": ["Installer"]}}}, "{image_name}": {"specs": {"delete": {"description": "delete image", "operationId": "deleteInstallerDeviceImage", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/image_name"}, {"$ref": "#/components/parameters/device_mac"}], "post": {"description": "Add image", "operationId": "addInstallerDeviceImage", "tags": ["Installer"]}}}}}, "{fpc0_mac}": {"paths": {"vc": {"specs": {"get": {"description": "Get VC Status\n\nThe API returns a combined view of the VC status which includes topology and stats", "operationId": "getInstallerDeviceVirtualChassis", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"description": "FPC0 MAC Address", "in": "path", "name": "fpc0_mac", "required": true, "schema": {"type": "string"}}], "post": {"description": "For models (e.g. EX3400 and up) having dedicated VC ports, it is easier to form a VC by just connecting cables with the dedicated VC ports. Cloud will detect the new VC and update the inventory.\n\nIn case that the user would like to choose the dedicated switch as a VC master. Or for EX2300-C-12P and EX2300-C-12T which doesn\u2019t have dedicated VC ports, below are procedures to automate the VC creation:\n\n1. Power on the switch that is choosen as the VC master first. And the powering on the other member switches.\n2. Claim or adopt all these switches under the same organization\u2019s Inventory\n3. Assign these switches into the same Site\n4. Invoke vc command on the switch choosen to be the VC master. For EX2300-C-12P, VC ports will be created automatically.\n5. Connect the cables to the VC ports for these switches\n6. Wait for the VC to be formed. The Org\u2019s inventory will be updated for the new VC.", "operationId": "createInstallerVirtualChassis", "tags": ["Installer"]}, "put": {"description": "The VC creation and adding member switch API will update the device\u2019s virtual chassis config which is applied after VC is formed to create JUNOS pre-provisioned virtual chassis configuration.\n\n## Change to use preprovisioned VC\nTo switch the VC to use preprovisioned VC, enable preprovisioned in virtual_chassis config. Both vc_role master and backup will be matched to routing-engine role in Junos preprovisioned VC config.\n\nIn this config, fpc0 has to be the same as the mac of device_id. Use renumber if you want to replace fpc0 which involves device_id change.\n\nNotice: to configure preprovisioned VC, every member of the VC must be in the inventory.\n\n## Add new members\nFor models (e.g. EX4300 and up) having dedicated VC ports, it is easier to add new member switches into a VC by just connecting cables with the dedicated VC ports. Cloud will detect the new members and update the inventory.\n\nFor EX2300 VC, adding new members requires to follow the procedures below:\n1. Powering on the new member switches and ensuring cables are not connected to any VC ports.\n2. Claim or adopt all new member switches under the VC\u2019s organization Inventory\n3. Assign all new member switches to the same Site as the VC\n4. Invoke vc command to add switches to the VC.\n5. Connect the cables to the VC ports for these switches\n6. After a while, the Org\u2019s Inventory shows this new switches has been added into the VC.\n\n## Removing member switch\nTo remove a member switch from the VC, following the procedures below:\n\n1. Ensuring the VC is connected to the cloud first\n2. Unplug the cable from the VC port of the switch\n3. Waiting for the VC state (vc_state) of this switch is changed to not-present\n4. Invoke update_vc with remove to remove this switch from the VC\n5. The Org\u2019s Inventory shows the switch is removed.\n\nPlease notice that member ID 0 (fpc0) cannot be removed. When a VC has two switches left, unpluging the cable may result in the situation that fpc0 becomes a line card (LC). When this situation is happened, please re-plug in the cable, wait for both switches becoming present (show virtual-chassis) and then removing the cable again.\n\n## Renumber a member switch\nWhen a member switch doesn\u2019t work properly and needed to be replaced, the renumber API could be used. The following two types of renumber are supported:\n\n1. Replace a non-fpc0 member switch\n2. Replace fpc0. When fpc0 is relaced, PAPI device config and JUNOS config will be both updated.\n\nFor renumber to work, the following procedures are needed: \n1. Ensuring the VC is connected to the cloud and the state of the member switch to be replaced must be non present. \n2. Adding the new member switch to the VC \n3. Waiting for the VC state (vc_state) of this VC to be updated to API server \n4. Invoke vc with renumber to replace the new member switch from fpc X to\n\n## Perprovision VC members\nBy specifying \u201cpreprovision\u201d op, you can convert the current VC to pre-provisioned mode, update VC members as well as specify vc_ports when adding new members for device models without dedicated vc ports. Use renumber for fpc0 replacement which involves device_id change.\n\nNote: \n1. vc_ports is used for adding new members and not needed if * the device model has dedicated vc ports, or * no new member is added \n2. New VC members to be added should exist in the same Site as the VC\n\nUpdate Device\u2019s VC config can achieve similar purpose by directly modifying current virtual_chassis config. However, it cannot fulfill requests to enabling vc_ports on new members that are yet to belong to current VC.", "operationId": "updateInstallerVirtualChassisMember", "tags": ["Installer"]}}}}}}}, "rftemplates": {"specs": {"get": {"description": "Get List of RF Templates", "operationId": "listInstallerRfTemplatesNames", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "sitegroups": {"specs": {"get": {"description": "Get List of Site Groups", "operationId": "listInstallerSiteGroups", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "sites": {"specs": {"get": {"description": "Get List of Sites", "operationId": "listInstallerSites", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"{site_name}": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/site_name"}], "put": {"description": "Often the Installers are asked to assign Devices to Sites. The Sites can either be pre-created or created/modified by the Installer. If this is an update, the same grace period also applies.", "operationId": "createOrUpdateInstallerSites", "tags": ["Installer"]}}, "paths": {"maps": {"specs": {"get": {"description": "Get List of Maps", "operationId": "listInstallerMaps", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/site_name"}]}, "paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/site_name"}], "post": {"description": "Import data from files is a multipart POST which has an file, an optional json, and an optional csv, to create floorplan, assign & place ap if name or mac matches", "operationId": "importInstallerMap", "tags": ["Installer"]}}}, "{map_id}": {"specs": {"delete": {"description": "Delete Map", "operationId": "deleteInstallerMap", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/site_name"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "Create a MAP", "operationId": "createInstallerMap", "tags": ["Installer"]}, "put": {"description": "Update map", "operationId": "updateInstallerMap", "tags": ["Installer"]}}}}}}}}}}}}}, "sites": {"paths": {"{site_name}": {"paths": {"optimize": {"specs": {"get": {"description": "After installation is considered complete (APs are placed on maps, all powered up), you can trigger an optimize operation where RRM will kick in (and maybe other things in the future) before it\u2019s automatically scheduled.", "operationId": "optimizeInstallerRrm", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/site_name"}]}}}}}}}}, "invite": {"paths": {"verify": {"paths": {"{token}": {"specs": {"parameters": [{"$ref": "#/components/parameters/token"}], "post": {"description": "**Note**: another call to ```GET /api/v1/self``` is required to see the new set of privileges", "operationId": "verifyAdminInvite", "tags": ["Admins"]}}}}}}}, "login": {"specs": {"post": {"description": "Log in with email/password.\nWhen 2FA is enabled, there are two ways to login:\n1. login with two_factor token (with Google Authenticator, etc) \n2. login with email/password, generate the token, and use /login/two_factor with the token", "operationId": "login", "tags": ["Admins Login"]}}, "paths": {"lookup": {"specs": {"post": {"description": "Login Lookup", "operationId": "lookup", "tags": ["Admins Lookup"]}}}, "oauth": {"paths": {"{provider}": {"specs": {"delete": {"description": "Unlink OAuth2 Provider", "operationId": "unlinkOauth2Provider", "tags": ["Admins Login - OAuth2"]}, "get": {"description": "Obtain Authorization URL for Login", "operationId": "getOauth2AuthorizationUrlForLogin", "parameters": [{"description": "callback URL", "in": "query", "name": "forward", "schema": {"example": "http://manage.mist.com/oauth/callback.html", "type": "string"}}], "tags": ["Admins Login - OAuth2"]}, "parameters": [{"in": "path", "name": "provider", "required": true, "schema": {"description": "Oauth2 provider name", "type": "string"}}], "post": {"description": "Login via OAuth2", "operationId": "loginOauth2", "tags": ["Admins Login - OAuth2"]}}}}}, "two_factor": {"specs": {"post": {"description": "Send 2FA Code", "operationId": "twoFactor", "tags": ["Admins Login"]}}}}}, "logout": {"specs": {"post": {"description": "Logout", "operationId": "logout", "tags": ["Admins Logout"]}}}, "mobile": {"paths": {"verify": {"paths": {"{secret}": {"specs": {"parameters": [{"$ref": "#/components/parameters/secret"}], "post": {"description": "Verify secret", "operationId": "activateSdkInvite", "tags": ["Orgs SDK Invites"]}}}}}}}, "msps": {"specs": {"post": {"description": "Create MSP account", "operationId": "createMsp", "tags": ["MSPs"]}}, "paths": {"{msp_id}": {"specs": {"delete": {"description": "Deleting MSP removes the MSP and OrgGroup under the MSP as well as all privileges associated with them. It does not remove any Org or Admins", "operationId": "deleteMsp", "tags": ["MSPs"]}, "get": {"description": "Get MSP Detail", "operationId": "getMspDetails", "tags": ["MSPs"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}], "put": {"description": "Update MSP", "operationId": "updateMsp", "tags": ["MSPs"]}}, "paths": {"admins": {"specs": {"get": {"description": "Get List of MSP Admins", "operationId": "listMspAdmins", "tags": ["MSPs Admins"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}, "paths": {"{admin_id}": {"specs": {"delete": {"description": "This removes all privileges this admin has against the MSP. This goes deep all the way to the sites", "operationId": "revokeMspAdmin", "tags": ["MSPs Admins"]}, "get": {"description": "Get MSP Admins", "operationId": "getMspAdmin", "tags": ["MSPs Admins"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/admin_id"}], "put": {"description": "Update MSP Admin", "operationId": "updateMspAdmin", "tags": ["MSPs Admins"]}}}}}, "claim": {"specs": {"parameters": [{"$ref": "#/components/parameters/msp_id"}], "post": {"description": "Claim an Order by Activation Code", "operationId": "claimMspLicence", "tags": ["MSPs Licenses"]}}}, "insights": {"paths": {"{metric}": {"specs": {"get": {"description": "Get MSP SLEs (all/worst Orgs ...)", "operationId": "getMspSle", "parameters": [{"description": "see /api/v1/const/insight_metrics for more details", "in": "query", "name": "sle", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/interval"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}], "tags": ["MSPs SLEs"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/metric"}]}}}}, "inventory": {"paths": {"{device_mac}": {"specs": {"get": {"description": "Get Inventoy By device MAC address", "operationId": "getMspInventoryByMac", "tags": ["MSPs Inventory"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/device_mac"}]}}}}, "invites": {"specs": {"parameters": [{"$ref": "#/components/parameters/msp_id"}], "post": {"description": "Invite MSP Admin\n\n**Note**: An email will also be sent to the user with a link to https://manage.mist.com/verify/invite?token=:token", "operationId": "inviteMspAdmin", "tags": ["MSPs Admins"]}}, "paths": {"{invite_id}": {"specs": {"delete": {"description": "Delete admin invite", "operationId": "uninviteMspAdmin", "tags": ["MSPs Admins"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/invite_id"}], "put": {"description": "Update MSP admin invite", "operationId": "updateMspAdminInvite", "tags": ["MSPs Admins"]}}}}}, "licenses": {"specs": {"get": {"description": "Get List of Msp Licenses", "operationId": "listMspLicenses", "tags": ["MSPs Licenses"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}], "put": {"description": "Move or Delete MSP Licenses", "operationId": "moveOrDeleteMspLicenseToAnotherOrg", "tags": ["MSPs Licenses"]}}}, "logo": {"specs": {"delete": {"description": "Delete MSP Logo", "operationId": "deleteMspLogo", "tags": ["MSPs Logo"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}], "post": {"description": "Upload Logo (only for advanced msp tier)", "operationId": "postMspLogo", "tags": ["MSPs Logo"]}}}, "logs": {"specs": {"get": {"description": "Get list of change logs for the current MSP", "operationId": "listMspAuditLogs", "parameters": [{"description": "site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "admin name or email", "in": "query", "name": "admin_name", "schema": {"type": "string"}}, {"description": "message", "in": "query", "name": "message", "schema": {"type": "string"}}, {"description": "sort order", "in": "query", "name": "sort", "schema": {"$ref": "#/components/schemas/list_msp_logs_sort"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/duration"}], "tags": ["MSPs Logs"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}, "paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Audit Logs", "operationId": "countMspAuditLogs", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/msp_logs_count_distinct"}}], "tags": ["MSPs Logs"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}}}}, "orggroups": {"specs": {"get": {"description": "Get List of MSP Org Groups", "operationId": "listMspOrgGroups", "tags": ["MSPs Org Groups"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}], "post": {"description": "Create MSP Org Group", "operationId": "createMspOrgGroup", "tags": ["MSPs Org Groups"]}}, "paths": {"{orggroup_id}": {"specs": {"delete": {"description": "Delete MSP Org Group", "operationId": "deleteMspOrgGroup", "tags": ["MSPs Org Groups"]}, "get": {"description": "Get MSP Org Group Details", "operationId": "getMspOrgGroup", "tags": ["MSPs Org Groups"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/orggroup_id"}], "put": {"description": "Update MSP Org Group", "operationId": "updateMspOrgGroup", "tags": ["MSPs Org Groups"]}}}}}, "orgs": {"specs": {"get": {"description": "Get List of MSP Orgs", "operationId": "listMspOrgs", "tags": ["MSPs Orgs"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}], "post": {"description": "Create an Org under MSP", "operationId": "createMspOrg", "tags": ["MSPs Orgs"]}, "put": {"description": "Assign or Unassign Orgs to an MSP account", "operationId": "manageMspOrgs", "tags": ["MSPs Orgs"]}}, "paths": {"search": {"specs": {"get": {"description": "Search Org in MSP", "operationId": "searchMspOrgs", "parameters": [{"$ref": "#/components/parameters/name"}, {"description": "org id", "in": "query", "name": "org_id", "schema": {"format": "uuid", "type": "string"}}, {"description": "if this org has sufficient subscription", "in": "query", "name": "sub_insufficient", "schema": {"type": "boolean"}}, {"description": "if this org is under trial period", "in": "query", "name": "trial_enabled", "schema": {"type": "boolean"}}, {"description": "a list of types that enabled by usage", "in": "query", "name": "usage_types", "schema": {"$ref": "#/components/schemas/strings"}}, {"$ref": "#/components/parameters/limit"}], "tags": ["MSPs Orgs"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}}, "{org_id}": {"specs": {"delete": {"description": "delete MSP Org", "operationId": "deleteMspOrg", "tags": ["MSPs Orgs"]}, "get": {"description": "Get MSP Org Details", "operationId": "getMspOrg", "tags": ["MSPs Orgs"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/org_id"}], "put": {"description": "Update MSP Org", "operationId": "updateMspOrg", "tags": ["MSPs Orgs"]}}}}}, "search": {"specs": {"get": {"description": "Search in MSP Orgs", "operationId": "searchMspOrgGroup", "parameters": [{"description": "orgs", "example": "orgs", "in": "query", "name": "type", "required": true, "schema": {"$ref": "#/components/schemas/msp_search_type"}}, {"$ref": "#/components/parameters/q"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["MSPs"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}}, "ssoroles": {"specs": {"get": {"description": "Get List of MSP SSO Roles", "operationId": "listMspSsoRoles", "tags": ["MSPs SSO Roles"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}], "post": {"description": "Create MSP Role", "operationId": "createMspSsoRole", "tags": ["MSPs SSO Roles"]}}, "paths": {"{ssorole_id}": {"specs": {"delete": {"description": "Delete MSP SSO Roles", "operationId": "deleteMspSsoRole", "tags": ["MSPs SSO Roles"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/ssorole_id"}], "put": {"description": "Update SSO Role", "operationId": "updateMspSsoRole", "tags": ["MSPs SSO Roles"]}}}}}, "ssos": {"specs": {"get": {"description": "List MSP SSO Configs", "operationId": "listMspSsos", "tags": ["MSPs SSO"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}], "post": {"description": "Create MSP SSO profile", "operationId": "createMspSso", "tags": ["MSPs SSO"]}}, "paths": {"{sso_id}": {"specs": {"delete": {"description": "Delete MSP SSO Config", "operationId": "deleteMspSso", "tags": ["MSPs SSO"]}, "get": {"description": "Get MSP SSO Config", "operationId": "getMspSso", "tags": ["MSPs SSO"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/sso_id"}], "put": {"description": "Update MSP SSO config", "operationId": "updateMspSso", "tags": ["MSPs SSO"]}}, "paths": {"failures": {"specs": {"get": {"description": "Get List of MSP SSO Latest Failures", "operationId": "listMspSsoLatestFailures", "tags": ["MSPs SSO"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/sso_id"}]}}, "metadata": {"specs": {"get": {"description": "Get MSP SSO SAML Metadata", "operationId": "getMspSsoSamlMetadata", "tags": ["MSPs SSO"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/sso_id"}]}}, "metadata.xml": {"specs": {"get": {"description": "Download MSP SSO SAML Metadata\n\nExample of metadata.xml:\n```xml\n\n \n \n urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n \n \n Mist\n \n \n \n \n \n\n```", "operationId": "downloadMspSsoSamlMetadata", "tags": ["MSPs SSO"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/sso_id"}]}}}}}}, "stats": {"paths": {"licenses": {"specs": {"get": {"description": "Get List of MSP Licences", "operationId": "listMspOrgLicenses", "tags": ["MSPs Licenses"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}}, "orgs": {"specs": {"get": {"description": "Get List of MSP Orgs Stats", "operationId": "listMspOrgStats", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["MSPs Orgs"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}}}}, "suggestion": {"paths": {"count": {"specs": {"get": {"description": "Count Marvis actions", "operationId": "countMspsMarvisActions", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/msp_marvis_suggestions_count_distinct"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["MSPs Marvis"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}}}}, "tickets": {"specs": {"get": {"description": "Get List of Tickets of a MSP", "operationId": "listMspTickets", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["MSPs Tickets"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}, "paths": {"count": {"specs": {"get": {"description": "Count tickets", "operationId": "countMspTickets", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/msp_tickets_count_distinct"}}], "tags": ["MSPs Tickets"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}}}}}}}}, "orgs": {"specs": {"post": {"description": "Org admin can invite people to manage the org. Furthermore, he can dictate the level of security those accounts are. The check is enforced when the invited admin tries to \u201caccept\u201d the invitation and every time the admin tries to login", "operationId": "createOrg", "tags": ["Orgs"]}}, "paths": {"{org_id}": {"specs": {"delete": {"description": "Delete Org", "operationId": "deleteOrg", "tags": ["Orgs"]}, "get": {"description": "Get Organization information", "operationId": "getOrg", "tags": ["Orgs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "put": {"description": "Update Org", "operationId": "updateOrg", "tags": ["Orgs"]}}, "paths": {"128routers": {"paths": {"register_cmd": {"specs": {"get": {"description": "128T devices can be managed/adopted by Mist.", "operationId": "getOrg128TRegistrationCommands", "tags": ["Orgs Devices - SSR"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "admins": {"specs": {"get": {"description": "Get List of people who can manage the Site/Org under the Org", "operationId": "listOrgAdmins", "tags": ["Orgs Admins"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"{admin_id}": {"specs": {"delete": {"description": "This removes all privileges this admin has against the org", "operationId": "revokeOrgAdmin", "tags": ["Orgs Admins"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/admin_id"}], "put": {"description": "Invite Org Admin", "operationId": "updateOrgAdmin", "tags": ["Orgs Admins"]}}}}}, "alarms": {"paths": {"ack": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Ack multiple Org Alarms", "operationId": "ackOrgMultipleAlarms", "tags": ["Orgs Alarms"]}}}, "ack_all": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Ack all Org Alarms\n\n**N.B.**: Batch size for multiple alarm ack and unack has to be less or or equal to 1000.", "operationId": "ackOrgAllAlarms", "tags": ["Orgs Alarms"]}}}, "count": {"specs": {"get": {"description": "Count Org Alarms", "operationId": "countOrgAlarms", "parameters": [{"in": "query", "name": "distinct", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Alarms"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org Alarms", "operationId": "searchOrgAlarms", "parameters": [{"description": "site ID", "in": "query", "name": "site_id", "schema": {"format": "uuid", "type": "string"}}, {"description": "alarm type", "in": "query", "name": "type", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Alarms"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "unack": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Unack multiple Org Alarms", "operationId": "unackOrgMultipleAlarms", "tags": ["Orgs Alarms"]}}}, "unack_all": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Unack all Org Alarms\n\n**N.B.**: Batch size for multiple alarm ack and unack has to be less or or equal to 1000.", "operationId": "unackOrgAllArlarms", "tags": ["Orgs Alarms"]}}}, "{alarm_id}": {"paths": {"ack": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/alarm_id"}], "post": {"description": "Ack Org Alarm", "operationId": "ackOrgAlarm", "tags": ["Orgs Alarms"]}}}}}}}, "alarmtemplates": {"specs": {"get": {"description": "Get List of Org Alarm Templates", "operationId": "listOrgAlarmTemplates", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Alarm Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Available rules can be found in Orgs>Consts>getAlarmDefs\n\nThe delivery dict is only required if different from the template delivery settings.", "operationId": "createOrgAlarmTemplate", "tags": ["Orgs Alarm Templates"]}}, "paths": {"suppress": {"specs": {"delete": {"description": "Un-Suppress Suppressed Alarms", "operationId": "unsuppressOrgSuppressedAlarms", "tags": ["Orgs Alarm Templates"]}, "get": {"description": "Get List of Org Alarms Currently Suppressed", "operationId": "listOrgSuppressedAlarms", "parameters": [{"in": "query", "name": "scope", "schema": {"$ref": "#/components/schemas/suppressed_alarm_scope"}}], "tags": ["Orgs Alarm Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "In certain situations, for example, scheduled maintenance, you may want to suspend alarms to be triggered against Sites for a period of time.", "operationId": "suppressOrgAlarm", "tags": ["Orgs Alarm Templates"]}}}, "{alarmtemplate_id}": {"specs": {"delete": {"description": "Delete Org Alarm Template", "operationId": "deleteOrgAlarmTemplate", "tags": ["Orgs Alarm Templates"]}, "get": {"description": "Get Org Alarm Template Details", "operationId": "getOrgAlarmTemplate", "tags": ["Orgs Alarm Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/alarmtemplate_id"}], "put": {"description": "Update Org Alarm Template", "operationId": "updateOrgAlarmTemplate", "tags": ["Orgs Alarm Templates"]}}}}}, "apitokens": {"specs": {"get": {"description": "Get List of Org API Tokens", "operationId": "listOrgApiTokens", "tags": ["Orgs API Tokens"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org API Token\nNote that the token key is only available during creation time.", "operationId": "createOrgApiToken", "tags": ["Orgs API Tokens"]}}, "paths": {"{apitoken_id}": {"specs": {"delete": {"description": "Delete Org API Token", "operationId": "deleteOrgApiToken", "tags": ["Orgs API Tokens"]}, "get": {"description": "Get Org API Token", "operationId": "getOrgApiToken", "tags": ["Orgs API Tokens"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/apitoken_id"}], "put": {"description": "Update Org API Token", "operationId": "updateOrgApiToken", "tags": ["Orgs API Tokens"]}}}}}, "aptemplates": {"specs": {"get": {"description": "Get List of Org AP Templates", "operationId": "listOrgAptemplates", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs AP Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org AP Template", "operationId": "createOrgAptemplate", "tags": ["Orgs AP Templates"]}}, "paths": {"{aptemplate_id}": {"specs": {"delete": {"description": "Delete existing AP Template", "operationId": "deleteOrgAptemplate", "tags": ["Orgs AP Templates"]}, "get": {"description": "Get AP Template", "operationId": "getOrgAptemplate", "tags": ["Orgs AP Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/aptemplate_id"}], "put": {"description": "Update AP Template", "operationId": "updateOrgAptemplate", "tags": ["Orgs AP Templates"]}}}}}, "assetfilters": {"specs": {"get": {"description": "Get List of Org BLE asset filters. \nEach asset filter in the list operates independently. For a filter object to match an asset, all of the filter properties must match (logical \u2018AND\u2019 of each filter property). For example, the \u201cVisitor Tags\u201d filter below will match an asset when both the \u201cibeacon\\_uuid\u201d and \u201cibeacon_major\u201d properties match the asset. All non-matching assets are ignored.", "operationId": "listOrgAssetFilters", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Asset Filters"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Asset Filter\n\nCreates a single BLE asset filter for the given site. Any subset of filter properties can be included in the filter. A matching asset must meet the conditions of all given filter properties (logical \u2018AND\u2019).", "operationId": "createOrgAssetFilters", "tags": ["Orgs Asset Filters"]}}, "paths": {"{assetfilter_id}": {"specs": {"delete": {"description": "Deletes an existing BLE asset filter for the given site.", "operationId": "deleteOrgAssetFilter", "tags": ["Orgs Asset Filters"]}, "get": {"description": "Get Org Asset Filter Details", "operationId": "getOrgAssetFilter", "tags": ["Orgs Asset Filters"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/assetfilter_id"}], "put": {"description": "Updates an existing BLE asset filter for the given site.", "operationId": "updateOrgAssetFilters", "tags": ["Orgs Asset Filters"]}}}}}, "assets": {"specs": {"get": {"description": "Get List of Org Assets", "operationId": "listOrgAssets", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Assets"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Asset", "operationId": "createOrgAsset", "tags": ["Orgs Assets"]}}, "paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Impert Org Assets. \n\nIt can be done via a CSV file or a JSON payload.\n\n#### CSV File Format\n```csv\nname,mac\n\"asset_name\",5c5b53010101\n```", "operationId": "importOrgAssets", "tags": ["Orgs Assets"]}}}, "{asset_id}": {"specs": {"delete": {"description": "Delete Org Asset", "operationId": "deleteOrgAsset", "tags": ["Orgs Assets"]}, "get": {"description": "Get Org Asset Details", "operationId": "getOrgAsset", "tags": ["Orgs Assets"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/asset_id"}], "put": {"description": "Update Org Asset", "operationId": "updateOrgAsset", "tags": ["Orgs Assets"]}}}}}, "cert": {"specs": {"get": {"description": "Get Org Certificates", "operationId": "getOrgCertificates", "tags": ["Orgs Cert"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"regenerate": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Clear Org Certificates", "operationId": "clearOrgCertificates", "tags": ["Orgs Cert"]}}}}}, "claim": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Claim Org licenses / activation codes", "operationId": "claimOrgLicense", "tags": ["Orgs Licenses"]}}}, "clients": {"paths": {"count": {"specs": {"get": {"description": "Count Org Wireless Clients", "operationId": "countOrgWirelessClients", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_clients_count_distinct"}}, {"description": "partial / full MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "device type, e.g. Mac, Nvidia, iPhone", "in": "query", "name": "device", "schema": {"type": "string"}}, {"description": "os, e.g. Sierra, Yosemite, Windows 10", "in": "query", "name": "os", "schema": {"type": "string"}}, {"description": "model, e.g. \u201cMBP 15 late 2013\u201d, 6, 6s, \u201c8+ GSM\u201d", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "AP mac where the client has connected to", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "vlan", "in": "query", "name": "vlan", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/ip"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "events": {"paths": {"search": {"specs": {"get": {"description": "Get Org Clients Events", "operationId": "searchOrgWirelessClientEvents", "parameters": [{"$ref": "#/components/parameters/client_event_type"}, {"description": "for assoc/disassoc events", "in": "query", "name": "reason_code", "schema": {"type": "integer"}}, {"description": "SSID Name", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/dot11_proto"}, {"$ref": "#/components/parameters/dot11_band"}, {"description": "wlan_id", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"description": "nacrule_id", "in": "query", "name": "nacrule_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "search": {"specs": {"get": {"description": "Search Org Wireless Clients", "operationId": "searchOrgWirelessClients", "parameters": [{"description": "Site ID", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "partial / full MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/ip"}, {"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "device type, e.g. Mac, Nvidia, iPhone", "in": "query", "name": "device", "schema": {"type": "string"}}, {"description": "os, e.g. Sierra, Yosemite, Windows 10", "in": "query", "name": "os", "schema": {"type": "string"}}, {"description": "model, e.g. \u201cMBP 15 late 2013\u201d, 6, 6s, \u201c8+ GSM\u201d", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "AP mac where the client has connected to", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/psk_id_query"}, {"description": "PSK Name", "in": "query", "name": "psk_name", "schema": {"type": "string"}}, {"description": "vlan", "in": "query", "name": "vlan", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "partial / full MAC address, hostname, username, psk_name or ip", "in": "query", "name": "text", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "sessions": {"paths": {"count": {"specs": {"get": {"description": "Count Org Wireless Clients Sessions", "operationId": "countOrgWirelessClientsSessions", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_client_sessions_count_distinct"}}, {"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/dot11_band"}, {"description": "E.g. \u201cMac\u201d, \u201ciPhone\u201d, \u201cApple watch\u201d", "in": "query", "name": "client_family", "schema": {"type": "string"}}, {"description": "E.g. \u201cApple\u201d", "in": "query", "name": "client_manufacture", "schema": {"type": "string"}}, {"description": "E.g. \u201c8+\u201d, \u201cXS\u201d", "in": "query", "name": "client_model", "schema": {"type": "string"}}, {"description": "E.g. \u201cMojave\u201d, \u201cWindows 10\u201d, \u201cLinux\u201d", "in": "query", "name": "client_os", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "wlan_id", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org Wireless Clients Sessions", "operationId": "searchOrgWirelessClientSessions", "parameters": [{"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/dot11_band"}, {"description": "E.g. \u201cMac\u201d, \u201ciPhone\u201d, \u201cApple watch\u201d", "in": "query", "name": "client_family", "schema": {"type": "string"}}, {"description": "E.g. \u201cApple\u201d", "in": "query", "name": "client_manufacture", "schema": {"type": "string"}}, {"description": "E.g. \u201c8+\u201d, \u201cXS\u201d", "in": "query", "name": "client_model", "schema": {"type": "string"}}, {"description": "Username", "in": "query", "name": "client_username", "schema": {"type": "string"}}, {"description": "E.g. \u201cMojave\u201d, \u201cWindows 10\u201d, \u201cLinux\u201d", "in": "query", "name": "client_os", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "wlan_id", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/psk_id_query"}, {"description": "PSK Name", "in": "query", "name": "psk_name", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "{client_mac}": {"paths": {"coa": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/client_mac"}], "post": {"description": "Trigger a CoA (change of authorization) against a client", "operationId": "reauthOrgDot1xWirelessClient", "tags": ["Utilities Wi-Fi"]}}}}}}}, "clone": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create an Org by cloning from another one. Org Settings, Templates, Wxlan Tags, Wxlan Tunnels, Wxlan Rules, Org Wlans will be copied. Sites and Site Groups will not be copied, and therefore, the copied template will not be applied to any site/sitegroups.", "operationId": "cloneOrg", "tags": ["Orgs"]}}}, "crl": {"specs": {"get": {"description": "Get Org CRL File", "operationId": "getOrgCrlFile", "tags": ["Orgs CRL"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"truncate": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "By default, all certs used by recently unclaimed devices within 9 month will be included in CRL. If the list grows too big, you can truncate it", "operationId": "truncateOrgCrlFile", "tags": ["Orgs Cert"]}}}}}, "deviceprofiles": {"specs": {"get": {"description": "Get List of Org Device Profiles", "operationId": "listOrgDeviceProfiles", "parameters": [{"in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/device_type"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Device Profiles"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Device Profile", "operationId": "createOrgDeviceProfiles", "tags": ["Orgs Device Profiles"]}}, "paths": {"{deviceprofile_id}": {"specs": {"delete": {"description": "Delete Org Device Profile", "operationId": "deleteOrgDeviceProfile", "tags": ["Orgs Device Profiles"]}, "get": {"description": "Get Org device Profile Details", "operationId": "getOrgDeviceProfile", "tags": ["Orgs Device Profiles"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/deviceprofile_id"}], "put": {"description": "Update Org Device Profile", "operationId": "updateOrgDeviceProfile", "tags": ["Orgs Device Profiles"]}}, "paths": {"assign": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/deviceprofile_id"}], "post": {"description": "Assign Org Device Profile to Devices", "operationId": "assignOrgDeviceProfile", "tags": ["Orgs Device Profiles"]}}}, "unassign": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/deviceprofile_id"}], "post": {"description": "Unassign Org Device Profile from Devices", "operationId": "unassignOrgDeviceProfile", "tags": ["Orgs Device Profiles"]}}}}}}}, "devices": {"specs": {"get": {"description": "Get List of Org Devices", "operationId": "listOrgDevices", "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"count": {"specs": {"get": {"description": "Count Org Devices", "operationId": "countOrgDevices", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_devices_count_distinct"}}, {"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "AP mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "version", "in": "query", "name": "version", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/ip"}, {"description": "MxTunnel status, up / down", "in": "query", "name": "mxtunnel_status", "schema": {"$ref": "#/components/schemas/count_org_devices_mxtunnel_status"}}, {"description": "Mist Edge id, if AP is connecting to a Mist Edge", "in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"description": "LLDP system name", "in": "query", "name": "lldp_system_name", "schema": {"type": "string"}}, {"description": "LLDP system description", "in": "query", "name": "lldp_system_desc", "schema": {"type": "string"}}, {"description": "LLDP port id", "in": "query", "name": "lldp_port_id", "schema": {"type": "string"}}, {"description": "LLDP management ip address", "in": "query", "name": "lldp_mgmt_addr", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "events": {"paths": {"count": {"specs": {"get": {"description": "Count Org Devices Events", "operationId": "countOrgDeviceEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_devices_events_count_distinct"}}, {"description": "site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "AP mac", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "AP Firmware", "in": "query", "name": "apfw", "schema": {"type": "string"}}, {"description": "device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "event message", "in": "query", "name": "text", "schema": {"type": "string"}}, {"description": "event time", "in": "query", "name": "timestamp", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/device_event_type"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org Devices Events", "operationId": "searchOrgDeviceEvents", "parameters": [{"description": "device mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"in": "query", "name": "device_type", "schema": {"$ref": "#/components/schemas/device_type"}}, {"description": "event message", "in": "query", "name": "text", "schema": {"type": "string"}}, {"description": "event time", "in": "query", "name": "timestamp", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/device_event_type"}, {"description": "Return last/recent event for passed in field", "example": "port_id", "in": "query", "name": "last_by", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "last_config": {"paths": {"count": {"specs": {"get": {"description": "Counts the number of entries in device config history for distinct field with given filters", "operationId": "countOrgDeviceLastConfigs", "parameters": [{"in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/device_type"}}, {"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_devices_last_configs_count_distinct"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Device Last Configs", "operationId": "searchOrgDeviceLastConfigs", "parameters": [{"in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/device_type"}}, {"description": "Device MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Devices Name", "in": "query", "name": "name", "schema": {"type": "string"}}, {"description": "Device Version", "in": "query", "name": "version", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "radio_macs": {"specs": {"get": {"description": "For some scenarios like E911 or security systems, the BSSIDs are required to identify which AP the client is connecting to. Then the location of the AP can be used as the approximate location of the client.\n\nEach radio MAC can have 16 BSSIDs (enumerate the last octet from 0-F)", "operationId": "listOrgApsMacs", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org Devices", "operationId": "searchOrgDevices", "parameters": [{"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "AP mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "version", "in": "query", "name": "version", "schema": {"type": "string"}}, {"description": "power_constrained", "in": "query", "name": "power_constrained", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/ip"}, {"description": "MxTunnel status, up / down", "in": "query", "name": "mxtunnel_status", "schema": {"$ref": "#/components/schemas/search_org_devices_mxtunnel_status"}}, {"description": "Mist Edge id, if AP is connecting to a Mist Edge", "in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"description": "LLDP system name", "in": "query", "name": "lldp_system_name", "schema": {"type": "string"}}, {"description": "LLDP system description", "in": "query", "name": "lldp_system_desc", "schema": {"type": "string"}}, {"description": "LLDP port id", "in": "query", "name": "lldp_port_id", "schema": {"type": "string"}}, {"description": "LLDP management ip address", "in": "query", "name": "lldp_mgmt_addr", "schema": {"type": "string"}}, {"description": "Bandwith of band_24", "in": "query", "name": "band_24_bandwith", "schema": {"type": "integer"}}, {"description": "Bandwith of band_5", "in": "query", "name": "band_5_bandwith", "schema": {"type": "integer"}}, {"description": "Bandwith of band_6", "in": "query", "name": "band_6_bandwith", "schema": {"type": "integer"}}, {"description": "Channel of band_24", "in": "query", "name": "band_24_channel", "schema": {"type": "integer"}}, {"description": "Channel of band_5", "in": "query", "name": "band_5_channel", "schema": {"type": "integer"}}, {"description": "Channel of band_6", "in": "query", "name": "band_6_channel", "schema": {"type": "integer"}}, {"description": "Port speed of eth0", "in": "query", "name": "eth0_port_speed", "schema": {"type": "integer"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "upgrade": {"specs": {"get": {"description": "Get List of Org multiple devces upgrades", "operationId": "listOrgDeviceUpgrades", "tags": ["Utilities Upgrade"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Upgrade Multiple Sites (Only supported for Access Points ugprades)", "operationId": "upgradeOrgDevices", "tags": ["Utilities Upgrade"]}}, "paths": {"{upgrade_id}": {"specs": {"get": {"description": "Get Multiple Devices Upgrade", "operationId": "getOrgDeviceUpgrade", "tags": ["Utilities Upgrade"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/upgrade_id"}]}}}}}}, "events": {"paths": {"search": {"specs": {"get": {"description": "Search Org events\n\n\nSupported Event Types:\n- CRADLEPOINT_SYNC_FAILED\n- ORG_CA_CERT_ADDED\n- ORG_CA_CERT_REGENERATED", "operationId": "searchOrgEvents", "parameters": [{"description": "event type", "in": "query", "name": "type", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "evpn_topologies": {"specs": {"get": {"description": "Get List of the existing Org EVPN topologies", "operationId": "listOrgEvpnTopologies", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs EVPN Topologies"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "While all the `evpn_id` / `downlink_ips` can be specifidd by hand, the easiest way is to call the `build_vpn_topology` API, allowing you to examine the diff, and update it yourself. You can also simply call it with `overwrite=true` which will apply the updates for you.\n\n**Notes:**\n1. You can use `core` / `distribution` / `access` to create a CLOS topology\n2. You can also use `core` / `distribution` to form a 2-tier EVPN topology where ESI-Lag is configured distribution to connect to access switches\n3. In a small/medium campus, `collapsed-core` can be used where core switches are the inter-connected to do EVPN\n4. The API uses a few pre-defined parameters and best-practices to generate the configs. It can be customized by using `evpn_options` in Site Setting / Network Template. (e.g. a different subnet for the underlay)\n\n#### Collapsed Core\nIn a small-medium campus, EVPN can also be enabled only at the core switches (up to 4) by assigning all participating switches with `collapsed-core role`. When there are more than 2 switches, a ring-like topology will be formed.\n\n#### ESI-Lag\nIf the access switchess does not have EVPN support, you can take advantage of EVPN by setting up ESI-Lag on distribution switches\n\n#### Leaf / Access / Collapsed-Core\nFor leaf nodes in a EVPN topology, you\u2019d have to configure the IPs for networks that would participate in EVPN. Optionally, VRFs to isolate traffic from one tenant verus another", "operationId": "createOrgEvpnTopology", "tags": ["Orgs EVPN Topologies"]}}, "paths": {"{evpn_topology_id}": {"specs": {"delete": {"description": "Delete the Org EVPN Topology", "operationId": "deleteOrgEvpnTopology", "tags": ["Orgs EVPN Topologies"]}, "get": {"description": "Get One EVPN Topology Detail", "operationId": "getOrgEvpnTolopogy", "tags": ["Orgs EVPN Topologies"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/evpn_topology_id"}], "put": {"description": "Update the EVPN Topolgy", "operationId": "updateOrgEvpnTopology", "tags": ["Orgs EVPN Topologies"]}}}}}, "gatewaytemplates": {"specs": {"get": {"description": "Get List of Org Gateway Templates", "operationId": "listOrgGatewayTemplates", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Gateway Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Gateway Template", "operationId": "createOrgGatewayTemplate", "tags": ["Orgs Gateway Templates"]}}, "paths": {"{gatewaytemplate_id}": {"specs": {"delete": {"description": "Delete Organization Gateway Template", "operationId": "deleteOrgGatewayTemplate", "tags": ["Orgs Gateway Templates"]}, "get": {"description": "Get Organization Gateway Template details", "operationId": "getOrgGatewayTemplate", "tags": ["Orgs Gateway Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/gatewaytemplate_id"}], "put": {"description": "Update Organization Gateway Template", "operationId": "updateOrgGatewayTemplate", "tags": ["Orgs Gateway Templates"]}}}}}, "guests": {"specs": {"get": {"description": "Get List of Org Guest Authorizations", "operationId": "listOrgGuestAuthorizations", "tags": ["Orgs Guests"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"count": {"specs": {"get": {"description": "Count Org Authorized Guest", "operationId": "countOrgGuestAuthorizations", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_guests_count_distinct"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Guests"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Authorized Guest", "operationId": "searchOrgGuestAuthorization", "parameters": [{"description": "WLAN ID", "example": "00000000-0000-0000-0000-000000000000", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"description": "Authentication Methdo", "in": "query", "name": "auth_method", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Guests"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "{guest_mac}": {"specs": {"delete": {"description": "Delete Guest Authorization", "operationId": "deleteOrgGuestAuthorization", "tags": ["Orgs Guests"]}, "get": {"description": "Get Guest Authorization", "operationId": "getOrgGuestAuthorization", "tags": ["Orgs Guests"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/guest_mac"}], "put": {"description": "Update Guest Authorization", "operationId": "updateOrgGuestAuthorization", "tags": ["Orgs Guests"]}}}}}, "idpprofiles": {"specs": {"get": {"description": "get the list of Org IDP Profiles", "operationId": "listOrgIdpProfiles", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs IDP Profiles"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org IDP Profile", "operationId": "createOrgIdpProfile", "tags": ["Orgs IDP Profiles"]}}, "paths": {"{idpprofile_id}": {"specs": {"delete": {"description": "Delete Org IDP Profile", "operationId": "deleteOrgIdpProfile", "tags": ["Orgs IDP Profiles"]}, "get": {"description": "Get Org IDP Profile", "operationId": "getOrgIdpProfile", "tags": ["Orgs IDP Profiles"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/idpprofile_id"}], "put": {"description": "Update Org IDP Profile", "operationId": "updateOrgIdpProfile", "tags": ["Orgs IDP Profiles"]}}}}}, "insights": {"paths": {"sites_sle": {"specs": {"get": {"description": "Get Org Sites SLE", "operationId": "getOrgSitesSle", "parameters": [{"in": "query", "name": "sle", "schema": {"$ref": "#/components/schemas/org_site_sle_type"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/interval"}], "tags": ["Orgs SLEs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "{metric}": {"specs": {"get": {"description": "Get Org SLEs (all/worst sites, Mx Edges, ...)", "operationId": "getOrgSle", "parameters": [{"description": "see [listInsightMetrics](/#operations/listInsightMetrics) for more details", "in": "query", "name": "sle", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/interval"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}], "tags": ["Orgs SLEs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/metric"}]}}}}, "inventory": {"specs": {"get": {"description": "Get Org Inventory\n\n### VC (Virtual-Chassis) Management\nIdeally VC should be managed as a single device - where - one managed entity where config / monitoring is anchored against (with a stable identify MAC) - all members appears in the inventory\n\nIn our implementation, we strive to achieve that without manual user configurations by \n1. during claim or adoption a VC, we require FPC0 to exist and will use its MAC as identify for the entire chassis\n2. other VC members will be automatically populated when they\u2019re all present\n\nThe perceivable result is \n1. from `/sites/:site_id/stats/devices/:fpc0_mac` API, you\u2019d see the VC where module_stat contains the VC members \n2. from `/orgs/:org_id/inventory?vc=true` API, you\u2019d see all VC members with vc_mac pointing to the FPC0", "operationId": "getOrgInventory", "parameters": [{"description": "device serial", "in": "query", "name": "serial", "schema": {"type": "string"}}, {"description": "device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/device_type"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "site id if assigned, null if not assigned", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "Virtual Chassis MAC Address", "in": "query", "name": "vc_mac", "schema": {"type": "string"}}, {"description": "To display Virtual Chassis members", "in": "query", "name": "vc", "schema": {"default": false, "type": "boolean"}}, {"description": "to display Unassigned devices", "in": "query", "name": "unassigned", "schema": {"default": true, "type": "boolean"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Inventory"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Add Device to Org Inventory with the device claim codes", "operationId": "addOrgInventory", "tags": ["Orgs Inventory"]}, "put": {"description": "Update Org Inventory", "operationId": "updateOrgInventoryAssignment", "tags": ["Orgs Inventory"]}}, "paths": {"create_ha_cluster": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create HA Cluster from unassigned Gateways", "operationId": "createOrgGatewayHaCluster", "tags": ["Orgs Devices - WAN Cluster"]}}}, "delete_ha_cluster": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Delete HA Cluster\n\nAfter HA cluster deleted, both of the nodes will be unassigned.", "operationId": "deleteOrgGatewayHaCluster", "tags": ["Orgs Devices - WAN Cluster"]}}}, "reevaluate_auto_assignment": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Reevaluate Auto Assignment", "operationId": "reevaluateOrgAutoAssignment", "tags": ["Orgs Inventory"]}}}, "replace": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "It\u2019s a common request we get from the customers. When a AP HW has problem and need a replacement, they would want to copy the existing attributes (Device Config) of this old AP to the new one. It can be done by providing the MAC of a device that\u2019s currently in the inventory but not assigned. The Device replaced will become unassigned.\n\nThis API also supports replacement of Mist Edges. This API copies device agnostic attributes from old Mist edge to new one.\nMist manufactured Mist Edges will be reset to factory settings but will still be in Inventory.Brownfield or VM\u2019s will be\ndeleted from Inventory\n\n**Note:** For Gateway devices only like-for-like replacements (can only replace a SRX320 with a SRX320 and not some otehr model) are allowed.", "operationId": "replaceOrgDevices", "tags": ["Orgs Inventory"]}}}}}, "invites": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "If the request is successful, an email will also be sent to the user with a link to ```https://manage.mist.com/verify/invite?token=:token&expire=1459632743&org=OrgName```", "operationId": "inviteOrgAdmin", "tags": ["Orgs Admins"]}}, "paths": {"{invite_id}": {"specs": {"delete": {"description": "Delete Admin Invite", "operationId": "uninviteOrgAdmin", "tags": ["Orgs Admins"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/invite_id"}], "put": {"description": "Update Admin Invite", "operationId": "updateOrgAdminInvite", "tags": ["Orgs Admins"]}}}}}, "jsi": {"paths": {"devices": {"specs": {"get": {"description": "Get List of Org devices that connected to JSI", "operationId": "listOrgJsiDevices", "parameters": [{"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}, {"description": "Device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "Device serial", "in": "query", "name": "serial", "schema": {"type": "string"}}, {"description": "Device MAC Address", "in": "query", "name": "mac", "schema": {"type": "string"}}], "tags": ["Orgs JSI"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"outbound_ssh_cmd": {"specs": {"get": {"description": "Adopt JSI devices", "operationId": "adoptOrgJsiDevice", "tags": ["Orgs JSI"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "{device_mac}": {"paths": {"shell": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/device_mac"}], "post": {"description": "Create Shell Session", "operationId": "createOrgJsiDeviceShellSession", "tags": ["Orgs JSI"]}}}, "upgrade": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/device_mac"}], "post": {"description": "Upgrade", "operationId": "upgradeOrgJsiDevice", "tags": ["Utilities Upgrade"]}}}}}}}, "inventory": {"specs": {"get": {"description": "Get List of all devices purchased from the accounts associated with the Org", "operationId": "listOrgJsiPastPurchases", "parameters": [{"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}, {"in": "query", "name": "model", "schema": {"type": "string"}}, {"in": "query", "name": "serial", "schema": {"type": "string"}}], "tags": ["Orgs JSI"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "licenses": {"specs": {"get": {"description": "Get the list of licenses", "operationId": "getOrgLicencesSummary", "tags": ["Orgs Licenses"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "put": {"description": "Move, Undo Move or Delete Org License to Another Org\nIf the admin has admin privilege against the `org_id` and `dst_org_id`, he can move some of the licenses to another Org. Given that: \n1. the specified license is currently active \n2. there\u2019s enough licenses left in the specified license (by subscription_id) \n3. there will still be enough entitled licenses for the type of license after the amendment", "operationId": "moveOrDeleteOrgLicenseToAnotherOrg", "tags": ["Orgs Licenses"]}}, "paths": {"usages": {"specs": {"get": {"description": "Get Licenses Usage by Sites\nThis shows license usage (i.e. needed) based on the features enabled for the site.", "operationId": "getOrgLicencesBySite", "tags": ["Orgs Licenses"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "logs": {"specs": {"get": {"description": "Get List of change logs for the current Org", "operationId": "listOrgAuditLogs", "parameters": [{"description": "site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "admin name or email", "in": "query", "name": "admin_name", "schema": {"type": "string"}}, {"description": "message", "in": "query", "name": "message", "schema": {"type": "string"}}, {"description": "sort order", "in": "query", "name": "sort", "schema": {"$ref": "#/components/schemas/list_org_logs_sort"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Logs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Audit Logs", "operationId": "countOrgAuditLogs", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_logs_count_distinct"}}, {"in": "query", "name": "admin_id", "schema": {"type": "string"}}, {"in": "query", "name": "admin_name", "schema": {"type": "string"}}, {"in": "query", "name": "site_id", "schema": {"type": "string"}}, {"in": "query", "name": "message", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Logs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "maps": {"paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Import data from files is a multipart POST which has a file, an optional json, and an optional csv, to create floorplan, assign matching inventory to specific site, place ap if name or mac matches\n\n### CSV File Format\n```csv\nVendor AP name,Mist AP Mac\nUS Office AP-2 - 5c:5b:35:00:00:02,5c5b35000002\n```", "operationId": "importOrgMaps", "tags": ["Orgs Maps"]}}}}}, "marvisinvites": {"specs": {"get": {"description": "List Org Marvis Client Invites", "operationId": "listOrgMarvisClientInvites", "tags": ["Orgs Clients - Marvis"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Marvis Client Invites", "operationId": "createOrgMarvisClientInvites", "tags": ["Orgs Clients - Marvis"]}}, "paths": {"{marvisinvite_id}": {"specs": {"delete": {"description": "Delete Org Marvis Client Invite", "operationId": "deleteOrgMarvisClientInvite", "tags": ["Orgs Clients - Marvis"]}, "get": {"description": "Get Org Marvis Client Invite", "operationId": "getOrgMarvisClientInvites", "tags": ["Orgs Clients - Marvis"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/marvisinvite_id"}], "put": {"description": "Update Org Marvis Client Invite", "operationId": "updateOrgMarvisClientInvite", "tags": ["Orgs Clients - Marvis"]}}}}}, "mist_nac": {"paths": {"test_idp": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "IDP Credential Validation. The output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, `session` is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n``` json\n{\n \"subscribe\": \"orgs/:org_id/mist_nac/test_idp\"\n}\n\n ```\n\n### Response (no idp can be found)\n\n``` json\n{\n \"event\": \"data\",\n \"channel\": \"/orgs/:org_id/mist_nac/test_idp\",\n \"status\": \n \"data\": {\n \"status\": \"failure\",\n \"error\": \"No matching IDP found\"\n }\n}\n\n ```\n\n### Response OK\n\n``` json\n{\n \"event\": \"data\",\n \"channel\": \"/orgs/:org_id/mist_nac/test_idp\",\n \"status\": \n \"data\": {\n \"status\": \"success\",\n \"idp_id\": \"915793c0-1355-4e98-b1c0-23df2227b357\",\n \"idp_type\": \"ldap\",\n // more attributes will be added later\n }\n}\n\n ```\n\n### Response Invalid Credentials\n\n``` json\n{\n \"event\": \"data\",\n \"channel\": \"/orgs/:org_id/mist_nac/test_idp\",\n \"status\": \n \"data\": {\n \"status\": \"failure\",\n \"error\": \"Invalid Credentials\",\n \"idp_id\": \"915793c0-1355-4e98-b1c0-23df2227b357\",\n \"idp_type\": \"ldap\",\n }\n}\n\n ```", "operationId": "validateOrgIdpCredential", "tags": ["Orgs NAC IDP"]}}}}}, "mxclusters": {"specs": {"get": {"description": "Get List of Org MxEdge Clusters", "operationId": "listOrgMxEdgeClusters", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs MxClusters"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create MxCluster", "operationId": "createOrgMxEdgeCluster", "tags": ["Orgs MxClusters"]}}, "paths": {"{mxcluster_id}": {"specs": {"delete": {"description": "Delete Org MXEdge Cluster", "operationId": "deleteOrgMxEdgeCluster", "tags": ["Orgs MxClusters"]}, "get": {"description": "Get Org MxEdge Cluster Details", "operationId": "getOrgMxEdgeCluster", "tags": ["Orgs MxClusters"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxcluster_id"}], "put": {"description": "Update Org MxEdge Cluster", "operationId": "updateOrgMxEdgeCluster", "tags": ["Orgs MxClusters"]}}}}}, "mxedges": {"specs": {"get": {"description": "Get List of Org MxEdges", "operationId": "listOrgMxEdges", "parameters": [{"description": "filter for site level mist edges", "in": "query", "name": "for_sites", "schema": {"$ref": "#/components/schemas/mxedge_for_site"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create MxEdge", "operationId": "createOrgMxEdge", "tags": ["Orgs MxEdges"]}}, "paths": {"assign": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Assign Org MxEdge to Site", "operationId": "assignOrgMxEdgeToSite", "tags": ["Orgs MxEdges"]}}}, "claim": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "For a Mist Edge in default state, it will show a random claim code like `135-546-673` which you can \u201cclaim\u201d it into your Org", "operationId": "claimOrgMxEdge", "tags": ["Orgs MxEdges"]}}}, "count": {"specs": {"get": {"description": "Count Org Mist Edges", "operationId": "countOrgMxEdges", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_mxedge_count_distinct"}}, {"description": "mist edge id", "in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"description": "mist edge site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "mist edge cluster id", "in": "query", "name": "mxcluster_id", "schema": {"type": "string"}}, {"description": "model name", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "debian code name(buster, bullseye)", "in": "query", "name": "distro", "schema": {"type": "string"}}, {"description": "tunterm version", "in": "query", "name": "tunterm_version", "schema": {"type": "string"}}, {"description": "sort options, -prefix represents DESC order, default is -last_seen", "in": "query", "name": "sort", "schema": {"type": "string"}}, {"description": "whether to return device stats, default is false", "in": "query", "name": "stats", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "events": {"paths": {"count": {"specs": {"get": {"description": "Count Org Mist Edge Events", "operationId": "countOrgSiteMxEdgeEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_mxedge_events_count_distinct"}}, {"description": "mist edge id", "in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"description": "mist edge cluster id", "in": "query", "name": "mxcluster_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/mxedge_event_type"}, {"description": "service running on mist edge(mxagent, tunterm etc)", "in": "query", "name": "service", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org Mist Edge Events", "operationId": "searchOrgMistEdgeEvents", "parameters": [{"description": "mist edge id", "in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"description": "mist edge cluster id", "in": "query", "name": "mxcluster_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/mxedge_event_type"}, {"description": "service running on mist edge(mxagent, tunterm etc)", "in": "query", "name": "service", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "search": {"specs": {"get": {"description": "Search Org Mist Edges", "operationId": "searchOrgMxEdges", "parameters": [{"description": "mist edge id", "in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"description": "mist edge site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "mist edge cluster id", "in": "query", "name": "mxcluster_id", "schema": {"type": "string"}}, {"description": "model name", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "debian code name(buster, bullseye)", "in": "query", "name": "distro", "schema": {"type": "string"}}, {"description": "tunterm version", "in": "query", "name": "tunterm_version", "schema": {"type": "string"}}, {"description": "sort options, -prefix represents DESC order, default is -last_seen", "in": "query", "name": "sort", "schema": {"type": "string"}}, {"description": "whether to return device stats, default is false", "in": "query", "name": "stats", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "unassign": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Unassign Org MxEdge from Site", "operationId": "unassignOrgMxEdgeFromSite", "tags": ["Orgs MxEdges"]}}}, "upgrade": {"specs": {"get": {"description": "Get List of Org Mist Edge Upgrades", "operationId": "listOrgMxEdgeUpgrades", "tags": ["Utilities Upgrade"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Upgrade Mist Edges", "operationId": "upgradeOrgMxEdges", "tags": ["Utilities Upgrade"]}}, "paths": {"{upgrade_id}": {"specs": {"get": {"description": "Get Mist Edge Upgrade", "operationId": "getOrgMxEdgeUpgrade", "tags": ["Utilities Upgrade"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/upgrade_id"}]}}}}, "version": {"specs": {"get": {"description": "Get Mist Edge Upgrade Information", "operationId": "getOrgMxEdgeUpgradeInfo", "parameters": [{"description": "upgrade channel to follow, stable (default) / beta / alpha", "in": "query", "name": "channel", "schema": {"$ref": "#/components/schemas/get_org_mxedge_upgrade_info_channel"}}], "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "{mxedge_id}": {"specs": {"delete": {"description": "Delete Org MxEdge", "operationId": "deleteOrgMxEdge", "tags": ["Orgs MxEdges"]}, "get": {"description": "Get Org MxEdge details", "operationId": "getOrgMxEdge", "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxedge_id"}], "put": {"description": "Update Org MxEdge", "operationId": "updateOrgMxEdge", "tags": ["Orgs MxEdges"]}}, "paths": {"image": {"paths": {"{image_number}": {"specs": {"delete": {"description": "Remove MxEdge Image", "operationId": "deleteOrgMxEdgeImage", "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxedge_id"}, {"in": "path", "name": "image_number", "required": true, "schema": {"maximum": 3, "minimum": 1, "type": "integer"}}], "post": {"description": "Attach up to 3 images to a mxedge", "operationId": "addOrgMxEdgeImage", "tags": ["Orgs MxEdges"]}}}}}, "restart": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxedge_id"}], "post": {"description": "In the case where a Mist Edge is replaced, you would need to unregister it. Which disconnects the currently the connected Mist Edge and allow another to register.", "operationId": "restartOrgMxEdge", "tags": ["Orgs MxEdges"]}}}, "services": {"paths": {"tunterm": {"paths": {"bounce_port": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxedge_id"}], "post": {"description": "Bounce TunTerm Data Ports", "operationId": "bounceOrgMxEdgeDataPorts", "parameters": [], "tags": ["Orgs MxEdges"]}}}}}, "{name}": {"paths": {"{action}": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxedge_id"}, {"in": "path", "name": "name", "required": true, "schema": {"$ref": "#/components/schemas/mxedge_service_name"}}, {"description": "restart or start or stop", "in": "path", "name": "action", "required": true, "schema": {"$ref": "#/components/schemas/mxedge_service_action"}}], "post": {"description": "Control Services on a Mist Edge", "operationId": "controlOrgMxEdgeServices", "tags": ["Orgs MxEdges"]}}}}}}}, "support": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxedge_id"}], "post": {"description": "Support / Upload Mist Edge support files", "operationId": "uploadOrgMxEdgeSupportFiles", "tags": ["Orgs MxEdges"]}}}, "unregister": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxedge_id"}], "post": {"description": "In the case where a Mist Edge is replaced, you would need to unregister it. Which disconnects the currently the connected Mist Edge and allow another to register.", "operationId": "unregisterOrgMxEdge", "tags": ["Orgs MxEdges"]}}}}}}}, "mxtunnels": {"specs": {"get": {"description": "Get List of Org MxTunnels", "operationId": "listOrgMxTunnels", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs MxTunnels"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create MxTunnel", "operationId": "createOrgMxTunnel", "tags": ["Orgs MxTunnels"]}}, "paths": {"{mxtunnel_id}": {"specs": {"delete": {"description": "Delete Org MxTunnel", "operationId": "deleteOrgMxTunnel", "tags": ["Orgs MxTunnels"]}, "get": {"description": "Get Org MxTunnel Details", "operationId": "getOrgMxTunnel", "tags": ["Orgs MxTunnels"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxtunnel_id"}], "put": {"description": "Update Org MxTunnel", "operationId": "updateOrgMxTunnel", "tags": ["Orgs MxTunnels"]}}}}}, "nac_clients": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of NAC Clients", "operationId": "countOrgNacClients", "parameters": [{"description": "NAC Policy Rule ID, if matched", "in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_nac_clients_count_distinct"}}, {"description": "NAC Policy Rule ID, if matched", "in": "query", "name": "last_nacrule_id", "schema": {"type": "string"}}, {"description": "NAC Policy Rule Matched", "in": "query", "name": "nacrule_matched", "schema": {"type": "boolean"}}, {"description": "authentication type, e.g. \u201ceap-tls\u201d, \u201ceap-ttls\u201d, \u201ceap-teap\u201d, \u201cmab\u201d, \u201cdevice-auth\u201d", "in": "query", "name": "auth_type", "schema": {"type": "string"}}, {"description": "Vlan ID", "in": "query", "name": "last_vlan_id", "schema": {"type": "string"}}, {"description": "vendor of NAS device", "in": "query", "name": "last_nas_vendor", "schema": {"type": "string"}}, {"description": "SSO ID, if present and used", "in": "query", "name": "idp_id", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "last_ssid", "schema": {"type": "string"}}, {"description": "Username presented by the client", "in": "query", "name": "last_username", "schema": {"type": "string"}}, {"description": "start time, in epoch", "in": "query", "name": "timestamp", "schema": {"type": "number"}}, {"description": "site id if assigned, null if not assigned", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "AP MAC connected to by client", "in": "query", "name": "last_ap", "schema": {"type": "string"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Connection status of client i.e \u201cpermitted\u201d, \u201cdenied, \u201csession_ended\u201d", "in": "query", "name": "last_status", "schema": {"type": "string"}}, {"description": "Client type i.e. \u201cwireless\u201d, \u201cwired\u201d etc.", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "MDM compliancy of client i.e \u201ccompliant\u201d, \u201cnot compliant\u201d", "in": "query", "name": "mdm_compliance_status", "schema": {"type": "string"}}, {"description": "MDM provider of client\u2019s organisation eg \u201cintune\u201d, \u201cjamf\u201d", "in": "query", "name": "mdm_provider", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Clients - NAC"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "events": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of NAC Client-Events", "operationId": "countOrgNacClientEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_nac_client_events_count_distinct"}}, {"$ref": "#/components/parameters/nac_event_type"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Clients - NAC"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search NAC Client Events", "operationId": "searchOrgNacClientEvents", "parameters": [{"$ref": "#/components/parameters/nac_event_type"}, {"description": "NAC Policy Rule ID, if matched", "in": "query", "name": "nacrule_id", "schema": {"format": "uuid", "type": "string"}}, {"description": "NAC Policy Rule Matched", "in": "query", "name": "nacrule_matched", "schema": {"type": "boolean"}}, {"description": "NAC Policy Dry Run Rule ID, if present and matched", "in": "query", "name": "dryrun_nacrule_id", "schema": {"type": "string"}}, {"description": "True - if dryrun rule present and matched with priority, False - if not matched or not present", "in": "query", "name": "dryrun_nacrule_matched", "schema": {"type": "boolean"}}, {"description": "authentication type, e.g. \u201c802.1X\u201d, \u201cMAB\u201d, \u201cDeviceAuth\u201d", "in": "query", "name": "auth_type", "schema": {"type": "string"}}, {"description": "Vlan name or ID assigned to the client", "in": "query", "name": "vlan", "schema": {"type": "integer"}}, {"description": "vendor of NAS device", "in": "query", "name": "nas_vendor", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "bssid", "schema": {"type": "string"}}, {"description": "SSO ID, if present and used", "in": "query", "name": "idp_id", "schema": {"format": "uuid", "type": "string"}}, {"description": "IDP returned roles/groups for the user", "in": "query", "name": "idp_role", "schema": {"type": "string"}}, {"description": "Radius attributes returned by NAC to NAS Devive", "in": "query", "name": "resp_attrs", "schema": {"$ref": "#/components/schemas/strings"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "Username presented by the client", "in": "query", "name": "username", "schema": {"type": "string"}}, {"description": "site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "AP random macMAC", "in": "query", "name": "random_mac", "schema": {"type": "boolean"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "start time, in epoch", "in": "query", "name": "timestamp", "schema": {"type": "number"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Clients - NAC"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "search": {"specs": {"get": {"description": "Search Org NAC Clients", "operationId": "searchOrgNacClients", "parameters": [{"description": "NAC Policy Rule ID, if matched", "in": "query", "name": "nacrule_id", "schema": {"type": "string"}}, {"description": "NAC Policy Rule Matched", "in": "query", "name": "nacrule_matched", "schema": {"type": "boolean"}}, {"description": "authentication type, e.g. \u201ceap-tls\u201d, \u201ceap-ttls\u201d, \u201ceap-teap\u201d, \u201cmab\u201d, \u201cdevice-auth\u201d", "in": "query", "name": "auth_type", "schema": {"type": "string"}}, {"description": "Vlan name or ID assigned to the client", "in": "query", "name": "vlan", "schema": {"type": "string"}}, {"description": "vendor of NAS device", "in": "query", "name": "nas_vendor", "schema": {"type": "string"}}, {"description": "SSO ID, if present and used", "in": "query", "name": "idp_id", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "Username presented by the client", "in": "query", "name": "username", "schema": {"type": "string"}}, {"description": "start time, in epoch", "in": "query", "name": "timestamp", "schema": {"type": "number"}}, {"description": "site id if assigned, null if not assigned", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "AP MAC connected to by client", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Connection status of client i.e \u201cpermitted\u201d, \u201cdenied, \u201csession_ended\u201d", "in": "query", "name": "status", "schema": {"type": "string"}}, {"description": "Client type i.e. \u201cwireless\u201d, \u201cwired\u201d etc.", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "MDM compliancy of client i.e \u201ccompliant\u201d, \u201cnot compliant\u201d", "in": "query", "name": "mdm_compliance", "schema": {"type": "string"}}, {"description": "MDM provider of client\u2019s organisation eg \u201cintune\u201d, \u201cjamf\u201d", "in": "query", "name": "mdm_provider", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Clients - NAC"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "nacportals": {"specs": {"get": {"description": "List Org NAC Portals", "operationId": "listOrgNacPortals", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs NAC Portals"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org NAC Portal", "operationId": "createOrgNacPortal", "tags": ["Orgs NAC Portals"]}}, "paths": {"{nacportal_id}": {"specs": {"delete": {"description": "Delete Org NAC Portal", "operationId": "deleteOrgNacPortal", "tags": ["Orgs NAC Portals"]}, "get": {"description": "Get Org NAC Portal", "operationId": "getOrgNacPortal", "tags": ["Orgs NAC Portals"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/nacportal_id"}], "put": {"description": "Update Org NAC Portal", "operationId": "updateOrgNacPortal", "tags": ["Orgs NAC Portals"]}}, "paths": {"failures": {"specs": {"get": {"description": "Get List of Org NAC Portal SSO Latest Failures", "operationId": "listOrgNacPortalSsoLatestFailures", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs NAC Portals"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/nacportal_id"}]}}, "saml_metadata": {"specs": {"get": {"description": "Get Org NAC Portal SSO SAML Metadata", "operationId": "getOrgNacPortalSsoSamlMetadata", "tags": ["Orgs NAC Portals"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/nacportal_id"}]}}, "saml_metadata.xml": {"specs": {"get": {"description": "Download Org NAC Portal SSO SAML Metdata\n\nExample of metadata.xml:\n```xml\n\n \n \n urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n \n \n Mist\n \n \n \n \n \n\n```", "operationId": "downloadOrgNacPortalSsoSamlMetadata", "tags": ["Orgs NAC Portals"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/nacportal_id"}]}}}}}}, "nacrules": {"specs": {"get": {"description": "Get List of Org NAC Rules", "operationId": "listOrgNacRules", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs NAC Rules"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "create Org NAC Rule", "operationId": "createOrgNacRule", "tags": ["Orgs NAC Rules"]}}, "paths": {"{nacrule_id}": {"specs": {"delete": {"description": "Delete Org NAC Rule", "operationId": "deleteOrgNacRule", "tags": ["Orgs NAC Rules"]}, "get": {"description": "Get Org NAC Rule", "operationId": "getOrgNacRule", "tags": ["Orgs NAC Rules"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/nacrule_id"}], "put": {"description": "Update Org NAC Rule", "operationId": "updateOrgNacRule", "tags": ["Orgs NAC Rules"]}}}}}, "nactags": {"specs": {"get": {"description": "Get List of Org NAC Tags", "operationId": "listOrgNacTags", "parameters": [{"description": "Type of NAC Tag", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "Name of NAC Tag", "in": "query", "name": "name", "schema": {"type": "string"}}, {"description": "Type of NAC Tag", "in": "query", "name": "match", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs NAC Tags"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org NAC Tag", "operationId": "createOrgNacTag", "tags": ["Orgs NAC Tags"]}}, "paths": {"{nactag_id}": {"specs": {"delete": {"description": "Delete Org NAC Tag", "operationId": "deleteOrgNacTag", "tags": ["Orgs NAC Tags"]}, "get": {"description": "Get Org NAC Tag", "operationId": "getOrgNacTag", "tags": ["Orgs NAC Tags"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/nactag_id"}], "put": {"description": "Update Org NAC Tag", "operationId": "updateOrgNacTag", "tags": ["Orgs NAC Tags"]}}}}}, "networks": {"specs": {"get": {"description": "Get List of Org Networks", "operationId": "listOrgNetworks", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Networks"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Organization Network", "operationId": "createOrgNetwork", "tags": ["Orgs Networks"]}}, "paths": {"{network_id}": {"specs": {"delete": {"description": "Delete Organization Network", "operationId": "deleteOrgNetwork", "tags": ["Orgs Networks"]}, "get": {"description": "Get Organization Network Details", "operationId": "getOrgNetwork", "tags": ["Orgs Networks"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/network_id"}], "put": {"description": "Update Organization Network", "operationId": "updateOrgNetwork", "tags": ["Orgs Networks"]}}}}}, "networktemplates": {"specs": {"get": {"description": "Get List of Org Network Templates", "operationId": "listOrgNetworkTemplates", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Network Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Update Org Network Templates", "operationId": "createOrgNetworkTemplate", "tags": ["Orgs Network Templates"]}}, "paths": {"{networktemplate_id}": {"specs": {"delete": {"description": "Delete Org Network Template", "operationId": "deleteOrgNetworkTemplate", "tags": ["Orgs Network Templates"]}, "get": {"description": "Get Org Network Templates Details", "operationId": "getOrgNetworkTemplate", "tags": ["Orgs Network Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/networktemplate_id"}], "put": {"description": "Update Org Network Template", "operationId": "updateOrgNetworkTemplates", "parameters": [], "tags": ["Orgs Network Templates"]}}}}}, "ocdevices": {"paths": {"outbound_ssh_cmd": {"specs": {"get": {"description": "Get Org Juniper Devices command\n\nJuniper devices can be managed/adopted by Mist. Currently outbound-ssh + netconf is used.\nA few lines of CLI commands are generated per-Org, allowing the Juniper devices to phone home to Mist.", "operationId": "getOrgJuniperDevicesCommand", "parameters": [{"description": "site_id would be used for proxy config check of the site and automatic site assignment", "in": "query", "name": "site_id", "schema": {"type": "string"}}], "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "otherdevices": {"specs": {"get": {"description": "Get List of Org other devices (3rd party devices)", "operationId": "listOrgOtherDevices", "parameters": [{"in": "query", "name": "vendor", "schema": {"type": "string"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}, {"in": "query", "name": "serial", "schema": {"type": "string"}}, {"in": "query", "name": "model", "schema": {"type": "string"}}, {"in": "query", "name": "name", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Devices - Others"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "put": {"description": "Assign or unassign OtherDevices to and from a site.", "operationId": "updateOrgOtherDevices", "tags": ["Orgs Devices - Others"]}}, "paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count Org OtherDevices Events", "operationId": "countOrgOtherDeviceEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_otherdevices_events_count_distinct"}}, {"$ref": "#/components/parameters/otherdevice_event_type"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Devices - Others"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org OtherDevices Events", "operationId": "searchOrgOtherDeviceEvents", "parameters": [{"description": "site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "mac of attached device", "in": "query", "name": "device_mac", "schema": {"type": "string"}}, {"description": "device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "vendor name", "in": "query", "name": "vendor", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/otherdevice_event_type"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Devices - Others"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "{device_mac}": {"specs": {"delete": {"description": "Delete OtherDevice", "operationId": "deleteOrgOtherDevice", "tags": ["Orgs Devices - Others"]}, "get": {"description": "Get Org other device (3rd party device)", "operationId": "getOrgOtherDevice", "tags": ["Orgs Devices - Others"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/device_mac"}], "put": {"description": "If the Site / Device cannot be identified, a manual association can be made", "operationId": "updateOrgOtherDevice", "tags": ["Orgs Devices - Others"]}}, "paths": {"reboot": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/device_mac"}], "post": {"description": "Reboot OtherDevice", "operationId": "rebootOrgOtherDevice", "tags": ["Orgs Devices - Others"]}}}}}}}, "pcaps": {"specs": {"get": {"description": "Get List of Org Packet Captures", "operationId": "listOrgPacketCaptures", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Utilities PCAPs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"capture": {"specs": {"delete": {"description": "Stop current Org capture", "operationId": "stopOrgPacketCapture", "tags": ["Utilities PCAPs"]}, "get": {"description": "Get Org Capturing status", "operationId": "getOrgCapturingStatus", "tags": ["Utilities PCAPs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Initiate a Packet Capture\n\nThe output will be available through websocket. As there can be multiple command issued against the same AP at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n subscribe: \"/sites/{site_id}/pcaps\"\n}\n```\n#### Response (Wireless/RadioTap)\n```json\n{\n \"event\": \"data\"\n \"channel\": \"/orgs/67970e46-4e12-11e6-9188-0242ac110007/pcaps\"\n \"data\": {\n \"capture_id\": \"f039b1b4-a23e-48b2-906a-0da40524de73\", \n \"pcap_dict\": {\n \"dst_mac\": \"68:ec:c5:09:2e:87\",\n \"src_mac\": \"8c:3b:ad:e0:47:40\", \n \"vlan\": 1, \n \"src_ip\": \"34.224.147.117\", \n \"dst_ip\": \"192.168.1.55\",\n \"dst_port\": 51635, \n \"src_port\": 443,\n \"protocol\": \"TCP\", \n \"mxedge_id\": \"00000000-0000-0000-1000-001122334455\",\n \"direction\": \"tx\", \n \"timestamp\": 1652247615, \n \"length\": 159.0, \n \"interface\": \"port0\",\n \"info\": \"1652247616.007409 IP ec2-34-224-147-117.compute-1.amazonaws.com.https > ip-192-168-1-55.ec2.internal.51635: Flags [P.], seq \n 2192123968:2192124057, ack 4035166782, win 12, options [nop,nop,TS val 597467050 ecr 740580660], length 89\\\\n\",\n }, \n \"pcap_raw\": \"1MOyoQIABAAAAAAAAAAAAP//AAABAAAAQEx7YhMzAACfAAAAnwAAAGjsxQkuh4w7reBHQIEAAAEIAEUAAI1bLEAAKAZ/CiLgk3XAqAE3AbvJs4KpKEDwg8I+gBgADFf9AAABAQgKI5yfqiwkXTQXAwMAVKY5JopoKQrVEn0/3ld4YntctGEH/rTZuwtCvzSncFw71QJveJi9uxHs57KC8w9Apph3YvXJrmWg7M37+o+YV0KH/xmr626s5Bkhb3QhKOu+NoNEmA==\\\"\n }\n}\n```", "operationId": "startOrgPacketCapture", "tags": ["Utilities PCAPs"]}}}}}, "pma": {"paths": {"dashboards": {"specs": {"get": {"description": "Get List of premium analytics dashboards for this Org", "operationId": "listOrgPmaDashboards", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Premium Analytics"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "pskportals": {"specs": {"get": {"description": "Get List of Org Psk Portals", "operationId": "listOrgPskPortals", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Psk Portals"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Psk Portal", "operationId": "createOrgPskPortal", "tags": ["Orgs Psk Portals"]}}, "paths": {"logs": {"specs": {"get": {"description": "Get the list of PSK Portals Logs", "operationId": "listOrgPskPortalLogs", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Psk Portals"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of PskPortal Logs", "operationId": "countOrgPskPortalLogs", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_psk_portal_logs_count_distinct"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Psk Portals"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org PSK Portal Logs", "operationId": "searchOrgPskPortalLogs", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}, {"in": "query", "name": "psk_name", "schema": {"type": "string"}}, {"in": "query", "name": "psk_id", "schema": {"type": "string"}}, {"in": "query", "name": "pskportal_id", "schema": {"type": "string"}}, {"description": "audit_id", "in": "query", "name": "id", "schema": {"format": "uuid", "type": "string"}}, {"in": "query", "name": "admin_name", "schema": {"type": "string"}}, {"in": "query", "name": "admin_id", "schema": {"type": "string"}}, {"description": "name_id used in SSO", "in": "query", "name": "name_id", "schema": {"format": "uuid", "type": "string"}}], "tags": ["Orgs Psk Portals"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "{pskportal_id}": {"specs": {"delete": {"description": "Delete Org Psk Portal", "operationId": "deleteOrgPskPortal", "tags": ["Orgs Psk Portals"]}, "get": {"description": "get Org Psk Portal Details", "operationId": "getOrgPskPortal", "tags": ["Orgs Psk Portals"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/pskportal_id"}], "put": {"description": "update Org Psk Portal", "operationId": "updateOrgPskPortal", "tags": ["Orgs Psk Portals"]}}, "paths": {"portal_image": {"specs": {"delete": {"description": "Delete background image for PskPortal\n\n\nIf image is not uploaded or is deleted, PskPortal will use default image.", "operationId": "deleteOrgPskPortalImage", "tags": ["Orgs Psk Portals"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/pskportal_id"}], "post": {"description": "Upload background image for PskPortal", "operationId": "uploadOrgPskPortalImage", "tags": ["Orgs Psk Portals"]}}}, "portal_template": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/pskportal_id"}], "put": {"description": "Update Org Psk Portal Template", "operationId": "updateOrgPskPortalTemplate", "tags": ["Orgs Psk Portals"]}}}}}}}, "psks": {"specs": {"get": {"description": "Get List of Org Psks", "operationId": "listOrgPsks", "parameters": [{"example": "psk_name", "in": "query", "name": "name", "schema": {"type": "string"}}, {"in": "query", "name": "ssid", "schema": {"type": "string"}}, {"in": "query", "name": "role", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Psks"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org PSK\n\n\nWhen `usage`==`macs`, corresponding \"macs\" field will hold a list consisting of client mac addresses ([\"xx:xx:xx:xx:xx\",...]) or mac patterns([\"xx:xx:*\",\"xx*\",...]) or both ([\"xx:xx:xx:xx:xx:xx\", \"xx:*\", ...]). This list is capped at 5000", "operationId": "createOrgPsk", "parameters": [{"description": "if a key exists with the same `name`, replace it with the new one", "in": "query", "name": "upsert", "schema": {"type": "boolean"}}], "tags": ["Orgs Psks"]}, "put": {"description": "Update Multiple PSKs", "operationId": "updateOrgMultiplePsks", "tags": ["Orgs Psks"]}}, "paths": {"delete": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Delete Org PSK List\n\nDelete list of psks on the org. This API accepts single string or list of strings", "operationId": "deleteOrgPskList", "tags": ["Orgs Psks"]}}}, "import": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Import PSK from CSV file or JSON\n\n##\u00a0CSV File Format\n```\nPSK Import CSV File Format:\nname,ssid,passphrase,usage,vlan_id,mac,max_usage,role,expire_time,notify_expiry,expiry_notification_time,notify_on_create_or_edit,email\nCommon,warehouse,foryoureyesonly,single,35,a31425f31278,0,student,1618594236\nJustin,reception,visible,multi,1002,200,teacher,1618594236\nCommon2,ssid,1245678-xx,single,35,a31425f31278,0,student,1618594236,true,7,true,admin@test.com\n```", "operationId": "importOrgPsks", "tags": ["Orgs Psks"]}}}, "{psk_id}": {"specs": {"delete": {"description": "Delete Org PSK", "operationId": "deleteOrgPsk", "tags": ["Orgs Psks"]}, "get": {"description": "Get Org PSK Details", "operationId": "getOrgPsk", "tags": ["Orgs Psks"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/psk_id"}], "put": {"description": "Update Org PSK", "operationId": "updateOrgPsk", "tags": ["Orgs Psks"]}}, "paths": {"delete_old_passphrase": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/psk_id"}], "post": {"description": "Delete `old_passphrase` from PSK. \nIf successful, response is same as GET, returns the PSK with `old_passphrase` removed.", "operationId": "deleteOrgPskOldPassphrase", "tags": ["Orgs Psks"]}}}}}}}, "rftemplates": {"specs": {"get": {"description": "Get List of Org RF Template", "operationId": "listOrgRfTemplates", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs RF Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org RF Template", "operationId": "createOrgRfTemplate", "tags": ["Orgs RF Templates"]}}, "paths": {"{rftemplate_id}": {"specs": {"delete": {"description": "Delete Org RF Template", "operationId": "deleteOrgRfTemplate", "tags": ["Orgs RF Templates"]}, "get": {"description": "Get Org RF Template Details", "operationId": "getOrgRfTemplate", "tags": ["Orgs RF Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/rftemplate_id"}], "put": {"description": "Update Org RF Template", "operationId": "updateOrgRfTemplate", "tags": ["Orgs RF Templates"]}}}}}, "sdkclients": {"paths": {"{sdkclient_id}": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sdkclient_id"}], "put": {"description": "Update SDK Client", "operationId": "updateSdkClient", "tags": ["Orgs Clients - SDK"]}}}}}, "sdkinvites": {"specs": {"get": {"description": "Get List of Org SDK Invites", "operationId": "listSdkInvites", "tags": ["Orgs SDK Invites"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create SDK Invite", "operationId": "createSdkInvite", "tags": ["Orgs SDK Invites"]}}, "paths": {"{sdkinvite_id}": {"specs": {"delete": {"description": "Revoke SDK Invite", "operationId": "revokeSdkInvite", "tags": ["Orgs SDK Invites"]}, "get": {"description": "Get SDK Invite Details", "operationId": "getSdkInvite", "tags": ["Orgs SDK Invites"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sdkinvite_id"}], "put": {"description": "Update SDK Invite", "operationId": "updateSdkInvite", "tags": ["Orgs SDK Invites"]}}, "paths": {"email": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sdkinvite_id"}], "post": {"description": "Send SDK Invite by Email", "operationId": "sendSdkInviteEmail", "tags": ["Orgs SDK Invites"]}}}, "qrcode": {"specs": {"get": {"description": "Revoke SDK Invite", "operationId": "getSdkInviteQrCode", "tags": ["Orgs SDK Invites"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sdkinvite_id"}]}}, "sms": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sdkinvite_id"}], "post": {"description": "Send SDK Invite by SMS", "operationId": "sendSdkInviteSms", "tags": ["Orgs SDK Invites"]}}}}}}}, "sdktemplates": {"specs": {"get": {"description": "Get List of Org SDK Templates", "operationId": "listSdkTemplates", "tags": ["Orgs SDK Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create SDK Template", "operationId": "createSdkTemplate", "tags": ["Orgs SDK Templates"]}}, "paths": {"{sdktemplate_id}": {"specs": {"delete": {"description": "Delete SDK Template", "operationId": "deleteSdkTemplate", "tags": ["Orgs SDK Templates"]}, "get": {"description": "Get SDK Template Details", "operationId": "getSdkTemplate", "tags": ["Orgs SDK Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sdktemplate_id"}], "put": {"description": "Update SDK Template", "operationId": "updateSdkTemplate", "tags": ["Orgs SDK Templates"]}}}}}, "secpolicies": {"specs": {"get": {"description": "Get List of Org Security Policies", "operationId": "listOrgSecPolicies", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs SecPolicies"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Security Policy", "operationId": "createOrgSecPolicies", "tags": ["Orgs SecPolicies"]}}, "paths": {"{secpolicy_id}": {"specs": {"delete": {"description": "Delete Org Security Policy", "operationId": "deleteOrgSecPolicy", "tags": ["Orgs SecPolicies"]}, "get": {"description": "Get Org Security Policy", "operationId": "getOrgSecPolicy", "tags": ["Orgs SecPolicies"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/secpolicy_id"}], "put": {"description": "Update Org Security Policy", "operationId": "updateOrgSecPolicies", "tags": ["Orgs SecPolicies"]}}}}}, "servicepolicies": {"specs": {"get": {"description": "Get List of Org Service Policies", "operationId": "listOrgServicePolicies", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Service Policies"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Serrvice Policy", "operationId": "createOrgServicePolicy", "tags": ["Orgs Service Policies"]}}, "paths": {"{servicepolicy_id}": {"specs": {"delete": {"description": "Delete Org Service Policuy", "operationId": "deleteOrgServicePolicy", "tags": ["Orgs Service Policies"]}, "get": {"description": "Get Org Service Policy Details", "operationId": "getOrgServicePolicy", "tags": ["Orgs Service Policies"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/servicepolicy_id"}], "put": {"description": "Update Org Serrvice Policy", "operationId": "updateOrgServicePolicy", "tags": ["Orgs Service Policies"]}}}}}, "services": {"specs": {"get": {"description": "Get List of Org Services", "operationId": "listOrgServices", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Services"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create getOrgServices Service", "operationId": "createOrgService", "tags": ["Orgs Services"]}}, "paths": {"{service_id}": {"specs": {"delete": {"description": "deleteOrgService", "operationId": "deleteOrgService", "tags": ["Orgs Services"]}, "get": {"description": "Get Org Service", "operationId": "getOrgService", "tags": ["Orgs Services"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/service_id"}], "put": {"description": "update Org Service", "operationId": "updateOrgService", "tags": ["Orgs Services"]}}}}}, "setting": {"specs": {"get": {"description": "Get Org Settings", "operationId": "getOrgSettings", "tags": ["Orgs Setting"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "put": {"description": "Update Org Settings", "operationId": "updateOrgSettings", "tags": ["Orgs Setting"]}}, "paths": {"blacklist": {"specs": {"delete": {"description": "Delete Org Blacklist Station Clients", "operationId": "deleteOrgWirelessClientsBlocklist", "tags": ["Orgs Setting"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Blacklist Client List. \n\nIf there is already a blacklist, this API will replace it with the new one. \n\nMax number of blacklist clients is 1000. \n\nRetrieve the current blacklisted clients from `blacklist_url` under Org:Setting\n", "operationId": "createOrgWirelessClientsBlocklist", "tags": ["Orgs Setting"]}}}, "cradlepoint": {"paths": {"setup": {"specs": {"delete": {"description": "This deletes the Cradlepoint integration in Mist", "operationId": "deleteOrgCradlepointConnection", "tags": ["Orgs Cradlepoint"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "This sets up cradlepoint webhooks to send events to Mist", "operationId": "setupOrgCradlepointConnectionToMist", "tags": ["Orgs Cradlepoint"]}, "put": {"description": "This updates the Cradlepoint integration settings in Mist", "operationId": "updateOrgCradlepointConnectionToMist", "tags": ["Orgs Cradlepoint"]}}}, "sync": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "This syncs cradlepoint devices with Mist. We\u2019ll also attempt to use the LLDP data from cradlepoint to identify the linkage against Mist Site / Device", "operationId": "syncOrgCradlepointRouters", "tags": ["Orgs Cradlepoint"]}}}}}, "jse": {"paths": {"info": {"specs": {"get": {"description": "Retrieves the list of JSE orgs associated with the account.", "operationId": "getOrgJseInfo", "tags": ["Orgs JSE"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "setup": {"specs": {"delete": {"description": "Delete JSE credential", "operationId": "deleteOrgJsecCredential", "tags": ["Orgs JSE"]}, "get": {"description": "Get Org JSE Credential", "operationId": "getOrgJsecCredential", "tags": ["Orgs JSE"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "in JSE UI: \n1. Create custom role with Read access to service_location and RW access to site and IPSec profile APIs. \n2. Create a user with the above custom role. - email: john@abc.com \n3. Activate the user in the JSE account. \n4. Create the service locations on the JSE account.", "operationId": "setupOrgJsecCredential", "tags": ["Orgs JSE"]}}}}}, "juniper": {"paths": {"link_accounts": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Link Juniper Accounts", "operationId": "linkOrgToJuniperJuniperAccount", "tags": ["Orgs Linked Applications"]}}}, "unlink_account": {"specs": {"delete": {"description": "Unlink Juniper Customer ID\n`linked_by` field is only required if there are duplicate account_names.", "operationId": "unlinkOrgFromJuniperCustomerId", "tags": ["Orgs Linked Applications"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "mist_nac_crls": {"specs": {"get": {"description": "Returns all uploaded CRL file IDs with names for the orgI", "operationId": "getOrgNacCrl", "tags": ["Orgs NAC CRL"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Import NAC Org CRL file is a multipart POST which has a .crl file to allow user to manually upload a Certificate Revocation List file. We support one file upload per Issuer. Re-uploads for the same issuer will overwrite the existing file.", "operationId": "importOrgNacCrl", "tags": ["Orgs NAC CRL"]}}, "paths": {"{naccrl_id}": {"specs": {"delete": {"description": "Delete NAC Org CRL file is a DELETE request to delete CRL file identified by its ID (ID assigned on file upload/creation)", "operationId": "deleteOrgNacCrl", "tags": ["Orgs NAC CRL"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/naccrl_id"}]}}}}, "pcap_bucket": {"paths": {"setup": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Provide Customer Bucket Name\n\nSetting up Custom PCAP Bucket Involves the following:\n* provide the bucket name\n* we\u2019ll attempt to write a file MIST_TOKEN\n* you have to verify the ownership of the bucket by providing the content of the MIST_TOKEN", "operationId": "setOrgCustomBucket", "tags": ["Orgs Setting"]}}}, "verify": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Verify Customer PCAP Bucket\n\n**Note**: If successful, a \u201cVERIFIED\u201d file will be created in the bucket", "operationId": "verifyOrgCustomBucket", "tags": ["Orgs Setting"]}}}}}, "zscaler": {"paths": {"setup": {"specs": {"delete": {"description": "To delete Zscaler credential", "operationId": "deleteOrgZscalerCredential", "tags": ["Orgs Devices Zscaler"]}, "get": {"description": "To get Zscaler credential", "operationId": "getOrgZscalerCredential", "tags": ["Orgs Devices Zscaler"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "To setup Zscaler credential", "operationId": "setupOrgZscalerCredential", "tags": ["Orgs Devices Zscaler"]}}}}}, "{app_name}": {"paths": {"link_accounts": {"specs": {"get": {"description": "Get Org Level OAuth Application Linked Status", "operationId": "getOrgOauthAppLinkedStatus", "parameters": [{"description": "Mist portal url to which backend needs to redirect after succesful OAuth authorization. **Required** to get the `authorization_url`", "in": "query", "name": "forward", "required": true, "schema": {"type": "string"}}], "tags": ["Orgs Linked Applications"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"description": "OAuth application name", "in": "path", "name": "app_name", "required": true, "schema": {"$ref": "#/components/schemas/oauth_app_name"}}], "post": {"description": "Add Jamf, VMware Authorization With Mist Portal", "operationId": "addOrgOauthAppAccounts", "tags": ["Orgs Linked Applications"]}, "put": {"description": "Update Zoom, Teams, Intune Authorization.\n\nRequest Payload, These Field And Values Will Be Specific To Each Of The Third Party Apps Accounts.", "operationId": "updateOrgOauthAppAccounts", "tags": ["Orgs Linked Applications"]}}, "paths": {"{account_id}": {"specs": {"delete": {"description": "Delete Org Level OAuth Application Authorization With Mist Portal", "operationId": "deleteOrgOauthAppAuthorization", "tags": ["Orgs Linked Applications"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"description": "OAuth application name", "in": "path", "name": "app_name", "required": true, "schema": {"$ref": "#/components/schemas/oauth_app_name"}}, {"$ref": "#/components/parameters/account_id"}]}}}}}}}}, "sitegroups": {"specs": {"get": {"description": "Get List of Org Site Groups", "operationId": "listOrgSiteGroups", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Sitegroups"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Site Group", "operationId": "createOrgSiteGroup", "tags": ["Orgs Sitegroups"]}}, "paths": {"{sitegroup_id}": {"specs": {"delete": {"description": "Delete Org Site Group", "operationId": "deleteOrgSiteGroup", "tags": ["Orgs Sitegroups"]}, "get": {"description": "Get Org Site Group", "operationId": "getOrgSiteGroup", "tags": ["Orgs Sitegroups"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sitegroup_id"}], "put": {"description": "Update Org Site Group", "operationId": "updateOrgSiteGroup", "tags": ["Orgs Sitegroups"]}}}}}, "sites": {"specs": {"get": {"description": "Get List of Org Sites", "operationId": "listOrgSites", "parameters": [{"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Sites"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Site", "operationId": "createOrgSite", "tags": ["Orgs Sites"]}}, "paths": {"count": {"specs": {"get": {"description": "Count Sites", "operationId": "countOrgSites", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_sites_count_distinct"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Sites"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Sites", "operationId": "searchOrgSites", "parameters": [{"description": "if Advanced Analytic feature is enabled", "in": "query", "name": "analytic_enabled", "schema": {"type": "boolean"}}, {"description": "if App Waking feature is enabled", "in": "query", "name": "app_waking", "schema": {"type": "boolean"}}, {"description": "if Asset Tracking is enabled", "in": "query", "name": "asset_enabled", "schema": {"type": "boolean"}}, {"description": "if Auto Upgrade feature is enabled", "in": "query", "name": "auto_upgrade_enabled", "schema": {"type": "boolean"}}, {"description": "if Auto Upgrade feature is enabled", "in": "query", "name": "auto_upgrade_version", "schema": {"type": "string"}}, {"description": "site country code", "in": "query", "name": "country_code", "schema": {"type": "string"}}, {"description": "if Honeypot detection is enabled", "in": "query", "name": "honeypot_enabled", "schema": {"type": "boolean"}}, {"description": "site id", "in": "query", "name": "id", "schema": {"type": "string"}}, {"description": "if unconnected client are located", "in": "query", "name": "locate_unconnected", "schema": {"type": "boolean"}}, {"description": "if Mesh feature is enabled", "in": "query", "name": "mesh_enabled", "schema": {"type": "boolean"}}, {"description": "site name", "in": "query", "name": "name", "schema": {"type": "string"}}, {"description": "if Rogue detection is enabled", "in": "query", "name": "rogue_enabled", "schema": {"type": "boolean"}}, {"description": "if Remote Syslog is enabled", "in": "query", "name": "remote_syslog_enabled", "schema": {"type": "boolean"}}, {"description": "if managed mobility feature is enabled", "in": "query", "name": "rtsa_enabled", "schema": {"type": "boolean"}}, {"description": "if Virtual Network Assistant is enabled", "in": "query", "name": "vna_enabled", "schema": {"type": "boolean"}}, {"description": "if WIFI feature is enabled", "in": "query", "name": "wifi_enabled", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Sites"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "{site_name}": {"paths": {"maps": {"paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/site_name"}], "post": {"description": "Import data from files is a multipart POST which has a file, an optional json, and an optional csv, to create floorplan, assign matching inventory to specific site, place ap if name or mac matches\n\n#### Request\n\n```\n\"json\": a JSON string describing your upload\n\"file\": a binary file\n```", "operationId": "importOrgMapToSite", "tags": ["Orgs Maps"]}}}}}}}}}, "sitetemplates": {"specs": {"get": {"description": "Get List of Org Site Templates", "operationId": "listOrgSiteTemplates", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Site Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Site Template", "operationId": "createOrgSiteTemplates", "tags": ["Orgs Site Templates"]}}, "paths": {"{sitetemplate_id}": {"specs": {"delete": {"description": "Delete Org Site Template", "operationId": "deleteOrgSiteTemplate", "tags": ["Orgs Site Templates"]}, "get": {"description": "Get Org Site Template", "operationId": "getOrgSiteTemplate", "tags": ["Orgs Site Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sitetemplate_id"}], "put": {"description": "Update Org Site Template", "operationId": "updateOrgSiteTemplate", "tags": ["Orgs Site Templates"]}}}}}, "ssoroles": {"specs": {"get": {"description": "Get List of Org SSO Roles", "operationId": "listOrgSsoRoles", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs SSO Roles"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org SSO Role", "operationId": "createOrgSsoRole", "tags": ["Orgs SSO Roles"]}}, "paths": {"{ssorole_id}": {"specs": {"delete": {"description": "Delete Org SSO Role", "operationId": "deleteOrgSsoRole", "tags": ["Orgs SSO Roles"]}, "get": {"description": "Get Org SSO Role Details", "operationId": "getOrgSsoRole", "tags": ["Orgs SSO Roles"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/ssorole_id"}], "put": {"description": "Update Org SSO Role", "operationId": "updateOrgSsoRole", "tags": ["Orgs SSO Roles"]}}}}}, "ssos": {"specs": {"get": {"description": "Get List of Org SSO Configuration", "operationId": "listOrgSsos", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs SSO"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org SSO Configuration", "operationId": "createOrgSso", "tags": ["Orgs SSO"]}}, "paths": {"{sso_id}": {"specs": {"delete": {"description": "Delete Org SSO Configuration", "operationId": "deleteOrgSso", "tags": ["Orgs SSO"]}, "get": {"description": "Get Org SSO Configuration Details", "operationId": "getOrgSso", "tags": ["Orgs SSO"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sso_id"}], "put": {"description": "Update Org SSO Configuration", "operationId": "updateOrgSso", "tags": ["Orgs SSO"]}}, "paths": {"failures": {"specs": {"get": {"description": "Get List of Org SSO Latest Failures", "operationId": "listOrgSsoLatestFailures", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs SSO"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sso_id"}]}}, "metadata": {"specs": {"get": {"description": "Get Org SSO SAML Metadata", "operationId": "getOrgSsoSamlMetadata", "tags": ["Orgs SSO"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sso_id"}]}}, "metadata.xml": {"specs": {"get": {"description": "Download Org SSO SAML Metdata\n\nExample of metadata.xml:\n```xml\n\n \n \n urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n \n \n Mist\n \n \n \n \n \n\n```", "operationId": "downloadOrgSsoSamlMetadata", "tags": ["Orgs SSO"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sso_id"}]}}}}}}, "ssr": {"paths": {"upgrade": {"specs": {"get": {"description": "Get List of Org SSR Upgrades", "operationId": "listOrgSsrUpgrades", "tags": ["Utilities Upgrade"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Upgrade Org SSRs", "operationId": "upgradeOrgSsrs", "tags": ["Utilities Upgrade"]}}, "paths": {"{upgrade_id}": {"paths": {"cancel": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/upgrade_id"}], "post": {"description": "Best effort to cancel an upgrade. Devices which are already upgraded wont be touched\u21b5\n", "operationId": "cancelOrgSsrUpgrade", "tags": ["Utilities Upgrade"]}}}}}}}, "versions": {"specs": {"get": {"description": "Get available version for SSR", "operationId": "listOrgAvailableSsrVersions", "parameters": [{"in": "query", "name": "channel", "schema": {"type": "string"}}], "tags": ["Utilities Upgrade"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "stats": {"specs": {"get": {"description": "Get Org Stats", "operationId": "getOrgStats", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"assets": {"specs": {"get": {"description": "Get List of Org Assets Stats", "operationId": "listOrgAssetsStats", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Assets"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"count": {"specs": {"get": {"description": "Count Org Assets", "operationId": "countOrgAssetsByDistanceField", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_asset_count_distinct"}}], "tags": ["Orgs Assets"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search for Org Assets", "operationId": "searchOrgAssets", "parameters": [{"in": "query", "name": "site_id", "schema": {"type": "string"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}, {"in": "query", "name": "device_name", "schema": {"type": "string"}}, {"in": "query", "name": "name", "schema": {"type": "string"}}, {"in": "query", "name": "map_id", "schema": {"type": "string"}}, {"in": "query", "name": "ibeacon_uuid", "schema": {"type": "string"}}, {"in": "query", "name": "ibeacon_major", "schema": {"type": "string"}}, {"in": "query", "name": "ibeacon_minor", "schema": {"type": "string"}}, {"in": "query", "name": "eddystone_uid_namespace", "schema": {"type": "string"}}, {"in": "query", "name": "eddystone_uid_instance", "schema": {"type": "string"}}, {"in": "query", "name": "eddystone_url", "schema": {"type": "string"}}, {"in": "query", "name": "ap_mac", "schema": {"type": "string"}}, {"in": "query", "name": "beam", "schema": {"type": "integer"}}, {"in": "query", "name": "rssi", "schema": {"type": "integer"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Assets"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "bgp_peers": {"paths": {"count": {"specs": {"get": {"description": "Count Org BGP Stats", "operationId": "countOrgBgpStats", "tags": ["Orgs Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org BGP Stats", "operationId": "searchOrgBgpStats", "tags": ["Orgs Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "devices": {"specs": {"get": {"description": "Get List of Org Devices stats\nThis API renders some high-level device stats, pagination is assumed and returned in response header (as the response is an array)", "operationId": "listOrgDevicesStats", "parameters": [{"in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/device_type_with_all"}}, {"in": "query", "name": "status", "schema": {"$ref": "#/components/schemas/device_status"}}, {"in": "query", "name": "site_id", "schema": {"type": "string"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "EVPN Topology ID", "in": "query", "name": "evpntopo_id", "schema": {"type": "string"}}, {"description": "if `evpn_unused`==`true`, find EVPN eligible switches which don\u2019t belong to any EVPN Topology yet", "in": "query", "name": "evpn_unused", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/fields"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "mxedges": {"specs": {"get": {"description": "Get List of Org MxEdge Stats", "operationId": "listOrgMxEdgesStats", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"description": "filter for site level mist edges", "in": "query", "name": "for_site", "schema": {"default": false, "type": "boolean"}}], "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"{mxedge_id}": {"specs": {"get": {"description": "Get Org MxEdge Details Stats", "operationId": "getOrgMxEdgeStats", "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxedge_id"}]}}}}, "otherdevices": {"paths": {"{device_mac}": {"specs": {"get": {"description": "Get Otherdevice Stats", "operationId": "getOrgOtherDeviceStats", "tags": ["Orgs Devices - Others"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/device_mac"}]}}}}, "ports": {"paths": {"search": {"specs": {"get": {"description": "Search Switch / Gateway Ports", "operationId": "searchOrgSwOrGwPorts", "parameters": [{"description": "indicates full or half duplex", "in": "query", "name": "full_duplex", "schema": {"type": "boolean"}}, {"description": "device identifier", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Chassis identifier of the chassis type listed", "in": "query", "name": "neighbor_mac", "schema": {"type": "string"}}, {"description": "Description supplied by the system on the interface E.g. \u201cGigabitEthernet2/0/39\u201d", "in": "query", "name": "neighbor_port_desc", "schema": {"type": "string"}}, {"description": "Name supplied by the system on the interface E.g. neighbor system name E.g. \u201cKumar-Acc-SW.mist.local\u201d", "in": "query", "name": "neighbor_system_name", "schema": {"type": "string"}}, {"description": "is the POE configured not be disabled.", "in": "query", "name": "poe_disabled", "schema": {"type": "boolean"}}, {"description": "poe mode depending on class E.g. \u201c802.3at\u201d", "in": "query", "name": "poe_mode", "schema": {"type": "string"}}, {"description": "is the device attached to POE", "in": "query", "name": "poe_on", "schema": {"type": "boolean"}}, {"description": "interface name", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "interface mac address", "in": "query", "name": "port_mac", "schema": {"type": "string"}}, {"description": "Amount of power being used by the interface at the time the command is executed. Unit in watts.", "in": "query", "name": "power_draw", "schema": {"type": "number"}}, {"description": "Output packets", "in": "query", "name": "tx_pkts", "schema": {"type": "integer"}}, {"description": "Input packets", "in": "query", "name": "rx_pkts", "schema": {"type": "integer"}}, {"description": "Input bytes", "in": "query", "name": "rx_bytes", "schema": {"type": "integer"}}, {"description": "Output rate", "in": "query", "name": "tx_bps", "schema": {"type": "integer"}}, {"description": "Input rate", "in": "query", "name": "rx_bps", "schema": {"type": "integer"}}, {"description": "Output errors", "in": "query", "name": "tx_errors", "schema": {"type": "integer"}}, {"description": "Input errors", "in": "query", "name": "rx_errors", "schema": {"type": "integer"}}, {"description": "Multicast output packets", "in": "query", "name": "tx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast output packets", "in": "query", "name": "tx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "Multicast input packets", "in": "query", "name": "rx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast input packets", "in": "query", "name": "rx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "port speed", "in": "query", "name": "speed", "schema": {"type": "integer"}}, {"description": "Limit on number of dynamically learned macs", "in": "query", "name": "mac_limit", "schema": {"type": "integer"}}, {"description": "Number of mac addresses in the forwarding table", "in": "query", "name": "mac_count", "schema": {"type": "integer"}}, {"description": "indicates if interface is up", "in": "query", "name": "up", "schema": {"type": "boolean"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_state", "schema": {"$ref": "#/components/schemas/search_org_sw_or_gw_ports_stp_state"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_role", "schema": {"$ref": "#/components/schemas/search_org_sw_or_gw_ports_stp_role"}}, {"description": "if `up`==`true` && has Authenticator role", "in": "query", "name": "auth_state", "schema": {"$ref": "#/components/schemas/search_org_sw_or_gw_ports_auth_state"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "switch_ports": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Switch/Gateway Ports", "operationId": "countOrgSwitchPorts", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_switch_port_count_distinct"}}, {"description": "indicates full or half duplex", "in": "query", "name": "full_duplex", "schema": {"type": "boolean"}}, {"description": "device identifier", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Chassis identifier of the chassis type listed", "in": "query", "name": "neighbor_mac", "schema": {"type": "string"}}, {"description": "Description supplied by the system on the interface E.g. \u201cGigabitEthernet2/0/39\u201d", "in": "query", "name": "neighbor_port_desc", "schema": {"type": "string"}}, {"description": "Name supplied by the system on the interface E.g. neighbor system name E.g. \u201cKumar-Acc-SW.mist.local\u201d", "in": "query", "name": "neighbor_system_name", "schema": {"type": "string"}}, {"description": "is the POE configured not be disabled.", "in": "query", "name": "poe_disabled", "schema": {"type": "boolean"}}, {"description": "poe mode depending on class E.g. \u201c802.3at\u201d", "in": "query", "name": "poe_mode", "schema": {"type": "string"}}, {"description": "is the device attached to POE", "in": "query", "name": "poe_on", "schema": {"type": "boolean"}}, {"description": "interface name", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "interface mac address", "in": "query", "name": "port_mac", "schema": {"type": "string"}}, {"description": "Amount of power being used by the interface at the time the command is executed. Unit in watts.", "in": "query", "name": "power_draw", "schema": {"type": "number"}}, {"description": "Output packets", "in": "query", "name": "tx_pkts", "schema": {"type": "integer"}}, {"description": "Input packets", "in": "query", "name": "rx_pkts", "schema": {"type": "integer"}}, {"description": "Input bytes", "in": "query", "name": "rx_bytes", "schema": {"type": "integer"}}, {"description": "Output rate", "in": "query", "name": "tx_bps", "schema": {"type": "integer"}}, {"description": "Input rate", "in": "query", "name": "rx_bps", "schema": {"type": "integer"}}, {"description": "Multicast output packets", "in": "query", "name": "tx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast output packets", "in": "query", "name": "tx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "Multicast input packets", "in": "query", "name": "rx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast input packets", "in": "query", "name": "rx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "port speed", "in": "query", "name": "speed", "schema": {"type": "integer"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_state", "schema": {"$ref": "#/components/schemas/count_org_switch_ports_stp_state"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_role", "schema": {"$ref": "#/components/schemas/count_org_switch_ports_stp_role"}}, {"description": "if `up`==`true`", "in": "query", "name": "auth_state", "schema": {"$ref": "#/components/schemas/count_org_switch_ports_auth_state"}}, {"description": "indicates if interface is up", "in": "query", "name": "up", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "tunnels": {"paths": {"count": {"specs": {"get": {"description": "Count Mist Tunnels Stats", "operationId": "countOrgTunnelsStats", "parameters": [{"description": "- If `type`==`wxtunnel`: wxtunnel_id / ap / remote_ip / remote_port / state / mxedge_id / mxcluster_id / site_id / peer_mxedge_id; default is wxtunnel_id \n- If `type`==`wan`: mac / site_id / node / peer_ip / peer_host/ ip / tunnel_name / protocol / auth_algo / encrypt_algo / ike_version / last_event / up", "in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_tunnel_count_distinct"}}, {"in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/org_tunnel_type_count"}}], "tags": ["Orgs Tunnels"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org Tunnels Stats", "operationId": "searchOrgTunnelsStats", "parameters": [{"description": "if `type`==`wxtunnel`", "in": "query", "name": "mxcluster_id", "schema": {"type": "string"}}, {"in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "if `type`==`wxtunnel`", "in": "query", "name": "wxtunnel_id", "schema": {"type": "string"}}, {"description": "if `type`==`wxtunnel`", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "node", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "peer_ip", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "peer_host", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "ip", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "tunnel_name", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "protocol", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "auth_algo", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "encrypt_algo", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "ike_version", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "up", "schema": {"type": "string"}}, {"in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/tunnel_type"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Tunnels"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "vpn_peers": {"paths": {"count": {"specs": {"get": {"description": "Count Org Peer Path Statgs", "operationId": "countOrgPeerPathStats", "parameters": [{"in": "query", "name": "distinct", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs VPNs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org Peer Path Stats", "operationId": "searchOrgPeerPathStats", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs VPNs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}}}, "subscriptions": {"specs": {"delete": {"description": "Unsubscribe from Org Alarms/Reports\nSubscriptions define how Org Alarms/Reports are delivered to whom", "operationId": "unsubscribeOrgAlarmsReports", "tags": ["Orgs Subscriptions"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Subscribe to Org Alarms/Reports\nSubscriptions define how Org Alarms/Reports are delivered to whom", "operationId": "subscribeOrgAlarmsReports", "tags": ["Orgs Subscriptions"]}}}, "templates": {"specs": {"get": {"description": "Get List of Org WLAN Templates", "operationId": "listOrgTemplates", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs WLAN Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Template", "operationId": "createOrgTemplate", "tags": ["Orgs WLAN Templates"]}}, "paths": {"{template_id}": {"specs": {"delete": {"description": "Delete Org Template", "operationId": "deleteOrgTemplate", "tags": ["Orgs WLAN Templates"]}, "get": {"description": "Get Org Template Details", "operationId": "getOrgTemplate", "tags": ["Orgs WLAN Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/template_id"}], "put": {"description": "Update Org Template", "operationId": "updateOrgTemplate", "tags": ["Orgs WLAN Templates"]}}, "paths": {"clone": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/template_id"}], "post": {"description": "Clone Org Template", "operationId": "cloneOrgTemplate", "tags": ["Orgs WLAN Templates"]}}}}}}}, "tickets": {"specs": {"get": {"description": "Get List of Tickets of an Org", "operationId": "listOrgTickets", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Tickets"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create a support ticket", "operationId": "createOrgTicket", "tags": ["Orgs Tickets"]}}, "paths": {"count": {"specs": {"get": {"description": "Count Org Tickets", "operationId": "countOrgTickets", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_tickets_count_distinct"}}], "tags": ["Orgs Tickets"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "{ticket_id}": {"specs": {"get": {"description": "Get support ticket details", "operationId": "getOrgTicket", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Tickets"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/ticket_id"}], "put": {"description": "Update support ticket", "operationId": "updateOrgTicket", "tags": ["Orgs Tickets"]}}, "paths": {"attachments": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/ticket_id"}], "post": {"description": "Get Org ticket Attachment", "operationId": "UploadrgTicketAttachment", "tags": ["Orgs Tickets"]}}, "paths": {"{attachment_id}": {"specs": {"get": {"description": "Get Org ticket Attachment", "operationId": "GetOrgTicketAttachment", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Tickets"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/ticket_id"}, {"$ref": "#/components/parameters/attachment_id"}]}}}}, "comments": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/ticket_id"}], "post": {"description": "Add Comment to support ticket", "operationId": "addOrgTicketComment", "tags": ["Orgs Tickets"]}}}}}}}, "troubleshoot": {"specs": {"get": {"description": "Troubleshoot sites, devices, clients, and wired clientsfor maximum of last 7 days from current time. See search APIs for device information:\n- [search Device](/#operations/searchOrgDevices)\n- [search Wireless Client](/#operations/searchOrgWirelessClients)\n- [search Wired Client](/#operations/searchOrgWiredClients)\n- [search Wan Client](/#operations/searchOrgWanClients)\n\n**NOTE**: requires Marvis subscription license", "operationId": "troubleshootOrg", "parameters": [{"description": "**required** when troubleshooting device or a client", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "**required** when troubleshooting site", "in": "query", "name": "site_id", "schema": {"format": "uuid", "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"description": "when troubleshooting site, type of network to troubleshoot", "in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/troubleshoot_type"}}], "tags": ["Orgs Marvis"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "usermacs": {"specs": {"get": {"description": "List Org User MACs", "operationId": "listOrgUserMacs", "parameters": [{"in": "query", "name": "blacklisted", "schema": {"type": "boolean"}}, {"in": "query", "name": "for_guest_wifi", "schema": {"type": "boolean"}}, {"in": "query", "name": "cross_site", "schema": {"type": "boolean"}}, {"in": "query", "name": "site_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs User MACs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org User MACs\n\n### Usermacs import CSV file format\nmac,labels,vlan,notes \n921b638445cd,\u201dbldg1,flor1\u201d,vlan-100 \n721b638445ef,\u201dbldg2,flor2\u201d,vlan-101,Canon Printers \n721b638445ee,\u201dbldg3,flor3\u201d,vlan-102 \n921b638445ce,\u201dbldg4,flor4\u201d,vlan-103 \n921b638445cf,\u201dbldg5,flor5\u201d,vlan-104", "operationId": "createOrgUserMacs", "tags": ["Orgs User MACs"]}}, "paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Import Org User MACs", "operationId": "importOrgUserMacs", "tags": ["Orgs User MACs"]}}}, "search": {"specs": {"get": {"description": "Search Org User MACs", "operationId": "searchOrgUserMacs", "parameters": [{"description": "mac address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "optional, array of strings of labels", "in": "query", "name": "labels", "schema": {"$ref": "#/components/schemas/search_org_user_macs_labels"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs User MACs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"{usermac_id}": {"specs": {"delete": {"description": "Delete Org User MAC", "operationId": "deleteOrgUserMac", "tags": ["Orgs User MACs"]}, "get": {"description": "Get Org User MAC", "operationId": "getOrgUserMac", "tags": ["Orgs User MACs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/usermac_id"}]}}}}}}, "vars": {"paths": {"search": {"specs": {"get": {"description": "Search vars\n\nExample: /api/v1/orgs/:org_id/vars/search?vars=*", "operationId": "searchOrgVars", "parameters": [{"in": "query", "name": "site_id", "schema": {"type": "string"}}, {"in": "query", "name": "vars", "schema": {"type": "string"}}, {"in": "query", "name": "src", "schema": {"$ref": "#/components/schemas/var_source"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Vars"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "vpns": {"specs": {"get": {"description": "Get List of Org VPNs", "operationId": "listOrgsVpns", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs VPNs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org VPN", "operationId": "createOrgVpns", "tags": ["Orgs VPNs"]}}, "paths": {"{vpn_id}": {"specs": {"delete": {"description": "delete Org Vpn", "operationId": "deleteOrgVpn", "tags": ["Orgs VPNs"]}, "get": {"description": "getOrgVpn", "operationId": "getOrgVpn", "tags": ["Orgs VPNs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/vpn_id"}], "put": {"description": "update Org Vpn", "operationId": "updateOrgVpn", "tags": ["Orgs VPNs"]}}}}}, "wan_client": {"paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Org WAN Client-Events", "operationId": "countOrgWanClientEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_wan_clients_events_count_distinct"}}, {"$ref": "#/components/parameters/client_event_type"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Clients - Wan"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}}}, "wan_clients": {"paths": {"count": {"specs": {"get": {"description": "Count Org WAN Clients", "operationId": "countOrgWanClients", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_wan_clients_count_distinct"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Clients - Wan"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "events": {"paths": {"search": {"specs": {"get": {"description": "Search Org WAN Client Events", "operationId": "searchOrgWanClientEvents", "parameters": [{"$ref": "#/components/parameters/client_event_type"}, {"description": "partial / full MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "client IP", "in": "query", "name": "ip", "schema": {"type": "string"}}, {"description": "Manufacture", "in": "query", "name": "mfg", "schema": {"type": "string"}}, {"description": "nacrule_id", "in": "query", "name": "nacrule_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Clients - Wan"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "search": {"specs": {"get": {"description": "Search Org WAN Clients", "operationId": "searchOrgWanClients", "parameters": [{"description": "partial / full MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "client IP", "in": "query", "name": "ip", "schema": {"type": "string"}}, {"description": "network", "in": "query", "name": "network", "schema": {"type": "string"}}, {"description": "Manufacture", "in": "query", "name": "mfg", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Clients - Wan"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "webhooks": {"specs": {"get": {"description": "Get List of Org Webhooks", "operationId": "listOrgWebhooks", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Webhooks"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Webhook\n\n**N.B**. For org webhooks, only alarms/audits/client-info/client-join/client-sessions/device_events/device-updowns/mxedge_events Infrastructure topics are supported.", "operationId": "createOrgWebhook", "tags": ["Orgs Webhooks"]}}, "paths": {"{webhook_id}": {"specs": {"delete": {"description": "Delete Org Webhook", "operationId": "deleteOrgWebhook", "tags": ["Orgs Webhooks"]}, "get": {"description": "Get Org Webhook Details", "operationId": "getOrgWebhook", "tags": ["Orgs Webhooks"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/webhook_id"}], "put": {"description": "Update Org Webhook", "operationId": "updateOrgWebhook", "tags": ["Orgs Webhooks"]}}, "paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count Org Webhooks deliveries\n\n\nTopics Supported:\n- alarms\n- audits\n- device-updowns\n- occupancy-alerts\n- ping", "operationId": "countOrgWebhooksDeliveries", "parameters": [{"in": "query", "name": "error", "schema": {"type": "string"}}, {"in": "query", "name": "status_code", "schema": {"type": "integer"}}, {"description": "webhook delivery status", "in": "query", "name": "status", "schema": {"$ref": "#/components/schemas/webhook_delivery_status"}}, {"description": "webhook topic", "in": "query", "name": "topic", "schema": {"$ref": "#/components/schemas/webhook_delivery_topic"}}, {"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/webhook_delivery_distinct"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Webhooks"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/webhook_id"}]}}, "search": {"specs": {"get": {"description": "Search Org Webhooks deliveries\n\n\nTopics Supported:\n- alarms\n- audits\n- device-updowns\n- occupancy-alerts\n- ping", "operationId": "searchOrgWebhooksDeliveries", "parameters": [{"in": "query", "name": "error", "schema": {"type": "string"}}, {"in": "query", "name": "status_code", "schema": {"type": "integer"}}, {"description": "webhook delivery status", "in": "query", "name": "status", "schema": {"$ref": "#/components/schemas/webhook_delivery_status"}}, {"description": "webhook topic", "in": "query", "name": "topic", "schema": {"$ref": "#/components/schemas/webhook_delivery_topic"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Webhooks"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/webhook_id"}]}}}}, "ping": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/webhook_id"}], "post": {"description": "send a Ping event to the webhook", "operationId": "pingOrgWebhook", "tags": ["Orgs Webhooks"]}}}}}}}, "wired_clients": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Clients\n\nNote: For list of avaialable `type` values, please refer to [listClientEventsDefinitions](/#operations/listClientEventsDefinitions)", "operationId": "countOrgWiredClients", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_wired_clients_count_distinct"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Clients - Wired"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search for Wired Clients in org\n\nNote: For list of avaialable `type` values, please refer to [listClientEventsDefinitions](/#operations/listClientEventsDefinitions)", "operationId": "searchOrgWiredClients", "parameters": [{"description": "Site ID", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "device mac", "in": "query", "name": "device_mac", "schema": {"type": "string"}}, {"description": "client mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "port id", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "vlan", "in": "query", "name": "vlan", "schema": {"type": "integer"}}, {"description": "ip", "in": "query", "name": "ip", "schema": {"type": "string"}}, {"description": "client manufacturer", "in": "query", "name": "manufacture", "schema": {"type": "string"}}, {"description": "single entry of hostname/mac", "in": "query", "name": "text", "schema": {"type": "string"}}, {"description": "nacrule_id", "in": "query", "name": "nacrule_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Clients - Wired"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "wlans": {"specs": {"get": {"description": "Get List of Org Wlans", "operationId": "listOrgWlans", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Wlans"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Wlan", "operationId": "createOrgWlan", "tags": ["Orgs Wlans"]}}, "paths": {"{wlan_id}": {"specs": {"delete": {"description": "Delete Org WLAN", "operationId": "deleteOrgWlan", "tags": ["Orgs Wlans"]}, "get": {"description": "Get Org Wlan Detail", "operationId": "getOrgWLAN", "tags": ["Orgs Wlans"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/wlan_id"}], "put": {"description": "Update Org Wlan", "operationId": "updateOrgWlan", "tags": ["Orgs Wlans"]}}, "paths": {"portal_image": {"specs": {"delete": {"description": "Delete Org WLAN Portal Image", "operationId": "deleteOrgWlanPortalImage", "tags": ["Orgs Wlans"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/wlan_id"}], "post": {"description": "Upload Org WLAN Portal Image", "operationId": "uploadOrgWlanPortalImage", "tags": ["Orgs Wlans"]}}}, "portal_template": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/wlan_id"}], "put": {"description": "Update a Portal Template\n\n#### Sponsor Email Template\nSponsor Email Template supports following template variables:\n\n| **Name** | **Description** |\n| --- | --- |\n| approve_url | Renders URL to approve the request; optionally &minutes=N query param can be appended to change the Authorization period of the guest, where N is a valid integer denoting number of minutes a guest remains authorized |\n| deny_url | Renders URL to reject the request |\n| guest_email | Renders Email ID of the guest |\n| guest_name | Renders Name of the guest |\n| field1 | Renders value of the Custom Field 1 |\n| field2 | Renders value of the Custom Field 2 |\n| company | Renders value of the Company field |\n| sponsor_link_validity_duration | Renders validity time of the request (i.e. Approve/Deny URL) |\n| auth_expire_minutes | Renders Wlan-level configured Guest Authorization Expiration time period (in minutes), If not configured then default (1 day in minutes) |", "operationId": "updateOrgWlanPortalTemplate", "tags": ["Orgs Wlans"]}}}}}}}, "wxrules": {"specs": {"get": {"description": "Get List of Org WxRules", "operationId": "listOrgWxRules", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs WxRules"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org WxRule", "operationId": "createOrgWxRule", "tags": ["Orgs WxRules"]}}, "paths": {"derived": {"specs": {"get": {"description": "Get Derived Org WxRule", "operationId": "getOrgWxRulesDerived", "tags": ["Orgs WxRules"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "{wxrule_id}": {"specs": {"delete": {"description": "Delete Org WxRule", "operationId": "deleteOrgWxRule", "tags": ["Orgs WxRules"]}, "get": {"description": "Get Org WxRule Details", "operationId": "getOrgWxRule", "tags": ["Orgs WxRules"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/wxrule_id"}], "put": {"description": "Update Org WxRule", "operationId": "updateOrgWxRule", "tags": ["Orgs WxRules"]}}}}}, "wxtags": {"specs": {"get": {"description": "Get List of Org WxLAN Tags", "operationId": "listOrgWxTags", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs WxTags"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create WxLAN Tag", "operationId": "createOrgWxTag", "tags": ["Orgs WxTags"]}}, "paths": {"apps": {"specs": {"get": {"description": "Get Application List", "operationId": "getOrgApplicationList", "tags": ["Orgs WxTags"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "{wxtag_id}": {"specs": {"delete": {"description": "Delete WxLAN Tag", "operationId": "deleteOrgWxTag", "tags": ["Orgs WxTags"]}, "get": {"description": "Get WxLAN Tag Details", "operationId": "getOrgWxTag", "tags": ["Orgs WxTags"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/wxtag_id"}], "put": {"description": "Update WxLAN Tag", "operationId": "updateOrgWxTag", "tags": ["Orgs WxTags"]}}, "paths": {"clients": {"specs": {"get": {"description": "Get Current Matching Clients of a WXLAN Tag", "operationId": "getOrgCurrentMatchingClientsOfAWxTag", "tags": ["Orgs WxTags"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/wxtag_id"}]}}}}}}, "wxtunnels": {"specs": {"get": {"description": "Get List of Org WxLAN Tunnels", "operationId": "listOrgWxTunnels", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs WxTunnels"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org WxAN Tunnel", "operationId": "createOrgWxTunnel", "tags": ["Orgs WxTunnels"]}}, "paths": {"{wxtunnel_id}": {"specs": {"delete": {"description": "Delete Org WxLAN Tunnel", "operationId": "deleteOrgWxTunnel", "tags": ["Orgs WxTunnels"]}, "get": {"description": "Get Org WxLAN Tunnel Details", "operationId": "getOrgWxTunnel", "tags": ["Orgs WxTunnels"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/wxtunnel_id"}], "put": {"description": "Update Org WxLAN Tunnel", "operationId": "updateOrgWxTunnel", "tags": ["Orgs WxTunnels"]}}}}}}}}}, "recover": {"specs": {"post": {"description": "Recover Password\nAn email will also be sent to the user with a link to https://manage.mist.com/verify/recover?token=:token", "operationId": "recoverPassword", "tags": ["Admins Recover Password"]}}, "paths": {"verify": {"paths": {"{token}": {"specs": {"parameters": [{"$ref": "#/components/parameters/token"}], "post": {"description": "Verify Recover Password\nWith correct verification, the user will be authenticated. UI can then prompt for new password", "operationId": "verifyRecoverPasssword", "tags": ["Admins Recover Password"]}}}}}}}, "register": {"specs": {"post": {"description": "Register a new admin and his/her org\nAn email will also be sent to the user with a link to `/verify/register?token={token}`\n\n### reCAPTCHA\nGoogle reCAPTCHA is the choice to prevent bot registration\n\nIt needs this \n\n<script src='https://www.google.com/recaptcha/api.js' ></script>\n\nand this <div> in the desired place\n```html\n
\n```\n\nUse GET /api/v1/register/recaptcha to read the current setting.\nResponse example:\n```json\n{ \n \"flavor\": \"google\",\n \"required\": true, \n \"sitekey\": \"6LdAewsTAAAAAE25XKQhPEQ2FiMTft-WrZXQ5NUd\"\n}\n```\n\n### hCaptcha\nAlternative to reCAPTCHA is hCaptcha to prevent bot registration\n\nIt needs this script\n\n<script src='https://js.hcaptcha.com/1/api.js' async defer ></script>\n\nand this <div> in the desired place\n```html\n
\n```\n\nUse GET /api/v1/register/recaptcha?recaptcha_flavor=hcaptcha to read the current setting for hcaptcha with reply.\nResponse example:\n```json\n{\n \"flavor\": \"hcaptcha\",\n \"required\": true,\n \"sitekey\": \"6LdAewsTAAAAAE25XKQhPEQ2FiMTft-WrZXQ5NUd\"\n}\"\n```", "operationId": "registerNewAdmin", "tags": ["Admins"]}}, "paths": {"recaptcha": {"specs": {"get": {"description": "Get Registration Information", "operationId": "getAdminRegistrationInfo", "parameters": [{"in": "query", "name": "recaptcha_flavor", "schema": {"$ref": "#/components/schemas/recaptcha_flavor"}}], "tags": ["Admins"]}}}, "verify": {"paths": {"{token}": {"specs": {"parameters": [{"$ref": "#/components/parameters/token"}], "post": {"description": "Verify registration", "operationId": "verifyRegistration", "tags": ["Admins"]}}}}}}}, "self": {"specs": {"delete": {"description": "To delete ones account and every associated with it. The effects:\n\nthe account would be deleted\nany orphaned Org (that only has this account as admin) will be deleted\nalong with all data with Org (sites, wlans, devices) will be gone.", "operationId": "deleteSelf", "tags": ["Self Account"]}, "get": {"description": "Get \u2018whoami\u2019 and privileges (which org and which sites I have access to)", "operationId": "getSelf", "tags": ["Self Account"]}, "put": {"description": "update Account Information", "operationId": "updateSelf", "tags": ["Self Account"]}}, "paths": {"apitokens": {"specs": {"get": {"description": "Get List of Current User API Tokens", "operationId": "listApiTokens", "tags": ["Self API Token"]}, "post": {"description": "Create API Token\nNote that the key is only available during creation time.", "operationId": "createApiToken", "tags": ["Self API Token"]}}, "paths": {"{apitoken_id}": {"specs": {"delete": {"description": "Delete an API Token", "operationId": "deleteApiToken", "tags": ["Self API Token"]}, "get": {"description": "Get User API Token", "operationId": "getApiToken", "tags": ["Self API Token"]}, "parameters": [{"$ref": "#/components/parameters/apitoken_id"}], "put": {"description": "Update User API Token", "operationId": "updateApiToken", "tags": ["Self API Token"]}}}}}, "logs": {"specs": {"get": {"description": "Get List of change logs across all Orgs for current admin\nAudit logs records all administrative activities done by current admin across all orgs", "operationId": "listSelfAuditLogs", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Self Audit Logs"]}}}, "oauth": {"paths": {"{provider}": {"specs": {"get": {"description": "Obtain Authorization URL for Linking", "operationId": "getOauth2UrlForLinking", "parameters": [{"in": "query", "name": "forward", "schema": {"example": "http://manage.mist.com/oauth/callback.html", "type": "string"}}], "tags": ["Self OAuth2"]}, "parameters": [{"in": "path", "name": "provider", "required": true, "schema": {"type": "string"}}], "post": {"description": "Link Mist account with an OAuth2 Provider", "operationId": "linkOauth2MistAccount", "tags": ["Self OAuth2"]}}}}}, "subscriptions": {"specs": {"get": {"description": "Get List of all the subscriptions", "operationId": "listAlarmSubscriptions", "tags": ["Self Alarms"]}}}, "two_factor": {"paths": {"token": {"specs": {"get": {"description": "Generate Secret Key for 2FA verification", "operationId": "generateSecretFor2faVerification", "parameters": [{"description": "if `by`==`qrcode`, returns the secret as a qrcode image", "in": "query", "name": "by", "schema": {"$ref": "#/components/schemas/mfa_secret_type"}}], "tags": ["Self MFA"]}}}, "verify": {"specs": {"post": {"description": "Verify Two-factor (OTP)\n\nTo verify two-factor authentication by using a code generated by app (e.g. Google Authenticator, Authy). Upon successful verification, the `two_factor_passed` will be set to true if it hasn\u2019t already been.\n", "operationId": "verifyTwoFactor", "tags": ["Self MFA"]}}}}}, "update": {"specs": {"post": {"description": "Change Email\nWe require the user to verify that they actually own the email address they intend to change it to.\n\nAfter the API call, the user will receive an email to the new email address with a link like https://manage.mist.com/verify/update?expire=:exp_time&email=:admin_email&token=:token\n\nUpon clicking the link, the user is provided with a login page to authenticate using existing credentials. After successful login, the email address of the user gets updated\n\n**Note**: The request parameter email can be used by UI to validate that the current session (if any) belongs to the admin or provide a login page (by pre-populating the email on login screen). UI can also use the request parameter expire to validate token expiry.", "operationId": "updateSelfEmail", "tags": ["Self Account"]}}, "paths": {"verify": {"paths": {"{token}": {"specs": {"get": {"description": "Verify Email change", "operationId": "verifySelfEmail", "tags": ["Self Account"]}, "parameters": [{"$ref": "#/components/parameters/token"}]}}}}}}}}, "sites": {"paths": {"{site_id}": {"specs": {"delete": {"description": "Delete Site", "operationId": "deleteSite", "tags": ["Sites"]}, "get": {"description": "Get Site Info", "operationId": "getSiteInfo", "tags": ["Sites"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "put": {"description": "Update Site Info", "operationId": "updateSiteInfo", "tags": ["Sites"]}}, "paths": {"alarms": {"paths": {"ack": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Ack multiple Site Alarms", "operationId": "AckSiteMultipleAlarms", "tags": ["Sites Alarms"]}}}, "ack_all": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Ack all Site Alarms\n\n**N.B.**: Batch size for multiple alarm ack and unack has to be less or or equal to 1000.", "operationId": "ackSiteAllAlarms", "tags": ["Sites Alarms"]}}}, "count": {"specs": {"get": {"description": "Count Site Alarms", "operationId": "countSiteAlarms", "parameters": [{"description": "Group by and count the alarms by some distinct field", "in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/alarm_count_disctinct"}}, {"description": "Name of the admins who have acked the alarms; accepts multiple values separated by comma", "in": "query", "name": "ack_admin_name", "schema": {"type": "string"}}, {"in": "query", "name": "acked", "schema": {"type": "boolean"}}, {"description": "Key-name of the alarms; accepts multiple values separated by comma", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "Alarm severity; accepts multiple values separated by comma", "in": "query", "name": "severity", "schema": {"type": "string"}}, {"description": "Alarm group name; accepts multiple values separated by comma", "in": "query", "name": "group", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Alarms"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Site Alarms", "operationId": "searchSiteAlarms", "parameters": [{"description": "Key-name of the alarms; accepts multiple values separated by comma", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "Name of the admins who have acked the alarms; accepts multiple values separated by comma", "in": "query", "name": "ack_admin_name", "schema": {"type": "string"}}, {"in": "query", "name": "acked", "schema": {"type": "boolean"}}, {"description": "Alarm severity; accepts multiple values separated by comma", "in": "query", "name": "severity", "schema": {"type": "string"}}, {"description": "Alarm group name; accepts multiple values separated by comma", "in": "query", "name": "group", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Alarms"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "unack": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Unack multiple Site Alarms", "operationId": "unackSiteMultipleAlarms", "tags": ["Sites Alarms"]}}}, "unack_all": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Unack all Site Alarms\n\n**N.B.**: Batch size for multiple alarm ack and unack has to be less or or equal to 1000.", "operationId": "unackSiteAllArlarms", "tags": ["Sites Alarms"]}}}, "{alarm_id}": {"paths": {"ack": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/alarm_id"}], "post": {"description": "Ack Site Alarm", "operationId": "ackSiteAlarm", "tags": ["Sites Alarms"]}}}, "unack": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/alarm_id"}], "post": {"description": "Unack Site Alarm", "operationId": "unackSiteAlarm", "tags": ["Sites Alarms"]}}}}}}}, "anomaly": {"paths": {"client": {"paths": {"{client_mac}": {"paths": {"{metric}": {"specs": {"get": {"description": "Get Client Anomaly Events", "operationId": "getSiteAnomalyEventsForClient", "tags": ["Sites Anomaly"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/client_mac"}, {"$ref": "#/components/parameters/metric"}]}}}}}}, "device": {"paths": {"{device_mac}": {"paths": {"{metric}": {"specs": {"get": {"description": "Get Device Anomaly Events", "operationId": "getSiteAnomalyEventsforDevice", "tags": ["Sites Anomaly"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/metric"}, {"$ref": "#/components/parameters/device_mac"}]}}}}}}, "{metric}": {"specs": {"get": {"description": "Get Site Anomaly Events", "operationId": "getSiteAnomalyEvents", "tags": ["Sites Anomaly"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/metric"}]}}}}, "apps": {"specs": {"get": {"description": "Get List of Site Applications", "operationId": "listSiteApps", "tags": ["Sites Applications"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "aptemplates": {"paths": {"derived": {"specs": {"get": {"description": "Get derived AP Templates for Site", "operationId": "getSiteApTemplateDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"type": "boolean"}}], "tags": ["Sites AP Templates"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "assetfilters": {"specs": {"get": {"description": "Get List of Site Asset Filters", "operationId": "listSiteAssetFilters", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Asset Filters"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site Asset Filter", "operationId": "createSiteAssetFilters", "tags": ["Sites Asset Filters"]}}, "paths": {"{assetfilter_id}": {"specs": {"delete": {"description": "Deletes an existing BLE asset filter for the given site.", "operationId": "deleteSiteAssetFilter", "tags": ["Sites Asset Filters"]}, "get": {"description": "Get Site Asset Filter Details", "operationId": "getSiteAssetFilter", "tags": ["Sites Asset Filters"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/assetfilter_id"}], "put": {"description": "Updates an existing BLE asset filter for the given site.", "operationId": "updateSiteAssetFilter", "tags": ["Sites Asset Filters"]}}}}}, "assets": {"specs": {"get": {"description": "Get List of Site Assets", "operationId": "listSiteAssets", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Assets"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site Asset", "operationId": "createSiteAsset", "tags": ["Sites Assets"]}}, "paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Impert Site Assets. \n\nIt can be done via a CSV file or a JSON payload.\n\n## CSV File Format\n```csv\nname,mac\n\"asset_name\",5c5b53010101\n```", "operationId": "importSiteAssets", "parameters": [{"description": "API will replace the assets with same mac if provided `upsert`==`True`, otherwise will report in errors in response.", "in": "query", "name": "upsert", "schema": {"$ref": "#/components/schemas/import_site_assets_upsert"}}], "tags": ["Sites Assets"]}}}, "{asset_id}": {"specs": {"delete": {"description": "Delete Site Asset", "operationId": "deleteSiteAsset", "tags": ["Sites Assets"]}, "get": {"description": "Get Site Asset Details", "operationId": "getSiteAsset", "tags": ["Sites Assets"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/asset_id"}], "put": {"description": "Update Site Asset", "operationId": "updateSiteAsset", "tags": ["Sites Assets"]}}}}}, "beacons": {"specs": {"get": {"description": "Get List of Site Beacons", "operationId": "listSiteBeacons", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Beacons"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site Beacon", "operationId": "createSiteBeacon", "tags": ["Sites Beacons"]}}, "paths": {"{beacon_id}": {"specs": {"delete": {"description": "Delete Site Beacon", "operationId": "deleteSiteBeacons", "tags": ["Sites Beacons"]}, "get": {"description": "Get Site Beacon Details", "operationId": "getSiteBeacon", "tags": ["Sites Beacons"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/beacon_id"}], "put": {"description": "Update Site Beacon", "operationId": "updateSiteBeacons", "tags": ["Sites Beacons"]}}}}}, "clients": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Clients", "operationId": "countSiteWirelessClients", "parameters": [{"example": "hostname", "in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_clients_count_distinct"}}, {"in": "query", "name": "ssid", "schema": {"type": "string"}}, {"in": "query", "name": "ap", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/ip"}, {"in": "query", "name": "vlan", "schema": {"type": "string"}}, {"in": "query", "name": "hostname", "schema": {"type": "string"}}, {"in": "query", "name": "os", "schema": {"type": "string"}}, {"in": "query", "name": "model", "schema": {"type": "string"}}, {"in": "query", "name": "device", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "disconnect": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "To unauthorize multiple clients", "operationId": "disconnectSiteMultipleClients", "tags": ["Utilities Wi-Fi"]}}}, "events": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Client-Events", "operationId": "countSiteWirelessClientEvents", "parameters": [{"example": "type", "in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_client_events_count_distinct"}}, {"$ref": "#/components/parameters/client_event_type"}, {"description": "for assoc/disassoc events", "in": "query", "name": "reason_code", "schema": {"type": "integer"}}, {"description": "SSID Name", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/dot11_proto"}, {"$ref": "#/components/parameters/dot11_band"}, {"description": "wlan_id", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Get Site Clients Events", "operationId": "searchSiteWirelessClientEvents", "parameters": [{"$ref": "#/components/parameters/client_event_type"}, {"description": "for assoc/disassoc events", "in": "query", "name": "reason_code", "schema": {"type": "integer"}}, {"description": "SSID Name", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/dot11_proto"}, {"$ref": "#/components/parameters/dot11_band"}, {"description": "wlan_id", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"description": "nacrule_id", "in": "query", "name": "nacrule_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "search": {"specs": {"get": {"description": "Search Wireless Clients\n\n**NOTE**: fuzzy logic can be used with \u2018*\u2019, supported filters: mac, hostname, device, os, model. E.g. /clients/search?device=Mac*&hostname=jerry", "operationId": "searchSiteWirelessClients", "parameters": [{"description": "partial / full MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/ip"}, {"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "device type, e.g. Mac, Nvidia, iPhone", "in": "query", "name": "device", "schema": {"type": "string"}}, {"description": "os, e.g. Sierra, Yosemite, Windows 10", "in": "query", "name": "os", "schema": {"type": "string"}}, {"description": "model, e.g. \u201cMBP 15 late 2013\u201d, 6, 6s, \u201c8+ GSM\u201d", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "AP mac where the client has connected to", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "partial / full MAC address, hostname, username, psk_name or ip", "in": "query", "name": "text", "schema": {"type": "string"}}, {"description": "nacrule_id", "in": "query", "name": "nacrule_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "sessions": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Client Sessions", "operationId": "countSiteWirelessClientSessions", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_client_sessions_count_distinct"}}, {"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/dot11_band"}, {"description": "E.g. \u201cMac\u201d, \u201ciPhone\u201d, \u201cApple watch\u201d", "in": "query", "name": "client_family", "schema": {"type": "string"}}, {"description": "E.g. \u201cApple\u201d", "in": "query", "name": "client_manufacture", "schema": {"type": "string"}}, {"description": "E.g. \u201c8+\u201d, \u201cXS\u201d", "in": "query", "name": "client_model", "schema": {"type": "string"}}, {"description": "E.g. \u201cMojave\u201d, \u201cWindows 10\u201d, \u201cLinux\u201d", "in": "query", "name": "client_os", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "wlan_id", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Client Sessions", "operationId": "searchSiteWirelessClientSessions", "parameters": [{"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/dot11_band"}, {"description": "E.g. \u201cMac\u201d, \u201ciPhone\u201d, \u201cApple watch\u201d", "in": "query", "name": "client_family", "schema": {"type": "string"}}, {"description": "E.g. \u201cApple\u201d", "in": "query", "name": "client_manufacture", "schema": {"type": "string"}}, {"description": "E.g. \u201c8+\u201d, \u201cXS\u201d", "in": "query", "name": "client_model", "schema": {"type": "string"}}, {"description": "Username", "in": "query", "name": "client_username", "schema": {"type": "string"}}, {"description": "E.g. \u201cMojave\u201d, \u201cWindows 10\u201d, \u201cLinux\u201d", "in": "query", "name": "client_os", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "wlan_id", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/psk_id_query"}, {"description": "PSK Name", "in": "query", "name": "psk_name", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "unauthorize": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "This unauthorize clients (if they are guest) and disconnect them. From the guest\u2019s perspective, they will see the splash page again and go through the flow (e.g. Terms of Use) again.", "operationId": "unauthorizeSiteMultipleClients", "tags": ["Utilities Wi-Fi"]}}}, "{client_mac}": {"paths": {"coa": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/client_mac"}], "post": {"description": "Trigger a CoA (change of authorization) against a client", "operationId": "reauthSiteDot1xWirelessClient", "tags": ["Utilities Wi-Fi"]}}}, "disconnect": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/client_mac"}], "post": {"description": "This disconnect a client (and it\u2019s likely to connect back)", "operationId": "disconnectSiteWirelessClient", "tags": ["Utilities Wi-Fi"]}}}, "events": {"specs": {"get": {"description": "Get the list of events for a specific client", "operationId": "getSiteEventsForClient", "parameters": [{"description": "e.g. MARVIS_EVENT_CLIENT_DHCP_STUCK", "in": "query", "name": "type", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/dot11_proto"}, {"$ref": "#/components/parameters/dot11_band"}, {"in": "query", "name": "channel", "schema": {"type": "string"}}, {"in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"in": "query", "name": "ssid", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/client_mac"}]}}, "unauthorize": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/client_mac"}], "post": {"description": "This unauthorize a client (if it\u2019s a guest) and disconnect it. From the guest\u2019s perspective, s/he will see the splash page again and go through the flow (e.g. Terms of Use) again.", "operationId": "unauthorizeSiteWirelessClient", "tags": ["Utilities Wi-Fi"]}}}}}}}, "deviceprofiles": {"paths": {"derived": {"specs": {"get": {"description": "Retrieves the list of Device Profiles available for the Site", "operationId": "listSiteDeviceProfilesDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"default": false, "type": "boolean"}}], "tags": ["Sites Device Profiles"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "devices": {"specs": {"get": {"description": "Get list of devices on the site.", "operationId": "listSiteDevices", "parameters": [{"in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/device_type_with_all"}}, {"$ref": "#/components/parameters/name"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"ap_channels": {"specs": {"get": {"description": "Get a list of allowed channels (per channel width)", "operationId": "getSiteDeviceRadioChannels", "parameters": [{"description": "country code for the site (for AP config generation), in [two-character](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)", "example": "US", "in": "query", "name": "country_code", "schema": {"type": "string"}}], "tags": ["Sites Devices - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "config_history": {"paths": {"count": {"specs": {"get": {"description": "Counts the number of entries in device config history for distinct field with given filters", "operationId": "countSiteDeviceConfigHistory", "parameters": [{"in": "query", "name": "distinct", "schema": {"type": "string"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search for entries in device config history", "operationId": "searchSiteDeviceConfigHistory", "parameters": [{"in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/device_type"}}, {"description": "Device MAC Address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "count": {"specs": {"get": {"description": "Counts the number of entries in ap events history for distinct field with given filters", "operationId": "countSiteDevices", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_devices_count_distinct"}}, {"in": "query", "name": "hostname", "schema": {"type": "string"}}, {"in": "query", "name": "model", "schema": {"type": "string"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}, {"in": "query", "name": "version", "schema": {"type": "string"}}, {"in": "query", "name": "mxtunnel_status", "schema": {"type": "string"}}, {"in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"in": "query", "name": "lldp_system_name", "schema": {"type": "string"}}, {"in": "query", "name": "lldp_system_desc", "schema": {"type": "string"}}, {"in": "query", "name": "lldp_port_id", "schema": {"type": "string"}}, {"in": "query", "name": "lldp_mgmt_addr", "schema": {"type": "string"}}, {"in": "query", "name": "map_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "events": {"paths": {"count": {"specs": {"get": {"description": "Counts the number of entries in ap events history for distinct field with given filters", "operationId": "countSiteDeviceEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_device_events_count_distinct"}}, {"in": "query", "name": "model", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/device_event_type"}, {"in": "query", "name": "type_code", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Devices Events", "operationId": "searchSiteDeviceEvents", "parameters": [{"description": "device mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "event message", "in": "query", "name": "text", "schema": {"type": "string"}}, {"description": "event time", "in": "query", "name": "timestamp", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/device_event_type"}, {"description": "Return last/recent event for passed in field", "example": "port_id", "in": "query", "name": "last_by", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "export": {"specs": {"get": {"description": "To download the exported device information", "operationId": "exportSiteDevices", "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "import": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Import Information for Multiple Devices\n\nCSV format:\n```csv\nmac,name,map_id,x,y,height,orientation,labels,band_24.power,band_24.bandwidth,band_24.channel,band_24.disabled,band_5.power,band_5.bandwidth,band_5.channel,band_5.disabled,band_6.power,band_6.bandwidth,band_6.channel,band_6.disabled\n5c5b53010101,\"AP 1\",845a23bf-bed9-e43c-4c86-6fa474be7ae5,30,10,2.3,45,\"guest, campus, vip\",1,20,0,false,0,40,0,false,17,80,0,false\n```", "operationId": "importSiteDevices", "tags": ["Sites Devices"]}}}, "last_config": {"paths": {"count": {"specs": {"get": {"description": "Counts the number of entries in device config history for distinct field with given filters", "operationId": "countSiteDeviceLastConfig", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_device_last_config_count_distinct"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Device Last Configs", "operationId": "searchSiteDeviceLastConfigs", "parameters": [{"in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/device_type"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}, {"in": "query", "name": "version", "schema": {"type": "string"}}, {"in": "query", "name": "name", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "reprovision": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "To force all APs to reprovision itself again.", "operationId": "reprovisionSiteAllAps", "tags": ["Utilities Wi-Fi"]}}}, "reset_radio_config": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Reset all APs in the Site to use RRM", "operationId": "resetSiteAllApsToUseRrm", "tags": ["Utilities Wi-Fi"]}}}, "restart": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Note that only the devices that are connected will be restarted.", "operationId": "restartSiteMultipleDevices", "tags": ["Sites Devices"]}}}, "search": {"specs": {"get": {"description": "Search Device", "operationId": "searchSiteDevices", "parameters": [{"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/device_type"}}, {"description": "device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "device MAC", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "version", "in": "query", "name": "version", "schema": {"type": "string"}}, {"description": "power_constrained", "in": "query", "name": "power_constrained", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/ip"}, {"description": "MxTunnel status, up / down", "in": "query", "name": "mxtunnel_status", "schema": {"$ref": "#/components/schemas/search_site_devices_mxtunnel_status"}}, {"description": "Mist Edge id, if AP is connecting to a Mist Edge", "in": "query", "name": "mxedge_id", "schema": {"format": "uuid", "type": "string"}}, {"description": "LLDP system name", "in": "query", "name": "lldp_system_name", "schema": {"type": "string"}}, {"description": "LLDP system description", "in": "query", "name": "lldp_system_desc", "schema": {"type": "string"}}, {"description": "LLDP port id", "in": "query", "name": "lldp_port_id", "schema": {"type": "string"}}, {"description": "LLDP management ip address", "in": "query", "name": "lldp_mgmt_addr", "schema": {"type": "string"}}, {"description": "Channel of band_24", "in": "query", "name": "band_24_channel", "schema": {"type": "integer"}}, {"description": "Channel of band_5", "in": "query", "name": "band_5_channel", "schema": {"type": "integer"}}, {"description": "Channel of band_6", "in": "query", "name": "band_6_channel", "schema": {"type": "integer"}}, {"description": "Bandwidth of band_24", "in": "query", "name": "band_24_bandwith", "schema": {"type": "integer"}}, {"description": "Bandwidth of band_5", "in": "query", "name": "band_5_bandwith", "schema": {"type": "integer"}}, {"description": "Bandwidth of band_6", "in": "query", "name": "band_6_bandwith", "schema": {"type": "integer"}}, {"description": "Port speed of eth0", "in": "query", "name": "eth0_port_speed", "schema": {"type": "integer"}}, {"description": "sort options", "in": "query", "name": "sort", "schema": {"$ref": "#/components/schemas/search_site_devices_sort"}}, {"description": "sort options in reverse order", "in": "query", "name": "desc_sort", "schema": {"$ref": "#/components/schemas/search_site_devices_desc_sort"}}, {"description": "whether to return device stats", "in": "query", "name": "stats", "schema": {"default": false, "type": "boolean"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "send_ble_beacon": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Send arbitrary BLE Beacon for a period of time\n\nNote that only the devices that are connected will be restarted.", "operationId": "sendSiteDevicesArbitratryBleBeacon", "tags": ["Utilities Location"]}}}, "upgrade": {"specs": {"get": {"description": "Get all upgrades for site", "operationId": "listSiteDeviceUpgrades", "parameters": [{"in": "query", "name": "status", "schema": {"$ref": "#/components/schemas/device_upgrade_status"}}], "tags": ["Utilities Upgrade"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Upgrade Site Device\n\n**Note**: this call doesn\u2019t guarantee the devices to be upgraded right away (they may be offline)", "operationId": "upgradeSiteDevices", "tags": ["Utilities Upgrade"]}}, "paths": {"{upgrade_id}": {"specs": {"get": {"description": "Get Site Device Upgrade", "operationId": "getSiteDeviceUpgrade", "tags": ["Utilities Upgrade"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/upgrade_id"}]}, "paths": {"cancel": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/upgrade_id"}], "post": {"description": "Best effort to cancel an upgrade. Devices which are already upgraded wont be touched", "operationId": "cancelSiteDeviceUpgrade", "tags": ["Utilities Upgrade"]}}}}}}}, "upgrade_bios": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Upgrade Bios on Multiple Device", "operationId": "upgradeSiteDevicesBios", "tags": ["Utilities LAN"]}}}, "upgrade_fpga": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Upgrade Bios on Multiple Device", "operationId": "upgradeSiteDevicesFpga", "tags": ["Utilities LAN"]}}}, "versions": {"specs": {"get": {"description": "Get List of Available Device Versions", "operationId": "listSiteAvailableDeviceVersions", "parameters": [{"in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/device_type"}}, {"description": "fetch version for device model, use/combine with `type` as needed (for switch and gateway devices)", "in": "query", "name": "model", "schema": {"type": "string"}}], "tags": ["Utilities Upgrade"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "zeroize": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Zeroize all FIPS APs in the Site", "operationId": "zeroizeSiteFipsAllAps", "tags": ["Utilities Wi-Fi"]}}}, "{device_id}": {"specs": {"get": {"description": "Get Device Configuration", "operationId": "getSiteDevice", "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "put": {"description": "Update Device Configuration", "operationId": "updateSiteDevice", "tags": ["Sites Devices"]}}, "paths": {"arp": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "ARP can be performed on the Device. The output will be available through websocket. As there can be multiple command issued against the same AP at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```json\n{ \n \"event\": \"data\", \n \"channel\": \"/sites/4ac1dcf4-9d8b-7211-65c4-057819f0862b/devices/00000000-0000-0000-1000-5c5b350e0060/cmd\", \n \"data\": { \n \"session\": \"session_id\", \n \"raw\": \n \"Output\": \"\\tMAC\\t\\tDEV\\tVLAN\\tRx Packets\\t\\t Rx Bytes\\t\\tTx Packets\\t\\t Tx Bytes\\tFlows\\tIdle sec\\n-----------------------------------------------------------------------------------------------------------------------\"\n } \n}\n```", "operationId": "arpFromDevice", "tags": ["Utilities Common"]}}}, "bounce_port": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Port Bounce can be performed from the Switch.The output will be available through websocket. As there can be multiple command issued against the same AP at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```json\n{\n \"event\": \"data\",\n \"channel\": \"/sites/4ac1dcf4-9d8b-7211-65c4-057819f0862b/devices/00000000-0000-0000-1000-5c5b350e0060/cmd\",\n \"data\": {\n \"session\": \"session_id\",\n \"raw\": \"Port bounce complete.\"\n }\n}\n```", "operationId": "portsBounceFromSwitch", "tags": ["Utilities LAN"]}}}, "cable_test": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "TDR can be performed from the Switch. The output will be available through websocket. As there can be multiple command issued against the same Switch at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```json\n{\n \"event\": \"data\",\n \"channel\": \"/sites/4ac1dcf4-9d8b-7211-65c4-057819f0862b/devices/00000000-0000-0000-1000-5c5b350e0060/cmd\",\n \"data\": {\n \"session\": \"session_id\",\n \"raw\": \"Interface TDR detail:\\nTest status : Test successfully executed ge-0/0/0\\n\"\n }\n}\n```", "operationId": "cableTestFromSwitch", "tags": ["Utilities LAN"]}}}, "check_radius_server": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Ping test from the AP to confirm \u2018reachability\u2019 of the Radius server. Utilize Juniper EX switch(to which an AP is connected to) radius test capabilities to get details on the Radius Server \u2018availability\u2019.", "operationId": "startSiteSwitchRadiusSyntheticTest", "tags": ["Sites Synthetic Tests"]}}}, "clear_arp": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Clear ARP cache for SSR, SRX and Switch\n\nClear the entire ARP cache or a subset if arguments are provided.\n\n*Note*: port_id is optional if neither vlan nor ip is specified", "operationId": "clearSiteSsrArpCache", "tags": ["Utilities WAN"]}}}, "clear_bgp": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Clear routes associated with one or all BGP neighbors", "operationId": "clearSiteSsrBgpRoutes", "tags": ["Utilities WAN"]}}}, "clear_bpdu_error": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Clear bridge protocol data unit (BPDU) error condition caused by the detection of a possible bridging loop from Spanning Tree Protocol (STP) operation that renders the port unoperational.", "operationId": "clearBpduErrosFromPortsOnSwitch", "tags": ["Utilities LAN"]}}}, "clear_mac_table": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Clear MAC Table from the Device.\n\nThe output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, `session` is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n", "operationId": "clearSiteDeviceMacTable", "tags": ["Utilities Common"]}}}, "clear_macs": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Clear all learned MAC addresses, including persistent MAC addresses, on a port.", "operationId": "clearAllLearnedMacsFromPortOnSwitch", "tags": ["Utilities LAN"]}}}, "config_cmd": {"specs": {"get": {"description": "Get Config CLI Commands\nFor a brown-field switch deployment where we adopted the switch through Adoption Command, we do not wipe out / overwrite the existing config automatically. Instead, we generate CLI commands that we would have generated. The user can inspect, modify, and incorporate this into their existing config manually.\n\nOnce they feel comfortable about the config we generate, they can enable allow_mist_config where we will take full control of their config like a claimed switch", "operationId": "getSiteDeviceConfigCmd", "parameters": [{"description": "Make output cmds sorted (for better readability) or not.", "in": "query", "name": "sort", "schema": {"default": false, "type": "boolean"}}], "tags": ["Utilities Common"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}]}}, "ha": {"specs": {"delete": {"description": "Delete HA Cluster", "operationId": "deleteSiteDeviceHaCluster", "tags": ["Sites Devices - WAN Cluster"]}, "get": {"deprecated": true, "description": "Get HA Cluster", "operationId": "getSiteDeviceHaClusterNode", "tags": ["Sites Devices - WAN Cluster"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "## Create HA Cluster\nBoth nodes has to be in the same site. We expect the user to configure ha_sync / ha_data port in port_configs already\n\n### SRX cabling\n\nsee [Chassis Cluster User Guide for SRX Series Devices](https://www.juniper.net/documentation/us/en/software/junos/chassis-cluster-security-devices/topics/concept/chassis-cluster-srx-series-node-interface-understanding.html) Here\u2019s the recommended cabling.\n\n#### SRX300\n\nFrom ZTP / default state, ge-0/0/0 and ge-0/0/7 (SFP) are default WAN ports and will get DHCP IP. However, ge-0/0/0 becomes OOB/fxp0 after cluster is enabled (i.e. using it for reach Mist is not recommended)\n\n1. form cluster in UI\n2. configure ge-0/0/7,ge-1/0/7 for WAN (reth0)\n3. configure ge-0/0/2,ge-1/0/2 for ha_data\n4. configure ge-0/0/3- for LAN or additional WAN e.g.\n \n\n``` json\n{\n \"port_config\": {\n \"ge-0/0/2,ge-1/0/2\": {\n \"usage\": \"ha_data\"\n },\n \"ge-0/0/7,ge-1/0/7\": {\n \"usage\": \"wan\",\n \"redundant\": true,\n \"reth_idx\": 0,\n \"ip_config\": {\"type\": \"dhcp\"}\n },\n }\n}\n\n```\n\n1. connect ge-0/0/1 back to back for ha_control\n2. connect ge-0/0/2 back to back for ha_data\n3. connect both ge-0/0/7 to uplink switch to WAN and to reach Mist\n4. power up both devices\n5. it takes about 30 minutes for the cluster to form\n \n\n#### SRX320\n\nFrom ZTP / default state, ge-0/0/0, ge-0/0/7 (SFP) and cl-1/0/0 (LTE) are default WAN ports and will get DHCP IP. However, ge-0/0/0 becomes OOB/fxp0 after cluster is enabled (i.e. using it for reach Mist is not recommended)\n\n##### ZTP via ge-0/0/7\n\nSimilar to SRX300\n\n##### ZTP via cl-1/0/0 (LTE)\n\n1. form cluster in UI\n2. configure cl-1/0/0, cl-3/0/0 as WAN (reth0)\n3. configure ge-0/0/2,ge-3/0/2 for ha_data\n4. same as above\n \n\n#### SRX340 / SRX345 / SRX380\n\nSRX340/SRX345 has dedicated OOB/fxp0 ports\n\n1. form cluster in UI\n2. configure ge-0/0/0,ge-5/0/0 for WAN (reth0)\n3. configure ge-0/0/2,ge-5/0/2 for ha_data\n4. configure ge-0/0/3- for LAN or additional WAN\n5. connect ge-0/0/0 to uplink switch to WAN and to reach Mist\n6. connect ge-0/0/1 back-to-back for ha_control\n7. connect ge-0/0/2 back-to-back for ha_data (fabric); or for SRX380, xe-0/0/16 if 10G SFP+ is used\n8. connect ge-0/0/3- to LAN or additional WANs\n \n\n#### SRX550\n\nge-0/0/0 becomes OOB/fxp0 after cluster is enabled, make suenable oob_ip_config as dhcp to maintain cloud connectivity\n\n1. connect ge-0/0/0 to reach Mist (after cluster is fully up, this port becomes OOB/fxp0)\n2. connect ge-0/0/1 back-to-back for ha_control\n3. connect ge-0/0/2 back-to-back for ha_data (fabric)\n4. connect ge-0/0/3 to WAN (after cluster is up, intended to be used for reth0)\n5. connect ge-0/0/4- to LAN or additional WANs\n \n\n#### SRX1500\n\nSRX1500 has, additionally, dedicated HA Control port\n\n1. form cluster in UI\n2. configure ge-0/0/0,ge-5/0/0 for WAN (reth0)\n3. configure ge-0/0/1,ge-5/0/1 for ha_data\n4. configure ge-0/0/2- for LAN or additional WAN\n5. connect dedicated ha_control back-to-back\n6. connect ge-0/0/0 to uplink switch to WAN and to reach Mist\n7. connect ge-0/0/1 back-to-back for ha_data\n8. connect ge-0/0/2- to LAN or additional WANs\n \n\n#### SRX4100\n\nSRX4100 has dedicated ha_control and ha_data (fabric) ports\n\n1. connect dedicated ha_control back-to-back\n2. connect dedicated ha_data back-to-back\n3. connect xe-0/0/0 to WAN to reach Mist\n4. connect xe-0/0/1- to LAN or additional WANs\n \n\n#### VSRX\n\nWhen standalone, VSRX has fxp0 as first Network Adapter, then ge-0/0/0-N When clustered, VSRX has fxp0, em0, then ge-0/0/0-N\n\n1. connect net0 (fxp0) to WAN to reach Mist\n2. connect net1 back-to-back for ha_control\n3. connect net2 (ge-0/0/0) back-to-back for ha_data (fab0/fab1)\n4. connect net3 (ge-0/0/1) to WAN, intended to be used for reth0\n5. connect net4 (ge-0/0/2) to LAN\n \n\nSRX340/SRX345 has dedicated OOB/fxp0 ports VSRX has fxp0 as first Network Adapter, then ge-0/0/0-N\n\n1. connect ge-0/0/0 to WAN to reach Mist\n2. connect ge-0/0/1 back-to-back for ha_control\n3. connect ge-0/0/2 back-to-back for ha_data (fabric); or for SRX380, xe-0/0/16 if 10G SFP+ is used\n4. connect ge-0/0/3- to LAN or additional WANs\n \n\n#### SRX550\n\nge-0/0/0 becomes OOB/fxp0 after cluster is enabled, make suenable oob_ip_config as dhcp to maintain cloud connectivity\n\n1. connect ge-0/0/0 to reach Mist (after cluster is fully up, this port becomes OOB/fxp0)\n2. connect ge-0/0/1 back-to-back for ha_control\n3. connect ge-0/0/2 back-to-back for ha_data (fabric)\n4. connect ge-0/0/3 to WAN (after cluster is up, intended to be used for reth0)\n5. connect ge-0/0/4- to LAN or additional WANs\n \n\n#### SRX1500\n\nSRX1500 has, additionally, dedicated HA Control port\n\n1. form cluster in UI\n2. configure ge-0/0/0,ge-7/0/0 for WAN (reth0)\n3. configure ge-0/0/1,ge-7/0/1 for ha_data\n4. configure ge-0/0/2- for LAN or additional WAN\n5. connect dedicated ha_control back-to-back\n6. connect ge-0/0/0 to uplink switch to WAN and to reach Mist\n7. connect ge-0/0/1 back-to-back for ha_data\n8. connect ge-0/0/2- to LAN or additional WANs\n\n \n#### SRX1600\n\nSRX1600 has, additionally, two dedicated HA Control port\n\n1. form cluster in UI\n2. configure ge-0/0/0,ge-7/0/0 for WAN (reth0)\n3. configure ge-0/0/1,ge-7/0/1 for ha_data\n4. configure ge-0/0/2- for LAN or additional WAN\n5. connect dedicated both ha_control back-to-back\n6. connect ge-0/0/0 to uplink switch to WAN and to reach Mist\n7. connect ge-0/0/1 back-to-back for ha_data\n8. connect ge-0/0/2- to LAN or additional WANs\n\n\n#### SRX4100\n\nSRX4100 has dedicated ha_control and ha_data (fabric) ports\n\n1. connect dedicated ha_control back-to-back\n2. connect dedicated ha_data back-to-back\n3. connect xe-0/0/0 to WAN to reach Mist\n4. connect xe-0/0/1- to LAN or additional WANs\n\n\n## Replace a Node in a HA Cluster\nUsually Device Replacement is done by Device Replacement API. For a HA cluster, you can also replace a node by another device in the same site.", "operationId": "createSiteDeviceHaCluster", "tags": ["Sites Devices - WAN Cluster"]}, "put": {"deprecated": true, "description": "Swap nodes on the HA Cluster", "operationId": "swapSiteDeviceHaClusterNode", "tags": ["Sites Devices - WAN Cluster"]}}}, "image{image_number}": {"specs": {"delete": {"description": "Delete image from a device", "operationId": "deleteSiteDeviceImage", "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}, {"in": "path", "name": "image_number", "required": true, "schema": {"type": "integer"}}], "post": {"description": "Attach up to 3 images to a device", "operationId": "addSiteDeviceImage", "tags": ["Sites Devices"]}}}, "iot": {"specs": {"get": {"description": "Returns the current state of each enabled IoT pin configured as an output.", "operationId": "getSiteDeviceIotPort", "tags": ["Sites Devices - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "put": {"description": "**Note**: For each IoT pin referenced:\n * The pin must be enabled using the Device `iot_config` API\n * The pin must support the output direction", "operationId": "setSiteDeviceIotPort", "tags": ["Sites Devices - Wireless"]}}}, "local_port_config": {"specs": {"delete": {"description": "Sometimes HelpDesk Admin needs to change port configs", "operationId": "deleteSiteLocalSwitchPortConfig", "tags": ["Sites Devices - Wired"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "put": {"description": "Sometimes HelpDesk Admin needs to change port configs", "operationId": "updateSiteLocalSwitchPortConfig", "tags": ["Sites Devices - Wired"]}}}, "locate": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "### Access Points\nLocate an Access Point by blinking it's LED.\nIt is a persisted state that has to be stopped by calling Stop Locating API\n\n### Switches\nLocate a Switch by blinking all port LEDs. \nBy default, request is sent to `master` switch and LEDs will keep flashing for 5 minutes.\nIn case of virtual chassis (VC) the desired member mac has to be passed in the request payload. \nAt anypoint, only one VC member can be requested to flash the LED. \nTo stop LED flashing before the duration ends /unlocate API request can be made. \nIf /unlocate API is not called LED will continue to flash on device for the given duration. \nDefault duration is 5 minutes and 120 minutes is the maximum.", "operationId": "startSiteLocateDevice", "tags": ["Utilities Common"]}}}, "monitor_traffic": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Monitor traffic on switches and SRX.\n\nJUNOS uses cmd \u201cmonitor interface\u201d to monitor traffic on particular JUNOS uses cmd \u201cmonitor interface traffic\u201d to monitor traffic on all ports", "operationId": "monitorSiteDeviceTraffic", "tags": ["Utilities Common"]}}}, "ping": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Ping from AP, Switch and SSR\n\nPing can be performed from the Device. The output will be available through websocket. As there can be multiple command issued against the same AP at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```json\n{\n \"event\": \"data\",\n \"channel\": \"/sites/4ac1dcf4-9d8b-7211-65c4-057819f0862b/devices/00000000-0000-0000-1000-5c5b350e0060/cmd\",\n \"data\": {\n \"session\": \"session_id\",\n \"raw\": \"64 bytes from 23.211.0.110: seq=8 ttl=58 time=12.323 ms\\n\"\n }\n}\n```", "operationId": "pingFromDevice", "tags": ["Utilities Common"]}}}, "poll_stats": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "This API can be used to poll statistics from the Switch proactively once. After it is called, the statistics will be pushed back to the cloud within the statistics interval.", "operationId": "pollSiteSwitchStats", "tags": ["Utilities LAN"]}}}, "readopt": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "For the octerm devices, the device ID must come from fpc0. However, for a VC, the users may change the original fpc0 from CLI. To fix the issue, the readopt API could be used to trigger the readopt process so the device would get the corret device ID to connect the cloud.", "operationId": "readoptSiteOctermDevice", "tags": ["Utilities Common"]}}}, "release_dhcp": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Releases an active DHCP lease.", "operationId": "releaseSiteSsrDhcpLease", "tags": ["Utilities WAN"]}}}, "reprovision": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "To force one device to reprovision itself again.", "operationId": "reprovisionSiteOctermDevice", "tags": ["Utilities Common"]}}}, "request_ztp_password": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "In the case where soemthing happens during/after ZTP, the root-password is modified (required for ZTP to set up outbound-ssh) but the user-defined password config has not be configured. This API can be used to retrieve the temporary password.", "operationId": "getSiteDeviceZtpPassword", "tags": ["Utilities Common"]}}}, "resolve_dns": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "DNS resolutions are performed on the Device.\n\nThe output will be available through websocket. As there can be multiple command issued against the same SSR at the same time and the output all goes through the same websocket stream, `session` is used for demux.\n \n #### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```\n Router | Hostname | Resolved | Last Resolved | Expiration\n-------------|------------------------|----------|----------------------|---------------------\n test-device | xxx.yyy.net | Y | 2022-03-28T03:56:49Z | 2022-03-28T03:57:49Z\n```", "operationId": "testSiteSsrDnsResolution", "tags": ["Utilities WAN"]}}}, "restart": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Restart / Reboot a device", "operationId": "restartSiteDevice", "tags": ["Utilities Common"]}}}, "service_ping": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Ping from SSR\n\nService Ping can be performed from the Device. The output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```json\n{\n \"event\": \"data\",\n \"channel\": \"/sites/4ac1dcf4-9d8b-7211-65c4-057819f0862b/devices/00000000-0000-0000-1000-5c5b350e0060/cmd\",\n \"data\": {\n \"session\": \"session_id\",\n \"raw\": \"64 bytes from 23.211.0.110: seq=8 ttl=58 time=12.323 ms\\n\"\n }\n}\n```", "operationId": "servicePingFromSsr", "tags": ["Utilities WAN"]}}}, "shell": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Create Shell Session", "operationId": "createSiteDeviceShellSession", "tags": ["Utilities Common"]}}}, "show_arp": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Get ARP Table from the Device.\n\nThe output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, `session` is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n", "operationId": "getSiteDeviceArpTable", "tags": ["Utilities Common"]}}}, "show_bgp_rummary": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Get BGP Summary from SSR, SRX and Switch.\n\n\nThe output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, `session` is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \\\"subscribe\\\": \\\"/sites/{site_id}/devices/{device_id}/cmd\\\"\\\n\n}\n```\n\n##### Example output from ws stream\n```\nTue 2024-04-23 16:36:06 UTC\nRetrieving bgp entries...\nBGP table version is 354, local router ID is 10.224.8.16, vrf id 0\nDefault local pref 100, local AS 65000\nStatus codes: s suppressed, d damped, h history, * valid, > best, = multipath,\n i internal, r RIB_failure, S Stale, R Removed\nNexthop codes: @NNN nexthop's vrf id, < announce-nh-self\nOrigin codes: i - IGP, e - EGP, ? - incomplete\nRPKI validation codes: V valid, I invalid, N Not found\n\n Network Next Hop Metric LocPrf Weight Path\n*> 161.161.161.0/24\n```\"", "operationId": "getSiteDeviceBgpSummary", "tags": ["Utilities Common"]}}}, "show_evpn_database": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Get EVPN Database from the Device. The output will be available through websocket.", "operationId": "getSiteDeviceEvpnDatabase", "tags": ["Utilities Common"]}}}, "show_forwarding_table": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Get ARP Table from the Device.\n\nGet forwarding table from the Device. The output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, `session` is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n\n##### Example output from ws stream\n```\nMon 2024-05-20 16:47:30 UTC Retrieving fib entries\u2026 Entry Count: 3268 Capacity: 22668 ==================== ====== ======= ================== ===== ====================== =========== =========== ====== IP Prefix Port Proto Tenant VRF Service Next Hops Vector Cost ==================== ====== ======= ================== ===== ====================== =========== =========== ====== 0.0.0.0/0 0 None Old_Mgmt - internet-wan_and_lte 1-2.0 broadband 1 1-4.0 lte 10 branch1-Kiosk - internet-wan_and_lte 1-2.0 broadband 1 1-4.0 lte 10 branch1-MGT - internet-wan_and_lte 1-2.0 broadband 1 1-4.0 lte 10 3.1.1.0/24 0 None Old_Mgmt - internet-wan_and_lte 1-2.0 broadband 1 1-4.0 lte 10 branch1-Kiosk - internet-wan_and_lte 1-2.0 broadband 1 1-4.0 lte 10 branch1-MGT - internet-wan_and_lte 1-2.0 broadband 1 1-4.0 lte 10\n\n```\n", "operationId": "getSiteDeviceForwardingTable", "tags": ["Utilities Common"]}}}, "show_mac_table": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Get MAC Table from the Device.\n\nThe output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, `session` is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n", "operationId": "getSiteDeviceMacTable", "tags": ["Utilities Common"]}}}, "show_route": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Get routes from SSR, SRX and Switch. \n\nThe output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, `session` is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```\nadmin@labsystem1.fiedler# show bgp neighbors\nBGP neighbor is 192.168.4.1, remote AS 4200000001, local AS 4200000128, external\nlink\n BGP version 4, remote router ID 1.1.1.1\n BGP state = Established, up for 00:27:25\n Last read 00:00:25, hold time is 90, keepalive interval is 30 seconds\n Configured hold time is 90, keepalive interval is 30 seconds\n Neighbor capabilities:\n 4 Byte AS: advertised and received\n Route refresh: advertised and received(old & new)\n Address family IPv4 Unicast: advertised and received\n Graceful Restart Capabilty: advertised and received\n Remote Restart timer is 120 seconds\n Address families by peer:\n none\n ...\n```", "operationId": "getSiteSsrAndSrxRoutes", "tags": ["Utilities WAN"]}}}, "show_service_path": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Get service path information of the Device.\n\nThe output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```\nshow service_path\n\nService Service-route Type Destination Next-Hop Interface Vector Cost Rate Capacity State\n\nWeb web-route1 service_agent 4.4.4.4 1.1.1.2 lan red 10 1 200/3000 Up*\nWeb web-route1 service_agent 4.4.4.4 1.1.1.3 lan red 10 1 200/3000 Up\nWeb web-route2 service_agent 5.5.5.5 2.2.2.2 lan blue 20 2 50/unlimited Down\nLogin BgpOverSVR 10.1.1.1 1.2.3.4 wan red 10 3 - Up\nLogin BgpOverSVR 11.1.1.1 1.2.3.4 wan red 10 1 - Up\nApp1 Routed - - - - - - - -\nApp1 learned-routed Routed - - - - - - - -\n```", "operationId": "getSiteSsrServicePath", "tags": ["Utilities WAN"]}}}, "show_session": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Get active sessions passing through the Device.\n\nThe output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```\nadmin@ssr.node# show sessions\nFri 2020-04-17 16:55:34 UTC\n\nNode: node1\n\n====================================== ===== ============= =========== ========== ====== ======= ================= ========== ================= =========== ================= ========== =================== ========= =================\n Session Id Dir Service Tenant Dev Name VLAN Proto Src IP Src Port Dest IP Dest Port NAT IP NAT Port Payload Encrypted Timeout Uptime\n====================================== ===== ============= =========== ========== ====== ======= ================= ========== ================= =========== ================= ========== =================== ========= =================\n 01187fb8-765a-45e5-ae90-37d77f15e292 fwd Internet lanSubnet lan 0 udp 192.168.0.28 44674 35.166.173.18 9930 96.230.191.130 19569 false 154 0 days 0:00:28\n 01187fb8-765a-45e5-ae90-37d77f15e292 rev Internet lanSubnet wan 0 udp 35.166.173.18 9930 96.230.191.130 19569 0.0.0.0 0 false 154 0 days 0:00:28\n 0859a4ae-bcff-4aa6-b812-79a5236a6c13 fwd Internet lanSubnet lan 0 tcp 192.168.0.41 60843 17.249.171.246 443 96.230.191.130 51941 false 2 0 days 0:00:10\n\n```", "operationId": "getSiteSsrAndSrxSessions", "tags": ["Utilities WAN"]}}}, "snapshot": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Create recovery device snapshot (Available on Junos OS EX2300-, EX3400-, EX4400- devices)", "operationId": "createSiteDeviceSnapshot", "tags": ["Utilities LAN"]}}}, "support": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Support / Upload device support files\n\n#### Info Param\n**Parameter**|**Description** \n :-------------: |:-------------: |:-------------: \nprocess|Upload 1 file with output of show system processes extensive\noutbound-ssh|Upload 1 file that concatenates all /var/log/outbound-ssh.log* files\nmessages|Upload 1 to 10 /var/log/messages* files\ncore-dumps|Upload all core dump files, if any\nfull|string|Upload 1 file with output of request support information, 1 file that concatenates all /var/log/outbound-ssh.log files, all core dump files, the 3 most recent /var/log/messages files, and Mist agent logs (for Junos devices running the Mist agent)\nvar-logs|Upload all non-empty files in the /var/log/ directory\njma-logs|Upload Mist agent logs (for Junos devices running the Mist agent only)", "operationId": "uploadSiteDeviceSupportFile", "tags": ["Utilities Common"]}}}, "synthetic_test": {"specs": {"get": {"description": "Get Device Synthetic Test", "operationId": "getSiteDeviceSyntheticTest", "tags": ["Sites Synthetic Tests"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Trigger Device Synthetic Test", "operationId": "triggerSiteDeviceSyntheticTest", "tags": ["Sites Synthetic Tests"]}}}, "traceroute": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Traceroute can be performed from the Device.\n\nThe output will be available through websocket. As there can be multiple command issued against the same AP at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```", "operationId": "tracerouteFromDevice", "tags": ["Utilities Common"]}}}, "unlocate": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Stop Locate a Device", "operationId": "stopSiteLocateDevice", "tags": ["Utilities Common"]}}}, "upgrade": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Device Upgrade", "operationId": "upgradeDevice", "tags": ["Utilities Upgrade"]}}}, "upgrade_bios": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Upgrade device bios", "operationId": "upgradeDeviceBios", "tags": ["Utilities LAN"]}}}, "upgrade_fpga": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Upgrade device fpga", "operationId": "upgradeDeviceFPGA", "tags": ["Utilities LAN"]}}}, "vc": {"specs": {"delete": {"description": "When all the member switches of VC are removed and only member ID 0 is left, the cloud would detect this situation and automatically changes the single switch to non-VC role.\n\nFor some unexpected cases that the VC is gone and disconncted, the API below could be used to change the state of VC\u2019s switches to be standalone. After it is executed, all the switches will be shown as standalone switches under Inventory.", "operationId": "deleteSiteVirtualChassis", "tags": ["Sites Devices - Wired - Virtual Chassis"]}, "get": {"description": "Get VC Status\n\nThe API returns a combined view of the VC status which includes topology and stats_", "operationId": "getSiteDeviceVirtualChassis", "tags": ["Sites Devices - Wired - Virtual Chassis"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "For models (e.g. EX3400 and up) having dedicated VC ports, it is easier to form a VC by just connecting cables with the dedicated VC ports. Cloud will detect the new VC and update the inventory.\n\nIn case that the user would like to choose the dedicated switch as a VC master. Or for EX2300-C-12P and EX2300-C-12T which doesn\u2019t have dedicated VC ports, below are procedures to automate the VC creation:\n\n1. Power on the switch that is choosen as the VC master first. And the powering on the other member switches.\n2. Claim or adopt all these switches under the same organization\u2019s Inventory\n3. Assign these switches into the same Site\n4. Invoke vc command on the switch choosen to be the VC master. For EX2300-C-12P, VC ports will be created automatically.\n5. Connect the cables to the VC ports for these switches\n6. Wait for the VC to be formed. The Org\u2019s inventory will be updated for the new VC.", "operationId": "createSiteVirtualChassis", "tags": ["Sites Devices - Wired - Virtual Chassis"]}, "put": {"description": "The VC creation and adding member switch API will update the device\u2019s virtual chassis config which is applied after VC is formed to create JUNOS pre-provisioned virtual chassis configuration.\n\n## Change to use preprovisioned VC\nTo switch the VC to use preprovisioned VC, enable preprovisioned in virtual_chassis config. Both vc_role master and backup will be matched to routing-engine role in Junos preprovisioned VC config.\n\nIn this config, fpc0 has to be the same as the mac of device_id. Use renumber if you want to replace fpc0 which involves device_id change.\n\nNotice: to configure preprovisioned VC, every member of the VC must be in the inventory.\n\n## Add new members\nFor models (e.g. EX4300 and up) having dedicated VC ports, it is easier to add new member switches into a VC by just connecting cables with the dedicated VC ports. Cloud will detect the new members and update the inventory.\n\nFor EX2300 VC, adding new members requires to follow the procedures below:\n1. Powering on the new member switches and ensuring cables are not connected to any VC ports.\n2. Claim or adopt all new member switches under the VC\u2019s organization Inventory\n3. Assign all new member switches to the same Site as the VC\n4. Invoke vc command to add switches to the VC.\n5. Connect the cables to the VC ports for these switches\n6. After a while, the Org\u2019s Inventory shows this new switches has been added into the VC.\n\n## Removing member switch\nTo remove a member switch from the VC, following the procedures below:\n\n1. Ensuring the VC is connected to the cloud first\n2. Unplug the cable from the VC port of the switch\n3. Waiting for the VC state (vc_state) of this switch is changed to not-present\n4. Invoke update_vc with remove to remove this switch from the VC\n5. The Org\u2019s Inventory shows the switch is removed.\n\nPlease notice that member ID 0 (fpc0) cannot be removed. When a VC has two switches left, unpluging the cable may result in the situation that fpc0 becomes a line card (LC). When this situation is happened, please re-plug in the cable, wait for both switches becoming present (show virtual-chassis) and then removing the cable again.\n\n## Renumber a member switch\nWhen a member switch doesn\u2019t work properly and needed to be replaced, the renumber API could be used. The following two types of renumber are supported:\n\n1. Replace a non-fpc0 member switch\n2. Replace fpc0. When fpc0 is relaced, PAPI device config and JUNOS config will be both updated.\n\nFor renumber to work, the following procedures are needed: \n1. Ensuring the VC is connected to the cloud and the state of the member switch to be replaced must be non present. \n2. Adding the new member switch to the VC \n3. Waiting for the VC state (vc_state) of this VC to be updated to API server \n4. Invoke vc with renumber to replace the new member switch from fpc X to\n\n## Perprovision VC members\nBy specifying \u201cpreprovision\u201d op, you can convert the current VC to pre-provisioned mode, update VC members as well as specify vc_ports when adding new members for device models without dedicated vc ports. Use renumber for fpc0 replacement which involves device_id change.\n\nNote: \n1. vc_ports is used for adding new members and not needed if * the device model has dedicated vc ports, or * no new member is added \n2. New VC members to be added should exist in the same Site as the VC\n\nUpdate Device\u2019s VC config can achieve similar purpose by directly modifying current virtual_chassis config. However, it cannot fulfill requests to enabling vc_ports on new members that are yet to belong to current VC.", "operationId": "updateSiteVirtualChassisMember", "tags": ["Sites Devices - Wired - Virtual Chassis"]}}, "paths": {"vc_port": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Set VC port", "operationId": "setSiteVcPort", "tags": ["Sites Devices - Wired - Virtual Chassis"]}}}}}}}}}, "events": {"paths": {"fast_roam": {"specs": {"get": {"description": "Get Roaming Events data", "operationId": "getSiteRoamingEvents", "parameters": [{"description": "event type", "in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/fast_roam_result"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Events"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "system": {"paths": {"count": {"specs": {"get": {"description": "Count System Events", "operationId": "countSiteSystemEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_system_events_count_distinct"}}, {"$ref": "#/components/parameters/system_event_type"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Events"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search System Events", "operationId": "searchSiteSystemEvents", "parameters": [{"$ref": "#/components/parameters/system_event_type"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Events"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}}}, "evpn_topologies": {"specs": {"get": {"description": "Get the existing EVPN topology", "operationId": "listSiteEvpnTopologies", "tags": ["Sites EVPN Topologies"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "While all the `evpn_id` / `downlink_ips` can be specifidd by hand, the easiest way is to call the `build_vpn_topology` API, allowing you to examine the diff, and update it yourself. You can also simply call it with `overwrite=true` which will apply the updates for you.\n\n**Notes:**\n1. You can use `core` / `distribution` / `access` to create a CLOS topology\n2. You can also use `core` / `distribution` to form a 2-tier EVPN topology where ESI-Lag is configured distribution to connect to access switches\n3. In a small/medium campus, `collapsed-core` can be used where core switches are the inter-connected to do EVPN\n4. The API uses a few pre-defined parameters and best-practices to generate the configs. It can be customized by using `evpn_options` in Site Setting / Network Template. (e.g. a different subnet for the underlay)\n\n#### Collapsed Core\nIn a small-medium campus, EVPN can also be enabled only at the core switches (up to 4) by assigning all participating switches with `collapsed-core role`. When there are more than 2 switches, a ring-like topology will be formed.\n\n#### ESI-Lag\nIf the access switchess does not have EVPN support, you can take advantage of EVPN by setting up ESI-Lag on distribution switches\n\n#### Leaf / Access / Collapsed-Core\nFor leaf nodes in a EVPN topology, you\u2019d have to configure the IPs for networks that would participate in EVPN. Optionally, VRFs to isolate traffic from one tenant verus another", "operationId": "createSiteEvpnTopology", "tags": ["Sites EVPN Topologies"]}}, "paths": {"{evpn_topology_id}": {"specs": {"delete": {"description": "Delete the site EVPN Topology", "operationId": "deleteSiteEvpnTopology", "tags": ["Sites EVPN Topologies"]}, "get": {"description": "Get One EVPN Topology Detail", "operationId": "getSiteEvpnTopology", "tags": ["Sites EVPN Topologies"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/evpn_topology_id"}], "put": {"description": "Update the EVPN Topolgy", "operationId": "updateSiteEvpnTopology", "tags": ["Sites EVPN Topologies"]}}}}}, "gatewaytemplates": {"paths": {"derived": {"specs": {"get": {"description": "Get derived Gateway Templates for Site", "operationId": "getSiteGatewayTemplateDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"type": "boolean"}}], "tags": ["Sites Gateway Templates"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "guests": {"specs": {"get": {"description": "Get List of Site Guest Authorizations", "operationId": "listSiteAllGuestAuthorizations", "parameters": [{"description": "UUID of single or multiple (Comma separated) WLAN under Site `site_id` (to filter by WLAN)", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}], "tags": ["Sites Guests"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"count": {"specs": {"get": {"description": "Count Authorized Guest", "operationId": "countSiteGuestAuthorizations", "parameters": [{"example": "auth_method", "in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_guests_count_distinct"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Guests"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "derived": {"specs": {"get": {"description": "Get List of Site Guest Authorizations", "operationId": "listSiteAllGuestAuthorizationsDerived", "parameters": [{"description": "UUID of single or multiple (Comma separated) WLAN under Site `site_id` (to filter by WLAN)", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"description": "whether to get org level guests, default is false i.e get site level guests", "in": "query", "name": "cross_site", "schema": {"default": false, "type": "boolean"}}], "tags": ["Sites Guests"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Authorized Guest", "operationId": "searchSiteGuestAuthorization", "parameters": [{"example": "00000000-0000-0000-0000-000000000000", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"in": "query", "name": "auth_method", "schema": {"type": "string"}}, {"in": "query", "name": "ssid", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Guests"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "{guest_mac}": {"specs": {"delete": {"description": "Delete Guest Authorization", "operationId": "deleteSiteGuestAuthorization", "tags": ["Sites Guests"]}, "get": {"description": "Get Guest Authorization", "operationId": "getSiteGuestAuthorization", "tags": ["Sites Guests"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/guest_mac"}], "put": {"description": "Update Guest Authorization", "operationId": "updateSiteGuestAuthorization", "tags": ["Sites Guests"]}}}}}, "insights": {"paths": {"client": {"paths": {"{client_mac}": {"paths": {"{metric}": {"specs": {"get": {"description": "Get Client Insight Metrics\nSee metrics possibilities at /api/v1/const/insight_metrics", "operationId": "getSiteInsightMetricsForClient", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/interval"}], "tags": ["Sites Insights"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/client_mac"}, {"$ref": "#/components/parameters/metric"}]}}}}}}, "device": {"paths": {"{device_mac}": {"paths": {"{metric}": {"specs": {"get": {"description": "Get AP Insight Metrics\nSee metrics possibilities at /api/v1/const/insight_metrics", "operationId": "getSiteInsightMetricsForDevice", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/interval"}], "tags": ["Sites Insights"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/metric"}, {"$ref": "#/components/parameters/device_mac"}]}}}}}}, "rogues": {"specs": {"get": {"description": "Get List of Site Rogue/Neighbor APs", "operationId": "listSiteRogueAPs", "parameters": [{"$ref": "#/components/parameters/rogue_type"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/interval"}], "tags": ["Sites Rogues"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"clients": {"specs": {"get": {"description": "Get List of Site Rogue Clients", "operationId": "listSiteRogueClients", "parameters": [{"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/interval"}], "tags": ["Sites Rogues"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "{metric}": {"specs": {"get": {"description": "Get Site Insight Metrics\nSee metrics possibilities at /api/v1/const/insight_metrics", "operationId": "getSiteInsightMetrics", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/interval"}], "tags": ["Sites Insights"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/metric"}]}}}}, "licenses": {"paths": {"usages": {"specs": {"get": {"description": "This shows license usage (i.e. needed) based on the features enabled for the site.", "operationId": "getSiteLicenseUsage", "tags": ["Sites Licenses"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "location": {"paths": {"coverage": {"specs": {"get": {"description": "Get Beam Coverage Overview", "operationId": "getSiteBeamCoverageOverview", "parameters": [{"description": "map_id (filter by map_id)", "example": "00000000-0000-0000-0000-000000000000", "in": "query", "name": "map_id", "schema": {"type": "string"}}, {"in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/rf_client_type"}}, {"description": "client_type (as filter. optional)", "in": "query", "name": "client_type", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/resolution"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}], "tags": ["Sites Location"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "ml": {"paths": {"current": {"specs": {"get": {"description": "Get Machine Learning Current Stat\nFor each VBLE AP, it has ML model parameters (e.g. Path-loss-estimate, Intercept) as well as completion indicators (Level and PercentageComplete). For the completeness, ML takes N sample to finish its first level and use N*0.25 samples to complete each successive level. When a device is moved, the completeness will be reset as it has to re-learn.", "operationId": "getSiteMachineLearningCurrentStat", "parameters": [{"description": "map_id (as filter, optional)", "example": "00000000-0000-0000-0000-000000000000", "in": "query", "name": "map_id", "schema": {"type": "string"}}], "tags": ["Sites Location"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "defaults": {"specs": {"get": {"description": "Get Default PLF for Models", "operationId": "getSiteDefaultPlfForModels", "tags": ["Sites Location"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "device": {"paths": {"{device_id}": {"specs": {"delete": {"description": "Clear ML Overwrite for Device", "operationId": "clearSiteMlOverwriteForDevice", "tags": ["Sites Location"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "put": {"description": "Overwrite ML For Device", "operationId": "overwriteSiteMlForDevice", "tags": ["Sites Location"]}}}}}, "map": {"paths": {"{map_id}": {"specs": {"delete": {"description": "Clear ML Overwrite for Map", "operationId": "clearSiteMlOverwriteForMap", "tags": ["Sites Location"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "put": {"description": "Overwrite ML For Map", "operationId": "overwriteSiteMlForMap", "tags": ["Sites Location"]}}}}}, "reset": {"paths": {"map": {"paths": {"{map_id}": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "Reset ML Stats by Map", "operationId": "resetSiteMlStatsByMap", "tags": ["Sites Location"]}}}}}}}}}}}, "maps": {"specs": {"get": {"description": "Get List of Site Maps", "operationId": "listSiteMaps", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Maps"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site Map", "operationId": "createSiteMap", "tags": ["Sites Maps"]}}, "paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Import data from files is a multipart POST which has an file, an optional json, and an optional csv, to create floorplan, assign matching inventory to specific site, place ap if name or mac matches.\n\n# Note\nThis endpoint (at the site level), the AP must be already assigned to the site to be placed on the floorplan. If you want to place APs from the Org inventory, it is required to use the endpoint at the Org level [importOrgMaps](#operation/importOrgMaps)\n\n# CSV File Format\n```csv\nVendor AP name,Mist AP Mac\nUS Office AP-2,5c:5b:35:00:00:02\nUS Office AP-3,5c5b35000002\n```", "operationId": "importSiteMaps", "tags": ["Sites Maps"]}}}, "{map_id}": {"specs": {"delete": {"description": "Delete Site Map", "operationId": "deleteSiteMap", "tags": ["Sites Maps"]}, "get": {"description": "Get Site Map Details", "operationId": "getSiteMap", "tags": ["Sites Maps"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "put": {"description": "Update Site Map", "operationId": "updateSiteMap", "tags": ["Sites Maps"]}}, "paths": {"auto_orient": {"specs": {"delete": {"description": "This API is called to force stop auto placement for a given map", "operationId": "deleteSiteApAutoOrientation", "tags": ["Sites Maps - Auto-orientation"]}, "parameters": [{"$ref": "#/components/parameters/map_id"}, {"$ref": "#/components/parameters/site_id"}], "post": {"description": "This API is called to trigger a map for auto orientation. For auto orient feature to work, BLE data needs to be collected from the APs on the map. This precess is not disruptive unlike FTM collection. Repeated POST to this endpoint while a map is still running will be rejected.\n\nList of devices to provide suggestions for is an optional parameter that can be given to this API. This will provide auto orient suggestions only for the devices specified. If no list of devices is provided, all APs asociated with that map are considered by default", "operationId": "startSiteApAutoOrientation", "tags": ["Sites Maps - Auto-orientation"]}}}, "auto_placement": {"specs": {"delete": {"description": "This API is called to force stop auto placement for a given map", "operationId": "deleteSiteApAutoplacement", "tags": ["Sites Maps - Auto-placement"]}, "get": {"description": "This API is called to view the current status of auto placement for a given map.\n\n\n#### Status Descriptions\n\n| Status | Description |\n| --- | --- |\n| `pending` | Autoplacement has not been requested for this map |\n| `inprogress` | Autoplacement is currently processing |\n| `done` | The autoplacement process has completed |\n| `data_needed` | Additional position data is required for autoplacement. Users should verify the requested anchor APs have a position on the map |\n| `invalid_model` | Autoplacement is not supported on the model of the APs on the map |\n| `invalid_version` | Autoplacement is not supported with the APs current firmware version |\n| `error` | There was an error in the autoplacement process |", "operationId": "getSiteApAutoPlacement", "tags": ["Sites Maps - Auto-placement"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "This API is called to trigger a map for auto placement. For auto placement feature to work, RTT-FTM data need to be collected from the APs on the map. This scan is disruptive and therefore the user must be notified of service disrution during the functioning of auto placement Repeated POST to this endpoint while a map is still running will be rejected.\n\nList of devices to provide suggestions for is an optional parameter that can be given to this API. This will provide autoplacement suggestions only for the devices specified. If no list of devices is provided, all APs asociated with that map are considered by default", "operationId": "runSiteApAutoplacement", "tags": ["Sites Maps - Auto-placement"]}}}, "clear_auto_orient": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "This API is used to destroy the autoorientations of a map or subset of APs on a map.", "operationId": "clearSiteApAutoOrient", "tags": ["Sites Maps - Auto-orientation"]}}}, "clear_autoplacement": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "This API is used to destroy the cached autoplacement locations of a map or subset of APs on a map.", "operationId": "clearSiteApAutoplacement", "tags": ["Sites Maps - Auto-placement"]}}}, "image": {"specs": {"delete": {"description": "Delete Site Map Image", "operationId": "deleteSiteMapImage", "tags": ["Sites Maps"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "Add image map is a multipart POST which has an file (Image) and an optional json parameter", "operationId": "addSiteMapImage", "tags": ["Sites Maps"]}}}, "replace": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "Replace Map Image\n\n\nThis works like an PUT where the image will be replaced. If transform is provided, all the locations of the objects on the map (AP, Zone, Vbeacon, Beacon) will be transformed as well (relative to the new Map)", "operationId": "replaceSiteMapImage", "tags": ["Sites Maps"]}}}, "set_map": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "This API can be used to assign a list of AP Macs associated with site_id to the specified map_id. Note that map_id must be associated with corresponding site_id. This API obeys the following rules \n1. if AP is unassigned to any Map, it gets associated with map_id \n2. Any moved APs are returned in the response \n3. If the AP is considered a locked AP, no action will be taken", "operationId": "bulkAssignSiteApsToMap", "tags": ["Sites Maps"]}}}, "use_auto_ap_values": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "This API is used to accept or reject the cached autoplacement and auto orientation values of a map or subset of APs on a map. A rejected AP will retain its current X,Y and orientation until accpeted.", "operationId": "confirmSiteApLocalizationData", "tags": ["Sites Maps - Auto-placement"]}}}, "wayfinding": {"paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "This imports the vendor map meta data into the Map JSON. This is required by the SDK and App in order to access/render the vendor Map properly.", "operationId": "importSiteWayfindings", "tags": ["Sites Maps"]}}}}}}}}}, "mxedges": {"specs": {"get": {"description": "Get List of Site Mist Edges", "operationId": "listSiteMxEdges", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site Mist Edge", "operationId": "createSiteMxEdge", "tags": ["Sites MxEdges"]}}, "paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count Mist Edge Events", "operationId": "countSiteMxEdgeEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_mxedge_events_count_distinct"}}, {"description": "mist edge id", "in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"description": "mist edge cluster id", "in": "query", "name": "mxcluster_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/mxedge_event_type"}, {"description": "service running on mist edge(mxagent, tunterm etc)", "in": "query", "name": "service", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Site Mist Edge Events", "operationId": "searchSiteMistEdgeEvents", "parameters": [{"description": "mist edge id", "in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"description": "mist edge cluster id", "in": "query", "name": "mxcluster_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/mxedge_event_type"}, {"description": "service running on mist edge(mxagent, tunterm etc)", "in": "query", "name": "service", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "{mxedge_id}": {"specs": {"delete": {"description": "Delete Site Mist Edge", "operationId": "deleteSiteMxEdge", "tags": ["Sites MxEdges"]}, "get": {"description": "get Site Mist Edge", "operationId": "getSiteMxEdge", "tags": ["Sites MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/mxedge_id"}], "put": {"description": "Update Site Mist Edge settings", "operationId": "updateSiteMxEdge", "tags": ["Sites MxEdges"]}}, "paths": {"support": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/mxedge_id"}], "post": {"description": "Support / Upload Mist Edge support files", "operationId": "uploadSiteMxEdgeSupportFiles", "tags": ["Sites MxEdges"]}}}}}}}, "mxtunnels": {"paths": {"{mxtunnel_id}": {"paths": {"preempt_aps": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/mxtunnel_id"}], "post": {"description": "To preempt AP\u2019s which are not connected to preferred peer to the preferred peer", "operationId": "preemptSitesMxTunnel", "tags": ["Utilities MxEdge"]}}}}}}}, "nac_clients": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of NAC Clients", "operationId": "countSiteNacClients", "parameters": [{"description": "NAC Policy Rule ID, if matched", "in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_nac_clients_count_distinct"}}, {"description": "NAC Policy Rule ID, if matched", "in": "query", "name": "last_nacrule_id", "schema": {"type": "string"}}, {"description": "NAC Policy Rule Matched", "in": "query", "name": "nacrule_matched", "schema": {"type": "boolean"}}, {"description": "authentication type, e.g. \u201ceap-tls\u201d, \u201ceap-ttls\u201d, \u201ceap-teap\u201d, \u201cmab\u201d, \u201cdevice-auth\u201d", "in": "query", "name": "auth_type", "schema": {"type": "string"}}, {"description": "Vlan ID", "in": "query", "name": "last_vlan_id", "schema": {"type": "string"}}, {"description": "vendor of NAS device", "in": "query", "name": "last_nas_vendor", "schema": {"type": "string"}}, {"description": "SSO ID, if present and used", "in": "query", "name": "idp_id", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "last_ssid", "schema": {"type": "string"}}, {"description": "Username presented by the client", "in": "query", "name": "last_username", "schema": {"type": "string"}}, {"description": "start time, in epoch", "in": "query", "name": "timestamp", "schema": {"type": "number"}}, {"description": "AP MAC connected to by client", "in": "query", "name": "last_ap", "schema": {"type": "string"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Connection status of client i.e \u201cpermitted\u201d, \u201cdenied, \u201csession_ended\u201d", "in": "query", "name": "last_status", "schema": {"type": "string"}}, {"description": "Client type i.e. \u201cwireless\u201d, \u201cwired\u201d etc.", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "MDM compliancy of client i.e \u201ccompliant\u201d, \u201cnot compliant\u201d", "in": "query", "name": "mdm_compliance_status", "schema": {"type": "string"}}, {"description": "MDM provider of client\u2019s organisation eg \u201cintune\u201d, \u201cjamf\u201d", "in": "query", "name": "mdm_provider", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Sites Clients - NAC"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "events": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of NAC Client-Events", "operationId": "countSiteNacClientEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_nac_client_events_count_distinct"}}, {"$ref": "#/components/parameters/nac_event_type"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Clients - NAC"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search NAC Client Events", "operationId": "searchSiteNacClientEvents", "parameters": [{"$ref": "#/components/parameters/nac_event_type"}, {"description": "NAC Policy Rule ID, if matched", "in": "query", "name": "nacrule_id", "schema": {"format": "uuid", "type": "string"}}, {"description": "NAC Policy Rule Matched", "in": "query", "name": "nacrule_matched", "schema": {"type": "boolean"}}, {"description": "NAC Policy Dry Run Rule ID, if present and matched", "in": "query", "name": "dryrun_nacrule_id", "schema": {"type": "string"}}, {"description": "True - if dryrun rule present and matched with priority, False - if not matched or not present", "in": "query", "name": "dryrun_nacrule_matched", "schema": {"type": "boolean"}}, {"description": "authentication type, e.g. \u201ceap-tls\u201d, \u201ceap-ttls\u201d, \u201ceap-teap\u201d, \u201cmab\u201d, \u201cdevice-auth\u201d", "in": "query", "name": "auth_type", "schema": {"type": "string"}}, {"description": "Vlan ID", "in": "query", "name": "vlan", "schema": {"type": "integer"}}, {"description": "Vlan source, e.g. \"nactag\", \"usermac\"", "in": "query", "name": "vlan_source", "schema": {"type": "string"}}, {"description": "vendor of NAS device", "in": "query", "name": "nas_vendor", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "bssid", "schema": {"type": "string"}}, {"description": "SSO ID, if present and used", "in": "query", "name": "idp_id", "schema": {"format": "uuid", "type": "string"}}, {"description": "IDP returned roles/groups for the user", "in": "query", "name": "idp_role", "schema": {"type": "string"}}, {"description": "Username presented to the Identity Provider", "in": "query", "name": "idp_username", "schema": {"type": "string"}}, {"description": "Radius attributes returned by NAC to NAS Devive", "in": "query", "name": "resp_attrs", "schema": {"$ref": "#/components/schemas/strings"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "Username presented by the client", "in": "query", "name": "username", "schema": {"type": "string"}}, {"description": "labels derived from usermac entry", "in": "query", "name": "usermac_labels", "schema": {"$ref": "#/components/schemas/strings"}}, {"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "AP random macMAC", "in": "query", "name": "random_mac", "schema": {"type": "boolean"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Lookup(IDP etc.,) time taken in seconds", "in": "query", "name": "lookup_time_taken", "schema": {"type": "number"}}, {"description": "time, in epoch", "in": "query", "name": "timestamp", "schema": {"type": "number"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Clients - NAC"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "search": {"specs": {"get": {"description": "Search Site NAC Clients", "operationId": "searchSiteNacClients", "parameters": [{"description": "NAC Policy Rule ID, if matched", "in": "query", "name": "nacrule_id", "schema": {"type": "string"}}, {"description": "NAC Policy Rule Matched", "in": "query", "name": "nacrule_matched", "schema": {"type": "boolean"}}, {"description": "authentication type, e.g. \u201ceap-tls\u201d, \u201ceap-ttls\u201d, \u201ceap-teap\u201d, \u201cmab\u201d, \u201cdevice-auth\u201d", "in": "query", "name": "auth_type", "schema": {"type": "string"}}, {"description": "Vlan name or ID assigned to the client", "in": "query", "name": "vlan", "schema": {"type": "string"}}, {"description": "vendor of NAS device", "in": "query", "name": "nas_vendor", "schema": {"type": "string"}}, {"description": "SSO ID, if present and used", "in": "query", "name": "idp_id", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "Username presented by the client", "in": "query", "name": "username", "schema": {"type": "string"}}, {"description": "start time, in epoch", "in": "query", "name": "timestamp", "schema": {"type": "number"}}, {"description": "AP MAC connected to by client", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "ID of Mist Edge that the client is connected through", "in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"description": "NAC Policy Rule Name matched", "in": "query", "name": "nacrule_name", "schema": {"type": "string"}}, {"description": "Connection status of client i.e \u201cpermitted\u201d, \u201cdenied, \u201csession_ended\u201d", "in": "query", "name": "status", "schema": {"type": "string"}}, {"description": "Client type i.e. \u201cwireless\u201d, \u201cwired\u201d etc.", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "MDM compliancy of client i.e \u201ccompliant\u201d, \u201cnot compliant\u201d", "in": "query", "name": "mdm_compliance", "schema": {"type": "string"}}, {"description": "MDM provider of client\u2019s organisation eg \u201cintune\u201d, \u201cjamf\u201d", "in": "query", "name": "mdm_provider", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Sites Clients - NAC"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "networks": {"paths": {"derived": {"specs": {"get": {"description": "Retrieves the list of Networks available for the Site", "operationId": "listSiteNetworksDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"default": false, "type": "boolean"}}], "tags": ["Sites Networks"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "networktemplates": {"paths": {"derived": {"specs": {"get": {"description": "Get derived Network Templates for Site", "operationId": "getSiteNetworkTemplateDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"type": "boolean"}}], "tags": ["Sites Network Templates"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "otherdevices": {"specs": {"get": {"description": "Get List of Site other devices (3rd party devices)", "operationId": "listSiteOtherDevices", "parameters": [{"in": "query", "name": "vendor", "schema": {"type": "string"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}, {"in": "query", "name": "serial", "schema": {"type": "string"}}, {"in": "query", "name": "model", "schema": {"type": "string"}}, {"in": "query", "name": "name", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Devices - Others"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count Site OtherDevices Events", "operationId": "countSiteOtherDeviceEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_other_device_events_count_distinct"}}, {"$ref": "#/components/parameters/otherdevice_event_type"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Devices - Others"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Site OtherDevices Events", "operationId": "searchSiteOtherDeviceEvents", "parameters": [{"description": "mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "mac of attached device", "in": "query", "name": "device_mac", "schema": {"type": "string"}}, {"description": "vendor name", "in": "query", "name": "vendor", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/otherdevice_event_type"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Devices - Others"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}}}, "pcaps": {"specs": {"get": {"description": "Get List of Site Packet Captures", "operationId": "listSitePacketCaptures", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"description": "optional client mac filter", "in": "query", "name": "client_mac", "schema": {"type": "string"}}], "tags": ["Utilities PCAPs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"capture": {"specs": {"delete": {"description": "Stop current capture", "operationId": "stopSitePacketCapture", "tags": ["Utilities PCAPs"]}, "get": {"description": "Get Capturing status", "operationId": "getSiteCapturingStatus", "tags": ["Utilities PCAPs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Initiate a Site Packet Capture\n\nThe output will be available through websocket. As there can be multiple command issued against the same AP at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n subscribe: \"/sites/{site_id}/pcaps\"\n}\n```\n#### Response (MxEdge)\n```json\n{\n \"event\": \"data\"\n \"channel\": \"/sites/:site_id/pcaps\"\n \"data\": {\n \"capture_id\": \"6b1be4fb-b239-44d9-9d3b-cb1ff3af1721\",\n \"lost_messages\": 0\n \"pcap_dict\": {\n \"channel_frequency\": 2412,\n \"channel\": \"1\",\n \"datarate\": \"1.0 Mbps\",\n \"rssi\": -75, \n \"dst\": \"78:bd:bc:ca:0b:0a\",\n \"src\": \"18:b8:1f:4c:91:c0\",\n \"bssid\": \"18:b8:1f:4c:91:c0\",\n \"frame_type\": \"Management\", \n \"frame_subtype\": \"Probe Response\", \n \"proto\": \"802.11\", \n \"ap_mac\": \"d4:20:b0:81:99:2e\", \n \"direction\": \"tx\", \n \"timestamp\": 1652246543, \n \"length\": 416.0,\n \"interface\": \"radiotap\",\n \"info\": \"1652246544.467733 1683216786us tsft 1.0 Mb/s 2412 MHz 11g -75dBm signal -82dBm noise antenna 0 Probe Response (ATTKmsWiVS) [1.0* 2.0* 5.5* 11.0* 18.0 24.0 36.0 54.0 Mbit] CH: 2, PRIVACY\\\\n\",\n }, \n \"pcap_raw\": \"1MOyoQIABAAAAAAAAAAAAP//AAABAAAAEEh7Yh5VBwCgAQAAoAEAAAAAKwBvCADAAQAAAIw7reCS2VNkAAAAABACbAmABLWuAAEAEBgAAwACAABQADoBeL28ygsKGLgfTJHAGLgfTJHAcIZ2WDlBJQAAAGQAERUACkFUVEttc1dpVlMBCIKEi5YkMEhsAwECBwZVUyABCx4gAQAjAhkAKgEEMgQMEhhgMBQBAAAPrAQBAAAPrAQBAAAPrAIMAAsFAQAbAABGBTIIAQAALRqtCR////8AAAAAAAAAAAAAAAAAAAAAAAAAAD0WAggVAAAAAAAAAAAAAAAAAAAAAAAAAH8IBAAIAAAAAEDdkwBQ8gQQSgABEBBEAAECEDsAAQMQRwAQn2481frn3KT+uGod2ERx+RAhAAtBcnJpcywgSW5jLhAjAApCR1cyMTAtNzAwECQACkJHVzIxMC03MDAQQgAKQkdXMjEwLTcwMBBUAAgABgBQ8gQAARARAA5BcnJpcyBXaXJlbGVzcxAIAAIgCBA8AAEBEEkABgA3KgABIN0JABAYAgEQHAAA3RgAUPICAQGEAAOkAAAnpAAAQkNeAGIyLwAzjakr\"\n}\n```\n\n#### vResponse (Wired)\n```json\n{\n \"event\": \"data\"\n \"channel\": \"/sites/67970e46-4e12-11e6-9188-0242ac110007/pcaps\"\n \"data\": {\n \"capture_id\": \"f039b1b4-a23e-48b2-906a-0da40524de73\", \n \"pcap_dict\": {\n \"dst_mac\": \"68:ec:c5:09:2e:87\",\n \"src_mac\": \"8c:3b:ad:e0:47:40\", \n \"vlan\": 1, \n \"src_ip\": \"34.224.147.117\", \n \"dst_ip\": \"192.168.1.55\",\n \"dst_port\": 51635, \n \"src_port\": 443,\n \"proto\": \"TCP\", \n \"ap_mac\": \"d4:20:b0:81:99:2e\",\n \"direction\": \"tx\", \n \"timestamp\": 1652247615, \n \"length\": 159.0, \n \"interface\": \"wired\",\n \"info\": \"1652247616.007409 IP ec2-34-224-147-117.compute-1.amazonaws.com.https > ip-192-168-1-55.ec2.internal.51635: Flags [P.], seq 2192123968:2192124057, ack 4035166782, win 12, options [nop,nop,TS val 597467050 ecr 740580660], length 89\\\\n\",\n }, \n \"pcap_raw\": \"1MOyoQIABAAAAAAAAAAAAP//AAABAAAAQEx7YhMzAACfAAAAnwAAAGjsxQkuh4w7reBHQIEAAAEIAEUAAI1bLEAAKAZ/CiLgk3XAqAE3AbvJs4KpKEDwg8I+gBgADFf9AAABAQgKI5yfqiwkXTQXAwMAVKY5JopoKQrVEn0/3ld4YntctGEH/rTZuwtCvzSncFw71QJveJi9uxHs57KC8w9Apph3YvXJrmWg7M37+o+YV0KH/xmr626s5Bkhb3QhKOu+NoNEmA==\"\n\n }\n}\n```\n\n#### Stop Response (Wired/Wireless)\n```json\n{\n \"event\": \"data\"\n \"channel\": \"/sites/67970e46-4e12-11e6-9188-0242ac110007/pcaps\"\n \"data\": {\n \"capture_id\": \"a2f7374d-6a70-41fd-8a3f-71e42573baaf\", \n \"lost_messages\": 0,\n \"pcap_dict\": null\n }\n}\n```", "operationId": "startSitePacketCapture", "tags": ["Utilities PCAPs"]}}}, "{pcap_id}": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/pcap_id"}], "put": {"description": "Update or add notes to a completed packet capture", "operationId": "updateSitePacketCapture", "tags": ["Utilities PCAPs"]}}}}}, "psks": {"specs": {"get": {"description": "Get List of Site PSKs", "operationId": "listSitePsks", "parameters": [{"in": "query", "name": "ssid", "schema": {"type": "string"}}, {"in": "query", "name": "role", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/name"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Psks"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site PSK\n\n\nWhen `usage`==`macs`, corresponding \"macs\" field will hold a list consisting of client mac addresses ([\"xx:xx:xx:xx:xx\",...]) or mac patterns([\"xx:xx:*\",\"xx*\",...]) or both ([\"xx:xx:xx:xx:xx:xx\", \"xx:*\", ...]). This list is capped at 5000", "operationId": "createSitePsk", "tags": ["Sites Psks"]}, "put": {"description": "Update multiple PSKs", "operationId": "updateSiteMultiplePsks", "tags": ["Sites Psks"]}}, "paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Import PSK from CSV file or JSON\n\n## CSV File Format\n```csv\nPSK Import CSV File Format:\nname,ssid,passphrase,usage,vlan_id,mac\nCommon,warehouse,foryoureyesonly,single,35,a31425f31278\nJustin,reception,visible,multi,1002\n```", "operationId": "importSitePsks", "tags": ["Sites Psks"]}}}, "{psk_id}": {"specs": {"delete": {"description": "Delete Site PSK", "operationId": "deleteSitePsk", "tags": ["Sites Psks"]}, "get": {"description": "Get Site PSK Details", "operationId": "getSitePsk", "tags": ["Sites Psks"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/psk_id"}], "put": {"description": "Update Site PSK", "operationId": "updateSitePsk", "tags": ["Sites Psks"]}}}}}, "rfdiags": {"specs": {"get": {"description": "List RF Glass Recording", "operationId": "getSiteSiteRfdiagRecording", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Rfdiags"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Start RF Glass Recording", "operationId": "startSiteRecording", "tags": ["Sites Rfdiags"]}}, "paths": {"{rfdiag_id}": {"specs": {"delete": {"description": "Delete Recording", "operationId": "deleteSiteRfdiagRecording", "tags": ["Sites Rfdiags"]}, "get": {"description": "Get RF Diage Recording Details", "operationId": "getSiteRfdiagRecording", "tags": ["Sites Rfdiags"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/rfdiag_id"}], "put": {"description": "Update Recording", "operationId": "updateSiteRfdiagRecording", "tags": ["Sites Rfdiags"]}}, "paths": {"download": {"specs": {"get": {"description": "Download Recording\nDownload raw_events blob", "operationId": "downloadSiteRfdiagRecording", "tags": ["Sites Rfdiags"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/rfdiag_id"}]}}, "stop": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/rfdiag_id"}], "post": {"description": "If the recording session is active for the given rfdiag_id, it will finish the recording. duration and end_time will be updated to reflect the correct values.", "operationId": "stopSiteRfdiagRecording", "tags": ["Sites Rfdiags"]}}}}}}}, "rftemplates": {"paths": {"derived": {"specs": {"get": {"description": "Get derived RF Templates for Site", "operationId": "getSiteRfTemplateDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"type": "boolean"}}], "tags": ["Sites RF Templates"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "rogues": {"paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count Rogue Events", "operationId": "countSiteRogueEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_rogue_events_count_distinct"}}, {"$ref": "#/components/parameters/rogue_type"}, {"description": "ssid of the network detected as threat", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "bssid of the network detected as threat", "in": "query", "name": "bssid", "schema": {"type": "string"}}, {"description": "mac of the device that had strongest signal strength for ssid/bssid pair", "in": "query", "name": "ap_mac", "schema": {"type": "string"}}, {"description": "channel over which ap_mac heard ssid/bssid pair", "in": "query", "name": "channel", "schema": {"type": "string"}}, {"description": "whether the reporting AP see a wireless client (on LAN) connecting to it", "in": "query", "name": "seen_on_lan", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Rogues"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Rogue Events", "operationId": "searchSiteRogueEvents", "parameters": [{"$ref": "#/components/parameters/rogue_type"}, {"description": "ssid of the network detected as threat", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "bssid of the network detected as threat", "in": "query", "name": "bssid", "schema": {"type": "string"}}, {"description": "mac of the device that had strongest signal strength for ssid/bssid pair", "in": "query", "name": "ap_mac", "schema": {"type": "string"}}, {"description": "channel over which ap_mac heard ssid/bssid pair", "in": "query", "name": "channel", "schema": {"type": "integer"}}, {"description": "whether the reporting AP see a wireless client (on LAN) connecting to it", "in": "query", "name": "seen_on_lan", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Rogues"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "{rogue_bssid}": {"specs": {"get": {"description": "Get Rogue AP Details", "operationId": "getSiteRogueAP", "tags": ["Sites Rogues"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/rogue_bssid"}]}, "paths": {"deauth_clients": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/rogue_bssid"}], "post": {"description": "Send Deauth frame to clients connected to a Rogue AP", "operationId": "deauthSiteWirelessClientsConnectedToARogue", "tags": ["Utilities Wi-Fi"]}}}}}}}, "rrm": {"paths": {"current": {"specs": {"get": {"description": "Get Current Channel Planning", "operationId": "getSiteCurrentChannelPlanning", "tags": ["Sites RRM"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"devices": {"paths": {"{device_id}": {"paths": {"band": {"paths": {"{band}": {"specs": {"get": {"description": "Get Current RRM Considerations for an AP on a Specific Band", "operationId": "getSiteCurrentRrmConsiderations", "tags": ["Sites RRM"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}, {"description": "802.11 Band", "in": "path", "name": "band", "required": true, "schema": {"$ref": "#/components/schemas/dot11_band"}}]}}}}}}}}}}, "events": {"specs": {"get": {"description": "Get Site RRM Events", "operationId": "getSiteRrmEvents", "parameters": [{"$ref": "#/components/parameters/dot11_band"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites RRM"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "neighbors": {"paths": {"band": {"paths": {"{band}": {"specs": {"get": {"description": "Get Current RRM observed neighbors", "operationId": "getSiteCurrentRrmNeighbors", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites RRM"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"description": "802.11 Band", "in": "path", "name": "band", "required": true, "schema": {"$ref": "#/components/schemas/dot11_band"}}]}}}}}}, "optimize": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Optimize Site RRM", "operationId": "optimizeSiteRrm", "tags": ["Utilities Wi-Fi"]}}}}}, "rssizones": {"specs": {"get": {"description": "Get List of Site RSSI Zone (RSSI-based)", "operationId": "listSiteRssiZones", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites RSSI Zones"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create RSSI Zone", "operationId": "createSiteRssiZone", "tags": ["Sites RSSI Zones"]}}, "paths": {"{rssizone_id}": {"specs": {"delete": {"description": "Delete Site RSSI Zone", "operationId": "deleteSiteRssiZone", "tags": ["Sites RSSI Zones"]}, "get": {"description": "Get Site RSSI Zone details", "operationId": "getSiteRssiZone", "tags": ["Sites RSSI Zones"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/rssizone_id"}], "put": {"description": "Update Site RSSI Zone", "operationId": "updateSiteRssiZone", "tags": ["Sites RSSI Zones"]}}}}}, "servicepolicies": {"paths": {"derived": {"specs": {"get": {"description": "Retrieves the list of Service Policies available for the Site", "operationId": "listSiteServicePoliciesDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"default": false, "type": "boolean"}}], "tags": ["Sites Service Policies"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "services": {"paths": {"derived": {"specs": {"get": {"description": "Retrieves the list of Services available for the Site", "operationId": "listSiteServicesDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"default": false, "type": "boolean"}}], "tags": ["Sites Services"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "events": {"paths": {"count": {"specs": {"get": {"description": "Count Service Path Events", "operationId": "countSiteServicePathEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_service_events_count_distinct"}}, {"description": "Event type, e.g. GW_SERVICE_PATH_DOWN", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "Description of the event including the reason it is triggered", "in": "query", "name": "text", "schema": {"type": "string"}}, {"description": "Peer name", "in": "query", "name": "vpn_name", "schema": {"type": "string"}}, {"description": "Peer path name", "in": "query", "name": "vpn_path", "schema": {"type": "string"}}, {"description": "Service policy associated with that specific path", "in": "query", "name": "policy", "schema": {"type": "string"}}, {"description": "Network interface", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "Device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "Device firmware version", "in": "query", "name": "version", "schema": {"type": "string"}}, {"description": "Start time, in epoch", "in": "query", "name": "timestamp", "schema": {"type": "number"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Services"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Service Path Events", "operationId": "searchSiteServicePathEvents", "parameters": [{"description": "Event type, e.g. GW_SERVICE_PATH_DOWN", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "Description of the event including the reason it is triggered", "in": "query", "name": "text", "schema": {"type": "string"}}, {"description": "Peer name", "in": "query", "name": "vpn_name", "schema": {"type": "string"}}, {"description": "Peer path name", "in": "query", "name": "vpn_path", "schema": {"type": "string"}}, {"description": "Service policy associated with that specific path", "in": "query", "name": "policy", "schema": {"type": "string"}}, {"description": "Network interface", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "Device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "Device firmware version", "in": "query", "name": "version", "schema": {"type": "string"}}, {"description": "Start time, in epoch", "in": "query", "name": "timestamp", "schema": {"type": "number"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Services"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}}}, "setting": {"specs": {"get": {"description": "Get Site Settings", "operationId": "getSiteSetting", "tags": ["Sites Setting"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "put": {"description": "Update Site Settings", "operationId": "updateSiteSettings", "tags": ["Sites Setting"]}}, "paths": {"blacklist": {"specs": {"delete": {"description": "Delete Site Blacklist Station Clients", "operationId": "deleteSiteWirelessClientsBlocklist", "tags": ["Sites Setting"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "This endpoint is to provide list of client macs for annotation blacklist.\n\nRetrieve the current clients list `blacklist_url` under Site:Setting", "operationId": "createSiteWirelessClientsBlocklist", "tags": ["Sites Setting"]}}}, "jse": {"paths": {"info": {"specs": {"get": {"description": "Retrieves the list of JSE orgs associated with the account", "operationId": "getSiteJseInfo", "tags": ["Sites JSE"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "watched_station": {"specs": {"delete": {"description": "Delete Site Watched Station Clients", "operationId": "deleteSiteWatchedStations", "tags": ["Sites Setting"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "This endpoint is to provide list of client macs for annotation as watched station.\n\nRetrieve the current clients list from `watched_station_url` under Site:Setting", "operationId": "createSiteWatchedStations", "tags": ["Sites Setting"]}}}, "whitelist": {"specs": {"delete": {"description": "Delete Site Whitelist Station Clients", "operationId": "deleteSiteWirelessClientsAllowlist", "tags": ["Sites Setting"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "This endpoint is to provide list of client macs for annotation as whitelist.\n\nRetrieve the current clients list from `whitelist_url` under Site:Setting", "operationId": "createSiteWirelessClientsAllowlist", "tags": ["Sites Setting"]}}}}}, "sitetemplates": {"paths": {"derived": {"specs": {"get": {"description": "Get derived Site Templates for Site", "operationId": "getSiteSiteTemplateDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"type": "boolean"}}], "tags": ["Sites Site Templates"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "skyatp": {"paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Skyatp Events (WIP)", "operationId": "countSiteSkyatpEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_sky_atp_events_count_distinct"}}, {"description": "event type, e.g. cc, fs, mw", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "client MAC", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "device MAC", "in": "query", "name": "device_mac", "schema": {"type": "string"}}, {"description": "threat level", "in": "query", "name": "threat_level", "schema": {"type": "integer"}}, {"$ref": "#/components/parameters/ip"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Skyatp"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Skyatp Events (WIP)", "operationId": "searchSiteSkyatpEvents", "parameters": [{"description": "event type, e.g. cc, fs, mw", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "client MAC", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "device MAC", "in": "query", "name": "device_mac", "schema": {"type": "string"}}, {"description": "threat level", "in": "query", "name": "threat_level", "schema": {"type": "integer"}}, {"$ref": "#/components/parameters/ip"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Skyatp"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}}}, "sle": {"paths": {"{scope}": {"paths": {"{scope_id}": {"paths": {"metric": {"paths": {"{metric}": {"paths": {"classifier": {"paths": {"{classifier}": {"paths": {"summary": {"specs": {"get": {"description": "Get SLE classifier details", "operationId": "getSiteSleClassifierDetails", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"$ref": "#/components/schemas/sle_summary_scope"}}, {"description": "* site_id if `scope`==`site`\n* device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway`\n* mac if `scope`==`client`", "in": "path", "name": "scope_id", "required": true, "schema": {"type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}, {"in": "path", "name": "classifier", "required": true, "schema": {"type": "string"}}]}}}}}}, "classifiers": {"specs": {"get": {"description": "Get the list of classifiers for a specific metric", "operationId": "getSiteSleMetricClassifiers", "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"$ref": "#/components/schemas/site_sle_metric_classifiers_scope_parameters"}}, {"description": "* site_id if `scope`==`site`\n* device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway`\n* mac if `scope`==`client`", "in": "path", "name": "scope_id", "required": true, "schema": {"type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "histogram": {"specs": {"get": {"description": "Get the histogram for the SLE metric", "operationId": "getSiteSleHistogram", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"$ref": "#/components/schemas/site_sle_histogram_scope_parameters"}}, {"description": "* site_id if `scope`==`site`\n* device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway`\n* mac if `scope`==`client`", "in": "path", "name": "scope_id", "required": true, "schema": {"type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impact-summary": {"specs": {"get": {"description": "Get impact summary counts optionally filtered by classifier and failure type\n \n* Wireless SLE Fields: `wlan`, `device_type`, `device_os` ,`band`, `ap`, `server`, `mxedge`\n* Wired SLE Fields: `switch`, `client`, `vlan`, `interface`, `chassis`\n* WAN SLE Fields: `gateway`, `client`, `interface`, `chassis`, `peer_path`, `gateway_zones`", "operationId": "getSiteSleImpactSummary", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "fields", "schema": {"$ref": "#/components/schemas/site_sle_impact_summary_fields_parameter"}}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"$ref": "#/components/schemas/site_sle_impact_summary_scope_parameters"}}, {"description": "* site_id if `scope`==`site`\n* device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway`\n* mac if `scope`==`client`", "in": "path", "name": "scope_id", "required": true, "schema": {"type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impacted-applications": {"specs": {"get": {"description": "For WAN SLEs. Get list of impacted interfaces optionally filtered by classifier and failure type", "operationId": "getSiteSleImpactedApplications", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"$ref": "#/components/schemas/site_sle_scope"}}, {"in": "path", "name": "scope_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impacted-aps": {"specs": {"get": {"description": "For Wireless SLEs. Get list of impacted APs optionally filtered by classifier and failure type", "operationId": "getSiteSleImpactedAps", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"$ref": "#/components/schemas/site_sle_impacted_aps_scope_parameters"}}, {"in": "path", "name": "scope_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impacted-chassis": {"specs": {"get": {"description": "For Wired and WAN SLEs. Get list of impacted interfaces optionally filtered by classifier and failure type", "operationId": "getSiteSleImpactedChassis", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"$ref": "#/components/schemas/site_sle_impacted_chassis_scope_parameters"}}, {"in": "path", "name": "scope_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impacted-clients": {"specs": {"get": {"description": "For Wired SLEs. Get list of impacted interfaces optionally filtered by classifier and failure type", "operationId": "getSiteSleImpactedWiredClients", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"$ref": "#/components/schemas/site_sle_impacted_clients_scope_parameters"}}, {"in": "path", "name": "scope_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impacted-gateways": {"specs": {"get": {"description": "For WAN SLEs. Get list of impacted interfaces optionally filtered by classifier and failure type", "operationId": "getSiteSleImpactedGateways", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"$ref": "#/components/schemas/site_sle_impacted_gateways_scope_parameters"}}, {"in": "path", "name": "scope_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impacted-interfaces": {"specs": {"get": {"description": "For Wired and WAN SLEs. Get list of impacted interfaces optionally filtered by classifier and failure type", "operationId": "getSiteSleImpactedInterfaces", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"$ref": "#/components/schemas/site_sle_impacted_interfaces_scope_parameters"}}, {"in": "path", "name": "scope_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impacted-switches": {"specs": {"get": {"description": "For Wired SLEs. Get list of impacted switches optionally filtered by classifier and failure type", "operationId": "getSiteSleImpactedSwitches", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"$ref": "#/components/schemas/site_sle_impacted_switches_scope_parameters"}}, {"in": "path", "name": "scope_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impacted_users": {"specs": {"get": {"description": "For Wireless SLEs. Get list of impacted wireless users optionally filtered by classifier and failure type", "operationId": "getSiteSleImpactedWirelessClients", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"$ref": "#/components/schemas/site_sle_impacted_users_scope_parameter"}}, {"in": "path", "name": "scope_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "summary": {"specs": {"get": {"description": "Get the summary for the SLE metric", "operationId": "getSiteSleSummary", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"$ref": "#/components/schemas/site_sle_metric_summary_scope_parameters"}}, {"description": "* site_id if `scope`==`site`\n* device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway`\n* mac if `scope`==`client`", "in": "path", "name": "scope_id", "required": true, "schema": {"type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "threshold": {"specs": {"get": {"description": "Get the SLE threshold", "operationId": "getSiteSleThreshold", "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"$ref": "#/components/schemas/site_sle_threshold_scope_parameter"}}, {"description": "* site_id if `scope`==`site`\n* device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway`\n* mac if `scope`==`client`", "in": "path", "name": "scope_id", "required": true, "schema": {"type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}], "post": {"description": "Replace the SLE threshold", "operationId": "replaceSiteSleThreshold", "tags": ["Sites SLEs"]}, "put": {"description": "Update the SLE threshold", "operationId": "updateSiteSleThreshold", "tags": ["Sites SLEs"]}}}}}}}, "metrics": {"specs": {"get": {"description": "Get the list of metrics for the given scope", "operationId": "getSiteSlesMetrics", "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"$ref": "#/components/schemas/site_sle_metrics_scope_parameters"}}, {"description": "* site_id if `scope`==`site`\n* device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway`\n* mac if `scope`==`client`", "in": "path", "name": "scope_id", "required": true, "schema": {"type": "string"}}]}}}}}}}}, "ssr": {"paths": {"upgrade": {"paths": {"{upgrade_id}": {"specs": {"get": {"description": "Get Specific Site SSR Upgrade", "operationId": "getSiteSsrUpgrade", "tags": ["Utilities Upgrade"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/upgrade_id"}]}}}}, "{device_id}": {"paths": {"upgrade": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Upgrade Site SSR device", "operationId": "upgradeSsr", "tags": ["Utilities Upgrade"]}}}}}}}, "stats": {"specs": {"get": {"description": "Get Site Stats", "operationId": "getSiteStats", "tags": ["Sites"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"apps": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Applications", "operationId": "countSiteApps", "parameters": [{"description": "Default for wireless devices is `ap`. Default for wired devices is `device_mac`", "in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_apps_count_distinct"}}, {"description": "MAC of the device", "in": "query", "name": "device_mac", "schema": {"type": "string"}}, {"description": "Application name", "in": "query", "name": "app", "schema": {"type": "string"}}, {"description": "If a device is wired or wireless. Default is False.", "in": "query", "name": "wired", "schema": {"type": "string"}}], "tags": ["Sites Applications"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "assets": {"specs": {"get": {"description": "Get List of Site Assets Stats", "operationId": "listSiteAssetsStats", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Assets"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"asset_id": {"specs": {"get": {"description": "Get Site Asset Details", "operationId": "getSiteAssetStats", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Assets"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "count": {"specs": {"get": {"description": "Count Asset by distinct field", "operationId": "countSiteAssets", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_assets_count_distinct"}}], "tags": ["Sites Assets"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Assets Search", "operationId": "searchSiteAssets", "parameters": [{"in": "query", "name": "mac", "schema": {"type": "string"}}, {"in": "query", "name": "map_id", "schema": {"type": "string"}}, {"in": "query", "name": "ibeacon_uuid", "schema": {"type": "string"}}, {"in": "query", "name": "ibeacon_major", "schema": {"type": "integer"}}, {"in": "query", "name": "ibeacon_minor", "schema": {"type": "integer"}}, {"in": "query", "name": "eddystone_uid_namespace", "schema": {"type": "string"}}, {"in": "query", "name": "eddystone_uid_instance", "schema": {"type": "string"}}, {"in": "query", "name": "eddystone_url", "schema": {"type": "string"}}, {"in": "query", "name": "device_name", "schema": {"type": "string"}}, {"in": "query", "name": "by", "schema": {"type": "string"}}, {"in": "query", "name": "name", "schema": {"type": "string"}}, {"in": "query", "name": "ap_mac", "schema": {"type": "string"}}, {"in": "query", "name": "beam", "schema": {"type": "string"}}, {"in": "query", "name": "rssi", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Assets"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "beacons": {"specs": {"get": {"description": "Get List of Site Beacons Stats", "operationId": "listSiteBeaconsStats", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Beacons"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "bgp_peers": {"paths": {"count": {"specs": {"get": {"description": "Count BGP Stats", "operationId": "countSiteBgpStats", "parameters": [{"in": "query", "name": "state", "schema": {"type": "string"}}, {"in": "query", "name": "distinct", "schema": {"type": "string"}}], "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search BGP Stats", "operationId": "searchSiteBgpStats", "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "calls": {"paths": {"client": {"paths": {"{client_mac}": {"paths": {"troubleshoot": {"specs": {"get": {"description": "Troubleshoot a call", "operationId": "troubleshootSiteCall", "parameters": [{"description": "meeting_id", "in": "query", "name": "meeting_id", "required": true, "schema": {"type": "string"}}, {"description": "device identifier", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Third party app name", "in": "query", "name": "app", "schema": {"example": "zoom", "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Sites Calls"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/client_mac"}]}}}}}}, "count": {"specs": {"get": {"description": "Count by Distinct Attributes of Calls", "operationId": "countSiteCalls", "parameters": [{"in": "query", "name": "distrinct", "schema": {"$ref": "#/components/schemas/count_site_calls_distrinct"}}, {"description": "feedback rating (e.g. \"rating=1\" or \"rating=1,2\")", "in": "query", "name": "rating", "schema": {"maximum": 5, "minimum": 1, "type": "integer"}}, {"in": "query", "name": "app", "schema": {"type": "string"}}, {"in": "query", "name": "start", "schema": {"type": "string"}}, {"in": "query", "name": "end", "schema": {"type": "string"}}], "tags": ["Sites Calls"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Calls", "operationId": "searchSiteCalls", "parameters": [{"description": "device identifier", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Third party app name", "in": "query", "name": "app", "schema": {"example": "zoom", "type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Calls"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "troubleshoot": {"specs": {"get": {"description": "Summary of calls troubleshoot by site", "operationId": "listSiteTroubleshootCalls", "parameters": [{"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "meeting_id", "in": "query", "name": "meeting_id", "schema": {"type": "string"}}, {"description": "device identifier", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Third party app name", "in": "query", "name": "app", "schema": {"example": "zoom", "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Sites Calls"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/client_mac"}]}}}}, "clients": {"specs": {"get": {"description": "Get List of Site All Clients Stats Details", "operationId": "listSiteWirelessClientsStats", "parameters": [{"in": "query", "name": "wired", "schema": {"default": false, "type": "boolean"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"{client_mac}": {"specs": {"get": {"description": "Get Site Client Stats Details", "operationId": "getSiteWirelessClientStats", "parameters": [{"in": "query", "name": "wired", "schema": {"default": false, "type": "boolean"}}], "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/client_mac"}]}}}}, "devices": {"specs": {"get": {"description": "Get List of Site Devices Stats", "operationId": "listSiteDevicesStats", "parameters": [{"in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/device_type_with_all"}}, {"in": "query", "name": "status", "schema": {"$ref": "#/components/schemas/stat_device_status_filter"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"{device_id}": {"specs": {"get": {"description": "Get Site Device Stats Details", "operationId": "getSiteDeviceStats", "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}]}, "paths": {"clients": {"specs": {"get": {"description": "Get wireless client stat by Device", "operationId": "getSiteAllClientsStatsByDevice", "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}]}}}}}}, "discovered_assets": {"specs": {"get": {"description": "Get List of Site Discovered BLE Assets that doesn\u2019t match any of the Asset / Assetfilters", "operationId": "listSiteDiscoveredAssets", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Assets"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "discovered_switch_metrics": {"paths": {"search": {"specs": {"get": {"description": "Search Discovered Switch Metrics", "operationId": "searchSiteDiscoveredSwitchesMetrics", "parameters": [{"description": "metric scope", "in": "query", "name": "scope", "schema": {"$ref": "#/components/schemas/discovered_switches_metric_scope"}}, {"description": "metric type", "in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/discovered_switch_metric_type"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices - Discovered Switches"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "discovered_switches": {"paths": {"count": {"specs": {"get": {"description": "Count Discovered Switches", "operationId": "countSiteDiscoveredSwitches", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_discovered_switches_count_distinct"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices - Discovered Switches"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "metrics": {"specs": {"get": {"description": "Discovered switches related metrics, lists related switch system names & details if not compliant", "operationId": "getSiteDiscoveredSwitchesMetrics", "parameters": [{"description": "configurable # ap per switch threshold, default 12", "in": "query", "name": "threshold", "schema": {"type": "string"}}, {"description": "system name for switch level metrics, optional", "in": "query", "name": "system_name", "schema": {"type": "string"}}], "tags": ["Sites Devices - Discovered Switches"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Discovered Switches", "operationId": "searchSiteDiscoveredSwitches", "parameters": [{"in": "query", "name": "adopted", "schema": {"type": "boolean"}}, {"in": "query", "name": "system_name", "schema": {"type": "string"}}, {"in": "query", "name": "hostname", "schema": {"type": "string"}}, {"in": "query", "name": "vendor", "schema": {"type": "string"}}, {"in": "query", "name": "model", "schema": {"type": "string"}}, {"in": "query", "name": "version", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices - Discovered Switches"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "filtered_assets": {"specs": {"get": {"description": "Get a list of BLE beacons that matches Asset or AssetFilter", "operationId": "getSiteAssetsOfInterest", "parameters": [{"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Assets"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "gateways": {"paths": {"metrics": {"specs": {"get": {"description": "Get Site Gateway Metrics", "operationId": "getSiteGatewayMetrics", "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "maps": {"paths": {"{map_id}": {"paths": {"clients": {"specs": {"get": {"description": "Get Site Clients Stats By Map", "operationId": "getSiteWirelessClientsStatsByMap", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}]}}, "discovered_assets": {"specs": {"get": {"description": "Get a list of BLE beacons that we discovered (whether they\u2019re defined as assets or not)", "operationId": "getSiteDiscoveredAssetByMap", "tags": ["Sites Assets"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}]}}, "sdkclients": {"specs": {"get": {"description": "Get SdkClient Stats By Map", "operationId": "getSiteSdkStatsByMap", "tags": ["Sites Clients - SDK"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}]}}, "unconnected_clients": {"specs": {"get": {"description": "Get List of Site Unconnected Client Location", "operationId": "listSiteUnconnectedClientStats", "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}]}}}}}}, "mxedges": {"specs": {"get": {"description": "Get List of Site MxEdges Stats", "operationId": "listSiteMxEdgesStats", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"{mxedge_id}": {"specs": {"get": {"description": "Get One Site MxEdge Stats", "operationId": "getSiteMxEdgeStats", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/mxedge_id"}]}}}}, "ports": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Switch/Gateway Ports", "operationId": "countSiteSwOrGwPorts", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_ports_count_distinct"}}, {"description": "indicates full or half duplex", "in": "query", "name": "full_duplex", "schema": {"type": "boolean"}}, {"description": "device identifier", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Chassis identifier of the chassis type listed", "in": "query", "name": "neighbor_mac", "schema": {"type": "string"}}, {"description": "Description supplied by the system on the interface E.g. \u201cGigabitEthernet2/0/39\u201d", "in": "query", "name": "neighbor_port_desc", "schema": {"type": "string"}}, {"description": "Name supplied by the system on the interface E.g. neighbor system name E.g. \u201cKumar-Acc-SW.mist.local\u201d", "in": "query", "name": "neighbor_system_name", "schema": {"type": "string"}}, {"description": "is the POE configured not be disabled.", "in": "query", "name": "poe_disabled", "schema": {"type": "boolean"}}, {"description": "poe mode depending on class E.g. \u201c802.3at\u201d", "in": "query", "name": "poe_mode", "schema": {"type": "string"}}, {"description": "is the device attached to POE", "in": "query", "name": "poe_on", "schema": {"type": "boolean"}}, {"description": "interface name", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "interface mac address", "in": "query", "name": "port_mac", "schema": {"type": "string"}}, {"description": "Amount of power being used by the interface at the time the command is executed. Unit in watts.", "in": "query", "name": "power_draw", "schema": {"type": "number"}}, {"description": "Output packets", "in": "query", "name": "tx_pkts", "schema": {"type": "integer"}}, {"description": "Input packets", "in": "query", "name": "rx_pkts", "schema": {"type": "integer"}}, {"description": "Input bytes", "in": "query", "name": "rx_bytes", "schema": {"type": "integer"}}, {"description": "Output rate", "in": "query", "name": "tx_bps", "schema": {"type": "integer"}}, {"description": "Input rate", "in": "query", "name": "rx_bps", "schema": {"type": "integer"}}, {"description": "Multicast output packets", "in": "query", "name": "tx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast output packets", "in": "query", "name": "tx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "Multicast input packets", "in": "query", "name": "rx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast input packets", "in": "query", "name": "rx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "port speed", "in": "query", "name": "speed", "schema": {"type": "integer"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_state", "schema": {"$ref": "#/components/schemas/count_site_sw_or_gw_ports_stp_state"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_role", "schema": {"$ref": "#/components/schemas/count_site_sw_or_gw_ports_stp_role"}}, {"description": "if `up`==`true` && has Authenticator role", "in": "query", "name": "auth_state", "schema": {"$ref": "#/components/schemas/count_site_sw_or_gw_ports_auth_state"}}, {"description": "indicates if interface is up", "in": "query", "name": "up", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Switch / Gateway Ports", "operationId": "searchSiteSwOrGwPorts", "parameters": [{"description": "indicates full or half duplex", "in": "query", "name": "full_duplex", "schema": {"type": "boolean"}}, {"description": "device identifier", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "device type", "in": "query", "name": "device_type", "schema": {"$ref": "#/components/schemas/search_site_sw_or_gw_ports_device_type"}}, {"description": "Chassis identifier of the chassis type listed", "in": "query", "name": "neighbor_mac", "schema": {"type": "string"}}, {"description": "Description supplied by the system on the interface E.g. \u201cGigabitEthernet2/0/39\u201d", "in": "query", "name": "neighbor_port_desc", "schema": {"type": "string"}}, {"description": "Name supplied by the system on the interface E.g. neighbor system name E.g. \u201cKumar-Acc-SW.mist.local\u201d", "in": "query", "name": "neighbor_system_name", "schema": {"type": "string"}}, {"description": "is the POE configured not be disabled.", "in": "query", "name": "poe_disabled", "schema": {"type": "boolean"}}, {"description": "poe mode depending on class E.g. \u201c802.3at\u201d", "in": "query", "name": "poe_mode", "schema": {"type": "string"}}, {"description": "is the device attached to POE", "in": "query", "name": "poe_on", "schema": {"type": "boolean"}}, {"description": "interface name", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "interface mac address", "in": "query", "name": "port_mac", "schema": {"type": "string"}}, {"description": "Amount of power being used by the interface at the time the command is executed. Unit in watts.", "in": "query", "name": "power_draw", "schema": {"type": "number"}}, {"description": "Output packets", "in": "query", "name": "tx_pkts", "schema": {"type": "integer"}}, {"description": "Input packets", "in": "query", "name": "rx_pkts", "schema": {"type": "integer"}}, {"description": "Input bytes", "in": "query", "name": "rx_bytes", "schema": {"type": "integer"}}, {"description": "Output rate", "in": "query", "name": "tx_bps", "schema": {"type": "integer"}}, {"description": "Input rate", "in": "query", "name": "rx_bps", "schema": {"type": "integer"}}, {"description": "Output errors", "in": "query", "name": "tx_errors", "schema": {"type": "integer"}}, {"description": "Input errors", "in": "query", "name": "rx_errors", "schema": {"type": "integer"}}, {"description": "Multicast output packets", "in": "query", "name": "tx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast output packets", "in": "query", "name": "tx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "Multicast input packets", "in": "query", "name": "rx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast input packets", "in": "query", "name": "rx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "port speed", "in": "query", "name": "speed", "schema": {"type": "integer"}}, {"description": "Limit on number of dynamically learned macs", "in": "query", "name": "mac_limit", "schema": {"type": "integer"}}, {"description": "Number of mac addresses in the forwarding table", "in": "query", "name": "mac_count", "schema": {"type": "integer"}}, {"description": "indicates if interface is up", "in": "query", "name": "up", "schema": {"type": "boolean"}}, {"description": "indicates if interface is active/inactive", "in": "query", "name": "active", "schema": {"type": "boolean"}}, {"description": "Last sampled jitter of the interface", "in": "query", "name": "jitter", "schema": {"type": "number"}}, {"description": "Last sampled loss of the interface", "in": "query", "name": "loss", "schema": {"type": "number"}}, {"description": "Last sampled latency of the interface", "in": "query", "name": "latency", "schema": {"type": "number"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_state", "schema": {"$ref": "#/components/schemas/search_site_sw_or_gw_ports_stp_state"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_role", "schema": {"$ref": "#/components/schemas/search_site_sw_or_gw_ports_stp_role"}}, {"description": "Optic Slot Partnumber, Check for null/empty", "in": "query", "name": "xcvr_part_number", "schema": {"type": "string"}}, {"description": "if `up`==`true` && has Authenticator role", "in": "query", "name": "auth_state", "schema": {"$ref": "#/components/schemas/search_site_sw_or_gw_ports_auth_state"}}, {"description": "LTE IMSI value, Check for null/empty", "in": "query", "name": "lte_imsi", "schema": {"type": "string"}}, {"description": "LTE ICCID value, Check for null/empty", "in": "query", "name": "lte_iccid", "schema": {"type": "string"}}, {"description": "LTE IMEI value, Check for null/empty", "in": "query", "name": "lte_imei", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "sdkclients": {"paths": {"{sdkclient_id}": {"specs": {"get": {"description": "Get Detail Stats of a SdkClient", "operationId": "getSiteSdkStats", "tags": ["Sites Clients - SDK"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/sdkclient_id"}]}}}}, "switch_ports": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Switch/Gateway Ports", "operationId": "countSiteSwitchPorts", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_switch_ports_count_distinct"}}, {"description": "indicates full or half duplex", "in": "query", "name": "full_duplex", "schema": {"type": "boolean"}}, {"description": "device identifier", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Chassis identifier of the chassis type listed", "in": "query", "name": "neighbor_mac", "schema": {"type": "string"}}, {"description": "Description supplied by the system on the interface E.g. \u201cGigabitEthernet2/0/39\u201d", "in": "query", "name": "neighbor_port_desc", "schema": {"type": "string"}}, {"description": "Name supplied by the system on the interface E.g. neighbor system name E.g. \u201cKumar-Acc-SW.mist.local\u201d", "in": "query", "name": "neighbor_system_name", "schema": {"type": "string"}}, {"description": "is the POE configured not be disabled.", "in": "query", "name": "poe_disabled", "schema": {"type": "boolean"}}, {"description": "poe mode depending on class E.g. \u201c802.3at\u201d", "in": "query", "name": "poe_mode", "schema": {"type": "string"}}, {"description": "is the device attached to POE", "in": "query", "name": "poe_on", "schema": {"type": "boolean"}}, {"description": "interface name", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "interface mac address", "in": "query", "name": "port_mac", "schema": {"type": "string"}}, {"description": "Amount of power being used by the interface at the time the command is executed. Unit in watts.", "in": "query", "name": "power_draw", "schema": {"type": "number"}}, {"description": "Output packets", "in": "query", "name": "tx_pkts", "schema": {"type": "integer"}}, {"description": "Input packets", "in": "query", "name": "rx_pkts", "schema": {"type": "integer"}}, {"description": "Input bytes", "in": "query", "name": "rx_bytes", "schema": {"type": "integer"}}, {"description": "Output rate", "in": "query", "name": "tx_bps", "schema": {"type": "integer"}}, {"description": "Input rate", "in": "query", "name": "rx_bps", "schema": {"type": "integer"}}, {"description": "Multicast output packets", "in": "query", "name": "tx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast output packets", "in": "query", "name": "tx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "Multicast input packets", "in": "query", "name": "rx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast input packets", "in": "query", "name": "rx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "port speed", "in": "query", "name": "speed", "schema": {"type": "integer"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_state", "schema": {"$ref": "#/components/schemas/count_site_switch_ports_stp_state"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_role", "schema": {"$ref": "#/components/schemas/count_site_switch_ports_stp_role"}}, {"description": "if `up`==`true`", "in": "query", "name": "auth_state", "schema": {"$ref": "#/components/schemas/count_site_switch_ports_auth_state"}}, {"description": "indicates if interface is up", "in": "query", "name": "up", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Switch / Gateway Ports", "operationId": "searchSiteSwitchPorts", "parameters": [{"description": "indicates full or half duplex", "in": "query", "name": "full_duplex", "schema": {"type": "boolean"}}, {"description": "device identifier", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Chassis identifier of the chassis type listed", "in": "query", "name": "neighbor_mac", "schema": {"type": "string"}}, {"description": "Description supplied by the system on the interface E.g. \u201cGigabitEthernet2/0/39\u201d", "in": "query", "name": "neighbor_port_desc", "schema": {"type": "string"}}, {"description": "Name supplied by the system on the interface E.g. neighbor system name E.g. \u201cKumar-Acc-SW.mist.local\u201d", "in": "query", "name": "neighbor_system_name", "schema": {"type": "string"}}, {"description": "is the POE configured not be disabled.", "in": "query", "name": "poe_disabled", "schema": {"type": "boolean"}}, {"description": "poe mode depending on class E.g. \u201c802.3at\u201d", "in": "query", "name": "poe_mode", "schema": {"type": "string"}}, {"description": "is the device attached to POE", "in": "query", "name": "poe_on", "schema": {"type": "boolean"}}, {"description": "interface name", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "interface mac address", "in": "query", "name": "port_mac", "schema": {"type": "string"}}, {"description": "Amount of power being used by the interface at the time the command is executed. Unit in watts.", "in": "query", "name": "power_draw", "schema": {"type": "number"}}, {"description": "Output packets", "in": "query", "name": "tx_pkts", "schema": {"type": "integer"}}, {"description": "Input packets", "in": "query", "name": "rx_pkts", "schema": {"type": "integer"}}, {"description": "Input bytes", "in": "query", "name": "rx_bytes", "schema": {"type": "integer"}}, {"description": "Output rate", "in": "query", "name": "tx_bps", "schema": {"type": "integer"}}, {"description": "Input rate", "in": "query", "name": "rx_bps", "schema": {"type": "integer"}}, {"description": "Multicast output packets", "in": "query", "name": "tx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast output packets", "in": "query", "name": "tx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "Multicast input packets", "in": "query", "name": "rx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast input packets", "in": "query", "name": "rx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "port speed", "in": "query", "name": "speed", "schema": {"type": "integer"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_state", "schema": {"$ref": "#/components/schemas/search_site_switch_ports_stp_state"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_role", "schema": {"$ref": "#/components/schemas/search_site_switch_ports_stp_role"}}, {"description": "if `up`==`true` && has Authenticator role", "in": "query", "name": "auth_state", "schema": {"$ref": "#/components/schemas/search_site_switch_ports_auth_state"}}, {"description": "indicates if interface is up", "in": "query", "name": "up", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "switches": {"paths": {"metrics": {"specs": {"get": {"description": "Get version compliance metrics for managed or monitored switches", "operationId": "getSiteSwitchesMetrics", "parameters": [{"in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/switch_metric_type"}}, {"in": "query", "name": "scope", "schema": {"$ref": "#/components/schemas/switch_metric_scope"}}, {"description": "switch mac, used only with metric `type`==`active_ports_summary`", "in": "query", "name": "switch_mac", "schema": {"type": "string"}}], "tags": ["Sites Devices - Wired"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "wxrules": {"specs": {"get": {"description": "Get Wxlan Rule usage", "operationId": "getSiteWxRulesUsage", "tags": ["Sites WxRules"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "zones": {"specs": {"get": {"description": "Get List of Site Zones Stats", "operationId": "listSiteZonesStats", "parameters": [{"example": "00000000-0000-0000-0000-000000000000", "in": "query", "name": "map_id", "schema": {"type": "string"}}], "tags": ["Sites Zones"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "{zone_type}": {"paths": {"{zone_id}": {"specs": {"get": {"description": "Get Detail Zone Stats", "operationId": "getSiteZoneStats", "tags": ["Sites Zones"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/zone_type"}, {"$ref": "#/components/parameters/zone_id"}]}}}}}}, "subscriptions": {"specs": {"delete": {"description": "Unsubscribe to Site Alarms", "operationId": "UnsubscribeSiteAlarms", "tags": ["Sites Alarms"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Subscribe to Site Alarms", "operationId": "SubscribeSiteAlarms", "tags": ["Sites Alarms"]}}}, "synthetic_test": {"specs": {"get": {"description": "Get Synthetic Testing Status", "operationId": "getSiteSyntheticTestStatus", "tags": ["Sites Synthetic Tests"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Trigger Synthetic Testing", "operationId": "triggerSiteSyntheticTest", "tags": ["Sites Synthetic Tests"]}}, "paths": {"search": {"specs": {"get": {"description": "Search Site Synthetic Testing", "operationId": "searchSiteSyntheticTest", "parameters": [{"description": "Device MAC Address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "port_id used to run the test (for SSR only)", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "VLAN ID", "in": "query", "name": "vlan_id", "schema": {"type": "string"}}, {"description": "entity who triggers the test", "in": "query", "name": "by", "schema": {"type": "string"}}, {"description": "test failure reason", "in": "query", "name": "reason", "schema": {"type": "string"}}, {"description": "synthetic test type", "in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/synthetictest_type"}}], "tags": ["Sites Synthetic Tests"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "uisettings": {"specs": {"get": {"description": "Site UI settings", "operationId": "listSiteUiSettings", "tags": ["Sites UI Settings"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Site UI settings", "operationId": "createSiteUiSettings", "tags": ["Sites UI Settings"]}}, "paths": {"derived": {"specs": {"get": {"description": "Get both site UI settings(for_site=true) and org UI settings (for_site=false)", "operationId": "getSiteUiSettingDerived", "tags": ["Sites UI Settings"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "{uisetting_id}": {"specs": {"delete": {"description": "Site UI settings", "operationId": "deleteSiteUiSetting", "tags": ["Sites UI Settings"]}, "get": {"description": "Site UI settings", "operationId": "getSiteUiSetting", "tags": ["Sites UI Settings"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/uisetting_id"}], "post": {"description": "Site UI settings", "operationId": "updateSiteUiSetting", "tags": ["Sites UI Settings"]}}}}}, "vbeacons": {"specs": {"get": {"description": "Get List of Site Virtual Beacons", "operationId": "listSiteVBeacons", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites vBeacons"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Virtual Beacon", "operationId": "createSiteVBeacon", "tags": ["Sites vBeacons"]}}, "paths": {"{vbeacon_id}": {"specs": {"delete": {"description": "Delete Site Virtual Beacon", "operationId": "deleteSiteVBeacon", "tags": ["Sites vBeacons"]}, "get": {"description": "Get Site Virtual Beacon Details", "operationId": "getSiteVBeacon", "tags": ["Sites vBeacons"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/vbeacon_id"}], "put": {"description": "Update Site Virtual Beacon", "operationId": "updateSiteVBeacon", "tags": ["Sites vBeacons"]}}}}}, "vpns": {"paths": {"derived": {"specs": {"get": {"description": "VPN object represents an overlay network where gateways can participate in and optionally expose routes to.", "operationId": "listSiteVpnsDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"default": false, "type": "boolean"}}], "tags": ["Sites VPNs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "wan_client": {"paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Site WAN Client-Events", "operationId": "countSiteWanClientEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_wan_client_events_distinct"}}, {"$ref": "#/components/parameters/client_event_type"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Clients - Wan"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}}}, "wan_clients": {"paths": {"count": {"specs": {"get": {"description": "Count Site WAN Clients", "operationId": "countSiteWanClients", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_wan_clients_count_distinct"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Sites Clients - Wan"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "events": {"paths": {"search": {"specs": {"get": {"description": "Search Site WAN Client Events", "operationId": "searchSiteWanClientEvents", "parameters": [{"$ref": "#/components/parameters/client_event_type"}, {"description": "partial / full MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "client IP", "in": "query", "name": "ip", "schema": {"type": "string"}}, {"description": "Manufacture", "in": "query", "name": "mfg", "schema": {"type": "string"}}, {"description": "nacrule_id", "in": "query", "name": "nacrule_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Clients - Wan"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "search": {"specs": {"get": {"description": "Search Site WAN Clients", "operationId": "searchSiteWanClients", "parameters": [{"description": "partial / full MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "client IP", "in": "query", "name": "ip", "schema": {"type": "string"}}, {"description": "Manufacture", "in": "query", "name": "mfg", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Sites Clients - Wan"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "wan_usages": {"paths": {"count": {"specs": {"get": {"description": "Count Site WAN Uages", "operationId": "countSiteWanUsage", "parameters": [{"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Peer MAC address", "in": "query", "name": "peer_mac", "schema": {"type": "string"}}, {"description": "Port ID for the device", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "Peer Port ID for the device", "in": "query", "name": "peer_port_id", "schema": {"type": "string"}}, {"description": "policy for the wan path", "in": "query", "name": "policy", "schema": {"type": "string"}}, {"description": "tenant network in which the packet is sent", "in": "query", "name": "tenant", "schema": {"type": "string"}}, {"description": "path_type of the port", "in": "query", "name": "path_type", "schema": {"type": "string"}}, {"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/wan_usages_count_disctinct"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites WAN Usages"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Site WAN Uages", "operationId": "searchSiteWanUsage", "parameters": [{"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Peer MAC address", "in": "query", "name": "peer_mac", "schema": {"type": "string"}}, {"description": "Port ID for the device", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "Peer Port ID for the device", "in": "query", "name": "peer_port_id", "schema": {"type": "string"}}, {"description": "policy for the wan path", "in": "query", "name": "policy", "schema": {"type": "string"}}, {"description": "tenant network in which the packet is sent", "in": "query", "name": "tenant", "schema": {"type": "string"}}, {"description": "path_type of the port", "in": "query", "name": "path_type", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites WAN Usages"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "webhooks": {"specs": {"get": {"description": "Get List of Site Webhooks", "operationId": "listSiteWebhooks", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Webhooks"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Webhook defines a webhook, modeled after [github\u2019s model](https://developer.github.com/webhooks/).\n\nThere is two types of webhooks:\n* webhooks ([examples](https://www.postman.com/juniper-mist/workspace/mist-systems-s-public-workspace/folder/224925-be01e694-7253-4195-8563-78e2a745e114))\n* raw data webhooks ([examples](https://www.postman.com/juniper-mist/workspace/mist-systems-s-public-workspace/folder/224925-e2d5d5f8-4bdb-4efc-93e4-90f4b33d0b2b))\n\n##### Webhooks\nWebhooks can be configured at the org level (subset of topics only) and at the site level. It is possible to have multiple topics in the same webhook configuration and/or to have multiple webhooks configured at the same time.\n\n##### Client Raw Data Webhooks\nRaw data webhooks are a special subset of webhooks that provide insight into raw data packets emitted by a client, identified by their advertising MAC address (assets, discovered ble, connected wifi, unconnected wifi). The data that client raw data webhooks encompasses are reporting AP information, RSSI Data, and any special packets/telemetry packets that the client may emit. Note that client raw webhooks are the raw data coming from the client and do not contain the X,Y location data of the client. In order to get the location data for a client please see our location webhooks. Clients can be identified uniquely across these client raw data topics and location webhook topic using MAC address as the Unique identifier (client identifier).\n\n###### Client Raw Data Webhooks Topics\nTopics that correspond to client raw data for different client types. \n* `asset-raw-rssi` - Raw data from packets emitted by named and filtered assets \n* `discovered-raw-rssi` - Raw data from packets emitted by passive BLE devices \n* `wifi-conn-raw` - Raw data from packets emitted by connected devices \n* `wifi-unconn-raw` - Raw data from packets emitted by unconnected devices (passive)\n\n###### Rules for configuring client raw data webhooks\n1. Only one instance of a webhook object containing a client raw data webhook topic is allowed. (a site level entry will override an org level entry for the client raw data webhook topic in question)\n2. Only one client raw data webhook topic is allowed per `http-post` message to webhooks api\n", "operationId": "createSiteWebhook", "tags": ["Sites Webhooks"]}}, "paths": {"{webhook_id}": {"specs": {"delete": {"description": "Delete Site Webhook", "operationId": "deleteSiteWebhook", "tags": ["Sites Webhooks"]}, "get": {"description": "Get Site Webhook Details", "operationId": "getSiteWebhook", "tags": ["Sites Webhooks"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/webhook_id"}], "put": {"description": "Update Site Webhook", "operationId": "updateSiteWebhook", "tags": ["Sites Webhooks"]}}, "paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count Site Webhooks deliveries\n\n\nTopics Supported:\n- alarms\n- audits\n- device-updowns\n- occupancy-alerts\n- ping", "operationId": "countSiteWebhooksDeliveries", "parameters": [{"in": "query", "name": "error", "schema": {"type": "string"}}, {"in": "query", "name": "status_code", "schema": {"type": "integer"}}, {"description": "webhook delivery status", "in": "query", "name": "status", "schema": {"$ref": "#/components/schemas/webhook_delivery_status"}}, {"description": "webhook topic", "in": "query", "name": "topic", "schema": {"$ref": "#/components/schemas/webhook_delivery_topic"}}, {"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/webhook_delivery_distinct"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Webhooks"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/webhook_id"}]}}, "search": {"specs": {"get": {"description": "Search Site Webhooks deliveries\n\n\nTopics Supported:\n- alarms\n- audits\n- device-updowns\n- occupancy-alerts\n- ping", "operationId": "searchSiteWebhooksDeliveries", "parameters": [{"in": "query", "name": "error", "schema": {"type": "string"}}, {"in": "query", "name": "status_code", "schema": {"type": "integer"}}, {"description": "webhook delivery status", "in": "query", "name": "status", "schema": {"$ref": "#/components/schemas/webhook_delivery_status"}}, {"description": "webhook topic", "in": "query", "name": "topic", "schema": {"$ref": "#/components/schemas/webhook_delivery_topic"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Webhooks"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/webhook_id"}]}}}}, "ping": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/webhook_id"}], "post": {"description": "send a Ping event to the webhook", "operationId": "pingSiteWebhook", "tags": ["Sites Webhooks"]}}}}}}}, "wired_clients": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Clients", "operationId": "countSiteWiredClients", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_wired_clients_count_distinct"}}, {"description": "client mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "device mac", "in": "query", "name": "device_mac", "schema": {"type": "string"}}, {"description": "port id", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "vlan", "in": "query", "name": "vlan", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wired"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Wired Clients", "operationId": "searchSiteWiredClients", "parameters": [{"description": "device mac", "in": "query", "name": "device_mac", "schema": {"type": "string"}}, {"description": "client mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "client ip", "in": "query", "name": "ip", "schema": {"type": "string"}}, {"description": "port id", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "vlan", "in": "query", "name": "vlan", "schema": {"type": "string"}}, {"description": "manufacture", "in": "query", "name": "manufacture", "schema": {"type": "string"}}, {"description": "single entry of hostname/mac", "in": "query", "name": "text", "schema": {"type": "string"}}, {"description": "nacrule_id", "in": "query", "name": "nacrule_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wired"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "wlans": {"specs": {"get": {"description": "Get List of Site WLANs", "operationId": "listSiteWlans", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Wlans"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site WLAN", "operationId": "createSiteWlan", "tags": ["Sites Wlans"]}}, "paths": {"derived": {"specs": {"get": {"description": "Get Wlans Derived", "operationId": "listSiteWlanDerived", "parameters": [{"description": "whether to resolve SITE_VARS", "example": true, "in": "query", "name": "resolve", "schema": {"default": false, "type": "boolean"}}, {"description": "filter by WLAN ID", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}], "tags": ["Sites Wlans"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "{wlan_id}": {"specs": {"delete": {"description": "Delete Site WLAN", "operationId": "deleteSiteWlan", "tags": ["Sites Wlans"]}, "get": {"description": "Get Site WLAN", "operationId": "getSiteWlan", "tags": ["Sites Wlans"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/wlan_id"}], "put": {"description": "Update Site WLAN", "operationId": "updateSiteWlan", "tags": ["Sites Wlans"]}}, "paths": {"portal_image": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/wlan_id"}], "post": {"description": "Wlan Portal Image Upload", "operationId": "uploadSiteWlanPortalImage", "tags": ["Sites Wlans"]}}}, "portal_template": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/wlan_id"}], "put": {"description": "Update a Portal Template\n\n#### Sponsor Email Template\nSponsor Email Template supports following template variables:\n\n| **Name** | **Description** |\n| --- | --- |\n| approve_url | Renders URL to approve the request; optionally &minutes=N query param can be appended to change the Authorization period of the guest, where N is a valid integer denoting number of minutes a guest remains authorized |\n| deny_url | Renders URL to reject the request |\n| guest_email | Renders Email ID of the guest |\n| guest_name | Renders Name of the guest |\n| field1 | Renders value of the Custom Field 1 |\n| field2 | Renders value of the Custom Field 2 |\n| company | Renders value of the Company field |\n| sponsor_link_validity_duration | Renders validity time of the request (i.e. Approve/Deny URL) |\n| auth_expire_minutes | Renders Wlan-level configured Guest Authorization Expiration time period (in minutes), If not configured then default (1 day in minutes) |", "operationId": "updateSiteWlanPortalTemplate", "tags": ["Sites Wlans"]}}}}}}}, "wxrules": {"specs": {"get": {"description": "Get List of Site WxLan Rules", "operationId": "listSiteWxRules", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites WxRules"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site WxLan Rule", "operationId": "createSiteWxRule", "tags": ["Sites WxRules"]}}, "paths": {"derived": {"specs": {"get": {"description": "Get Site WxLan Rule Derived", "operationId": "getSiteWxRulesDerived", "tags": ["Sites WxRules"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "{wxrule_id}": {"specs": {"delete": {"description": "Delete Site WxLan Rule", "operationId": "deleteSiteWxRule", "tags": ["Sites WxRules"]}, "get": {"description": "Get Site WxLan Rule Details", "operationId": "getSiteWxRule", "tags": ["Sites WxRules"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/wxrule_id"}], "put": {"description": "Update Site WxLan Rule", "operationId": "updateSiteWxRule", "tags": ["Sites WxRules"]}}}}}, "wxtags": {"specs": {"get": {"description": "Get List of Site WxTags", "operationId": "listSiteWxTags", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites WxTags"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site WxTag", "operationId": "createSiteWxTag", "tags": ["Sites WxTags"]}}, "paths": {"apps": {"specs": {"get": {"description": "Get Application List", "operationId": "getSiteApplicationList", "tags": ["Sites WxTags"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "{wxtag_id}": {"specs": {"delete": {"description": "Delete Site WxTag", "operationId": "deleteSiteWxTag", "tags": ["Sites WxTags"]}, "get": {"description": "Get Site WxTag Details", "operationId": "getSiteWxTag", "tags": ["Sites WxTags"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/wxtag_id"}], "put": {"description": "Update Site WxTag", "operationId": "updateSiteWxTag", "tags": ["Sites WxTags"]}}, "paths": {"clients": {"specs": {"get": {"description": "Get Current Matching Clients of a WXLAN Tag", "operationId": "getSiteCurrentMatchingClientsOfAWxTag", "tags": ["Sites WxTags"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/wxtag_id"}]}}}}}}, "wxtunnels": {"specs": {"get": {"description": "Get List of Site WxLan Tunnels", "operationId": "listSiteWxTunnels", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites WxTunnels"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site WxLan Tunnel", "operationId": "createSiteWxTunnel", "tags": ["Sites WxTunnels"]}}, "paths": {"{wxtunnel_id}": {"specs": {"delete": {"description": "Delete Site WxLan Tunnel", "operationId": "deleteSiteWxTunnel", "tags": ["Sites WxTunnels"]}, "get": {"description": "Get Site WxLan tunnel Details", "operationId": "getSiteWxTunnel", "tags": ["Sites WxTunnels"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/wxtunnel_id"}], "put": {"description": "Update Site WxLan Tunnel", "operationId": "updateSiteWxTunnel", "tags": ["Sites WxTunnels"]}}}}}, "zones": {"specs": {"get": {"description": "Get List of Site Zones", "operationId": "listSiteZones", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Zones"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site Zone", "operationId": "createSiteZone", "tags": ["Sites Zones"]}}, "paths": {"{zone_id}": {"specs": {"delete": {"description": "Delete Site Zone", "operationId": "deleteSiteZone", "tags": ["Sites Zones"]}, "get": {"description": "Get Site Zone Details", "operationId": "getSiteZone", "tags": ["Sites Zones"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/zone_id"}], "put": {"description": "Update Site Zone", "operationId": "updateSiteZone", "tags": ["Sites Zones"]}}}}}, "{zone_type}": {"paths": {"count": {"specs": {"get": {"description": "Count Site Zone Sessions", "operationId": "countSiteZoneSessions", "parameters": [{"example": "scope_id", "in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_zone_count_distinct"}}, {"description": "user type", "in": "query", "name": "user_type", "schema": {"$ref": "#/components/schemas/rf_client_type"}}, {"description": "client MAC / Asset MAC / SDK UUID", "in": "query", "name": "user", "schema": {"type": "string"}}, {"description": "if `scope`==`map`/`zone`/`rssizone`, the scope id", "in": "query", "name": "scope_id", "schema": {"type": "string"}}, {"description": "scope", "in": "query", "name": "scope", "schema": {"$ref": "#/components/schemas/zone_scope"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Zones"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/zone_type"}]}}, "visits": {"paths": {"search": {"specs": {"get": {"description": "Search Zone Sessions", "operationId": "searchSiteZoneSessions", "parameters": [{"description": "user type, client (default) / sdkclient / asset", "in": "query", "name": "user_type", "schema": {"$ref": "#/components/schemas/rf_client_type"}}, {"description": "client MAC / Asset MAC / SDK UUID", "in": "query", "name": "user", "schema": {"type": "string"}}, {"description": "if `scope`==`map`/`zone`/`rssizone`, the scope id", "in": "query", "name": "scope_id", "schema": {"type": "string"}}, {"description": "scope", "in": "query", "name": "scope", "schema": {"$ref": "#/components/schemas/visits_scope"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Zones"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/zone_type"}]}}}}}}}}}}, "utils": {"paths": {"test_telstra": {"specs": {"post": {"description": "Allows validation of Telstra sms gateway credentials.\n\nIn case of success, a text message confirming successful setup should be received. In case of error, telstra error message are returned.", "operationId": "testSiteWlanTelstraSetup", "tags": ["Utilities Wi-Fi"]}}}, "test_twilio": {"specs": {"post": {"description": "Allows validation of twilio setup\nIn case of success, a text message confirming successful setup should be received. In case of error, twilio error code and message are returned.", "operationId": "testSiteWlanTwilioSetup", "tags": ["Utilities Wi-Fi"]}}}}}}}}}, "webhook_example": {"paths": {"_alarm_": {"specs": {"post": {"description": "Webhook sample for `alarm` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "alarms", "tags": ["Samples - Webhook"]}}}, "_asset_raw_": {"specs": {"post": {"description": "Webhook sample for `asset_raw` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages\n\n**will be deprecated after 06/30/2024**", "operationId": "assetRaw", "tags": ["Samples - Webhook"]}}}, "_audit_": {"specs": {"post": {"description": "Webhook sample for `audit` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "audits", "tags": ["Samples - Webhook"]}}}, "_client_info_": {"specs": {"post": {"description": "Webhook sample for `client_info` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "clientInfo", "tags": ["Samples - Webhook"]}}}, "_client_join_": {"specs": {"post": {"description": "Webhook sample for `client_join` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "clientJoin", "tags": ["Samples - Webhook"]}}}, "_client_latency_": {"specs": {"post": {"description": "Webhook sample for `client-latency` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "client_latency", "tags": ["Samples - Webhook"]}}}, "_client_sessions_": {"specs": {"post": {"description": "Webhook sample for `client_sessions` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "clientSessions", "tags": ["Samples - Webhook"]}}}, "_device_events_": {"specs": {"post": {"description": "Webhook sample for `device_events` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "deviceEvents", "tags": ["Samples - Webhook"]}}}, "_device_updowns_": {"specs": {"post": {"description": "Webhook sample for `device_updowns` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "deviceUpDown", "tags": ["Samples - Webhook"]}}}, "_discovered_raw_rssi_": {"specs": {"post": {"description": "Webhook sample for `discovered-raw-rssi` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "discovered-raw-rssi", "tags": ["Samples - Webhook"]}}}, "_location_": {"specs": {"post": {"description": "Webhook sample for `location` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "location", "tags": ["Samples - Webhook"]}}}, "_location_asset_": {"specs": {"post": {"description": "Webhook sample for `location_asset` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "location_asset", "tags": ["Samples - Webhook"]}}}, "_location_centrak_": {"specs": {"post": {"description": "Webhook sample for `location_centrak` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "location_centrak", "tags": ["Samples - Webhook"]}}}, "_location_client_": {"specs": {"post": {"description": "Webhook sample for `location_client` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "location_client", "tags": ["Samples - Webhook"]}}}, "_location_sdk_": {"specs": {"post": {"description": "Webhook sample for `location_sdk` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "location_sdk", "tags": ["Samples - Webhook"]}}}, "_location_unclient_": {"specs": {"post": {"description": "Webhook sample for `location_unclient` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "location_unclient", "tags": ["Samples - Webhook"]}}}, "_nac_accounting_": {"specs": {"post": {"description": "Webhook sample for `nac-accounting` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "nacAccounting", "tags": ["Samples - Webhook"]}}}, "_nac_events_": {"specs": {"post": {"description": "Example Delivery of nac_events", "operationId": "nac_events", "tags": ["Samples - Webhook"]}}}, "_occupancy_alerts_": {"specs": {"post": {"description": "Webhook sample for `occupancy_alerts` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "occupancyAlerts", "tags": ["Samples - Webhook"]}}}, "_ping_": {"specs": {"post": {"description": "Webhook sample for `ping` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "ping", "tags": ["Samples - Webhook"]}}}, "_sdkclient_scan_data": {"specs": {"post": {"description": "Webhook sample for `sdkclient_scan_data` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "sdkclientScanData", "tags": ["Samples - Webhook"]}}}, "_site_sle_": {"specs": {"post": {"description": "Webhook sample for `site_sle` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "site_sle", "tags": ["Samples - Webhook"]}}}, "_zone_": {"specs": {"post": {"description": "Webhook sample for `zone` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "zone", "tags": ["Samples - Webhook"]}}}}}}, "components": {"parameters": {"account_id": {"in": "path", "name": "account_id", "required": true, "schema": {"example": "iojzXIJWEuiD73ZvydOfg", "type": "string"}}, "admin_id": {"in": "path", "name": "admin_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "alarm_id": {"in": "path", "name": "alarm_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "alarmtemplate_id": {"in": "path", "name": "alarmtemplate_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "apitoken_id": {"in": "path", "name": "apitoken_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "aptemplate_id": {"in": "path", "name": "aptemplate_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, "asset_id": {"in": "path", "name": "asset_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "assetfilter_id": {"in": "path", "name": "assetfilter_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "attachment_id": {"in": "path", "name": "attachment_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "beacon_id": {"in": "path", "name": "beacon_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "client_event_type": {"description": "see [listDeviceEventsDefinitions](/#operations/listDeviceEventsDefinitions)", "in": "query", "name": "type", "schema": {"type": "string"}}, "client_mac": {"in": "path", "name": "client_mac", "required": true, "schema": {"example": "0000000000ab", "pattern": "^[0-9a-fA-F]{12}$", "type": "string"}}, "country_code": {"description": "country code, in two-character", "in": "query", "name": "country_code", "schema": {"example": "US", "pattern": "^[a-zA-Z]{2}$", "type": "string"}}, "device_event_type": {"description": "see [listDeviceEventsDefinitions](/#operations/listDeviceEventsDefinitions)", "in": "query", "name": "type", "schema": {"type": "string"}}, "device_id": {"in": "path", "name": "device_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "device_mac": {"in": "path", "name": "device_mac", "required": true, "schema": {"example": "0000000000ab", "pattern": "^[0-9a-fA-F]{12}$", "type": "string"}}, "deviceprofile_id": {"in": "path", "name": "deviceprofile_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "dot11_band": {"description": "802.11 Band", "in": "query", "name": "band", "schema": {"$ref": "#/components/schemas/dot11_band"}}, "dot11_proto": {"description": "a / b / g / n / ac / ax", "in": "query", "name": "proto", "schema": {"$ref": "#/components/schemas/dot11_proto"}}, "duration": {"description": "duration like 7d, 2w", "in": "query", "name": "duration", "required": false, "schema": {"default": "1d", "example": "10m", "type": "string"}}, "end": {"description": "end datetime, can be epoch or relative time like -1d, -2h; now if not specified", "in": "query", "name": "end", "schema": {"type": "integer"}}, "evpn_topology_id": {"in": "path", "name": "evpn_topology_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "fields": {"description": "list of additional fields requests, comma separeted, or `fields=*` for all of them", "in": "query", "name": "fields", "required": false, "schema": {"example": "field1,field2", "type": "string"}}, "gatewaytemplate_id": {"in": "path", "name": "gatewaytemplate_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "guest_mac": {"in": "path", "name": "guest_mac", "required": true, "schema": {"example": "0000000000ab", "pattern": "^[0-9a-fA-F]{12}$", "type": "string"}}, "idpprofile_id": {"in": "path", "name": "idpprofile_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "image_name": {"in": "path", "name": "image_name", "required": true, "schema": {"type": "string"}}, "interval": {"description": "Aggregation works by giving a time range plus interval (e.g. 1d, 1h, 10m) where aggregation function would be applied to.", "in": "query", "name": "interval", "required": false, "schema": {"example": "10m", "type": "string"}}, "invite_id": {"in": "path", "name": "invite_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "ip": {"in": "query", "name": "ip_address", "required": false, "schema": {"example": "192.168.1.1", "format": "ipv4", "type": "string"}}, "limit": {"in": "query", "name": "limit", "required": false, "schema": {"default": 100, "minimum": 0, "type": "integer"}}, "map_id": {"in": "path", "name": "map_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "marvisinvite_id": {"in": "path", "name": "marvisinvite_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "metric": {"description": "see /api/v1/const/insight_metrics for available metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}, "msp_id": {"in": "path", "name": "msp_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "mxcluster_id": {"in": "path", "name": "mxcluster_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "mxedge_event_type": {"description": "see [listDeviceEventsDefinitions](/#operations/listDeviceEventsDefinitions)", "in": "query", "name": "type", "schema": {"type": "string"}}, "mxedge_id": {"in": "path", "name": "mxedge_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "mxtunnel_id": {"in": "path", "name": "mxtunnel_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "nac_event_type": {"description": "see [listDeviceEventsDefinitions](/#operations/listNacEventsDefinitions)", "in": "query", "name": "type", "schema": {"type": "string"}}, "naccrl_id": {"in": "path", "name": "naccrl_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, "nacportal_id": {"in": "path", "name": "nacportal_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "nacrule_id": {"in": "path", "name": "nacrule_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "nactag_id": {"in": "path", "name": "nactag_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "name": {"in": "query", "name": "name", "required": false, "schema": {"type": "string"}}, "network_id": {"in": "path", "name": "network_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "networktemplate_id": {"in": "path", "name": "networktemplate_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "org_id": {"in": "path", "name": "org_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "orggroup_id": {"in": "path", "name": "orggroup_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "otherdevice_event_type": {"description": "see [listDeviceEventsDefinitions](/#operations/listOtherDeviceEventsDefinitions)", "in": "query", "name": "type", "schema": {"type": "string"}}, "page": {"in": "query", "name": "page", "required": false, "schema": {"default": 1, "minimum": 1, "type": "integer"}}, "pcap_id": {"in": "path", "name": "pcap_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, "psk_id": {"description": "PSK ID", "in": "path", "name": "psk_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "psk_id_query": {"description": "PSK ID", "in": "query", "name": "psk_id", "required": false, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "type": "string"}}, "pskportal_id": {"in": "path", "name": "pskportal_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "q": {"description": "search string", "in": "query", "name": "q", "schema": {"example": "search", "type": "string"}}, "resolution": {"in": "query", "name": "resolution", "schema": {"$ref": "#/components/schemas/resolution"}}, "rfdiag_id": {"in": "path", "name": "rfdiag_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "rftemplate_id": {"in": "path", "name": "rftemplate_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "rogue_bssid": {"in": "path", "name": "rogue_bssid", "required": true, "schema": {"example": "0000000000ab", "pattern": "^[0-9a-fA-F]{12}$", "type": "string"}}, "rogue_type": {"in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/rogue_type"}}, "rssizone_id": {"in": "path", "name": "rssizone_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "sdkclient_id": {"in": "path", "name": "sdkclient_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "sdkinvite_id": {"in": "path", "name": "sdkinvite_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "sdktemplate_id": {"in": "path", "name": "sdktemplate_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "secpolicy_id": {"in": "path", "name": "secpolicy_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "secret": {"in": "path", "name": "secret", "required": true, "schema": {"type": "string"}}, "service_id": {"in": "path", "name": "service_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "servicepolicy_id": {"in": "path", "name": "servicepolicy_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "site_id": {"in": "path", "name": "site_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "site_name": {"in": "path", "name": "site_name", "required": true, "schema": {"type": "string"}}, "sitegroup_id": {"in": "path", "name": "sitegroup_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "sitetemplate_id": {"in": "path", "name": "sitetemplate_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "sso_id": {"in": "path", "name": "sso_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "ssorole_id": {"in": "path", "name": "ssorole_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "start": {"description": "start datetime, can be epoch or relative time like -1d, -1w; -1d if not specified", "in": "query", "name": "start", "schema": {"type": "integer"}}, "system_event_type": {"description": "see [listDeviceEventsDefinitions](/#operations/listDeviceEventsDefinitions)", "in": "query", "name": "type", "schema": {"type": "string"}}, "template_id": {"in": "path", "name": "template_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "ticket_id": {"in": "path", "name": "ticket_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "token": {"in": "path", "name": "token", "required": true, "schema": {"type": "string"}}, "uisetting_id": {"in": "path", "name": "uisetting_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "upgrade_id": {"in": "path", "name": "upgrade_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "usermac_id": {"in": "path", "name": "usermac_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "vbeacon_id": {"in": "path", "name": "vbeacon_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "vpn_id": {"in": "path", "name": "vpn_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "webhook_id": {"in": "path", "name": "webhook_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "wlan_id": {"in": "path", "name": "wlan_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "wxrule_id": {"in": "path", "name": "wxrule_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "wxtag_id": {"in": "path", "name": "wxtag_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "wxtunnel_id": {"in": "path", "name": "wxtunnel_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "zone_id": {"in": "path", "name": "zone_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "zone_type": {"in": "path", "name": "zone_type", "required": true, "schema": {"$ref": "#/components/schemas/zone_type"}}}}} \ No newline at end of file diff --git a/angular/src/manifest.json b/angular/src/manifest.json index 69f2b4a..7b8a1ac 100644 --- a/angular/src/manifest.json +++ b/angular/src/manifest.json @@ -2,7 +2,7 @@ "manifest_version": 3, "name": "Mist Extension", "short_name": "mist-extension", - "version": "3.8.1", + "version": "3.9.0", "description": "Web Browser Extension for Mist Developpers to provide easier access to Mist APIs", "icons": { "16": "assets/favicon-16x16.png", diff --git a/angular/src/manifest_chrome.json b/angular/src/manifest_chrome.json index 69f2b4a..7b8a1ac 100644 --- a/angular/src/manifest_chrome.json +++ b/angular/src/manifest_chrome.json @@ -2,7 +2,7 @@ "manifest_version": 3, "name": "Mist Extension", "short_name": "mist-extension", - "version": "3.8.1", + "version": "3.9.0", "description": "Web Browser Extension for Mist Developpers to provide easier access to Mist APIs", "icons": { "16": "assets/favicon-16x16.png", diff --git a/angular/src/manifest_ffx.json b/angular/src/manifest_ffx.json index 8ed3c63..c43390f 100644 --- a/angular/src/manifest_ffx.json +++ b/angular/src/manifest_ffx.json @@ -2,7 +2,7 @@ "manifest_version": 3, "name": "Mist Extension", "short_name": "mist-extension", - "version": "3.8.1", + "version": "3.9.0", "description": "Web Browser Extension for Mist Developpers to provide easier access to Mist APIs", "icons": { "16": "assets/favicon-16x16.png", diff --git a/api.json b/api.json index bc3e675..06bb375 100644 --- a/api.json +++ b/api.json @@ -1 +1 @@ -{"paths": {"api": {"paths": {"v1": {"paths": {"const": {"paths": {"alarm_defs": {"specs": {"get": {"description": "Get List of brief definitions of all the supported alarm types. The example field contains an example payload as you would recieve in the alarm webhook output.", "operationId": "listAlarmDefinitions", "tags": ["Constants"]}}}, "ap_channels": {"specs": {"get": {"description": "Get List of List of Available channels per country code", "operationId": "listApChannels", "parameters": [{"$ref": "#/components/parameters/country_code"}], "tags": ["Constants"]}}}, "ap_led_status": {"specs": {"get": {"description": "Get List of AP LED definition", "operationId": "listApLedDefinition", "tags": ["Constants"]}}}, "applications": {"specs": {"get": {"description": "Get List of a list of applications that Juniper-Mist APs recognize", "operationId": "listApplications", "tags": ["Constants"]}}}, "client_events": {"specs": {"get": {"description": "Get List of List of available Client Events", "operationId": "listClientEventsDefinitions", "tags": ["Constants"]}}}, "countries": {"specs": {"get": {"description": "Get List of List of available Country Codes", "operationId": "listCountryCodes", "tags": ["Constants"]}}}, "default_gateway_config": {"specs": {"get": {"description": "Generate Default Gateway Config", "operationId": "getGatawayDefaultConfig", "parameters": [{"description": "model the default gateway config is intended (as the default LAN/WAN port can differ)", "in": "query", "name": "model", "required": true, "schema": {"type": "string"}}, {"description": "whether the config is intended for HA", "in": "query", "name": "ha", "schema": {"type": "string"}}], "tags": ["Constants"]}}}, "device_events": {"specs": {"get": {"description": "Get list of available Device Events", "operationId": "listDeviceEventsDefinitions", "tags": ["Constants"]}}}, "device_models": {"specs": {"get": {"description": "Get list of AP device models for the Mist Site", "operationId": "listDeviceModels", "tags": ["Constants"]}}}, "gateway_applications": {"specs": {"get": {"description": "Get the full list of applications that we recognize", "operationId": "listGatewayApplications", "tags": ["Constants"]}}}, "insight_metrics": {"specs": {"get": {"description": "List Insight Metrics", "operationId": "listInsightMetrics", "tags": ["Constants"]}}}, "languages": {"specs": {"get": {"description": "Get List of Languages", "operationId": "listSiteLanguages", "tags": ["Constants"]}}}, "license_types": {"specs": {"get": {"description": "Get License Types\n", "operationId": "getLicenseTypes", "tags": ["Constants"]}}}, "mxedge_events": {"specs": {"get": {"description": "Get List of available MX Edge Events", "operationId": "listMxEdgeEventsDefinitions", "tags": ["Constants"]}}}, "mxedge_models": {"specs": {"get": {"description": "Get List of available Mx Edge models", "operationId": "listMxEdgeModels", "tags": ["Constants"]}}}, "nac_events": {"specs": {"get": {"description": "Get List of List of available NAC Client Events", "operationId": "listNacEventsDefinitions", "tags": ["Constants"]}}}, "otherdevice_events": {"specs": {"get": {"description": "Supported Events Type\n", "operationId": "listOtherDeviceEventsDefinitions", "tags": ["Constants"]}, "parameters": []}}, "otherdevice_models": {"specs": {"get": {"description": "Supported OtherDevice Models\n", "operationId": "listSupportedOtherDeviceModels", "tags": ["Constants"]}}}, "traffic_types": {"specs": {"get": {"description": "Get List of identified traffic", "operationId": "listTrafficTypes", "tags": ["Constants"]}}}}}, "installer": {"paths": {"orgs": {"paths": {"{org_id}": {"paths": {"alarmtemplates": {"specs": {"get": {"description": "Get List of alarm templates", "operationId": "listInstallerAlarmTemplates", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "deviceprofiles": {"specs": {"get": {"description": "Get List of Device Profiles", "operationId": "listInstallerDeviceProfiles", "parameters": [], "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "devices": {"specs": {"get": {"description": "Get List of recently claimed devices", "operationId": "listInstallerListOfRenctlyClaimedDevices", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "This mirrors `POST /api/v1/orgs/{org_id}/inventory` (see Inventory API)", "operationId": "claimInstallerDevices", "tags": ["Installer"]}}, "paths": {"{device_mac}": {"specs": {"delete": {"description": "Unassign recently claimed devices", "operationId": "unassignInstallerRecentlyClaimedDevice", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/device_mac"}], "put": {"description": "Provision or Replace a device \n\nIf replacing_mac is in the request payload, other attributes are ignored, we attempt to replace existing device (with mac replacing_mac) with the inventory device being configured. The replacement device must be in the inventory but not assigned, and the replacing_mac device must be assigned to a site, and satisfy grace period requirements. The Device replaced will become unassigned.", "operationId": "provisionInstallerDevices", "tags": ["Installer"]}}, "paths": {"locate": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/device_mac"}], "post": {"description": "Locate a Device by blinking it\u2019s LED, it\u2019s a persisted state that has to be stopped by calling Stop Locating API", "operationId": "startInstallerLocateDevice", "tags": ["Installer"]}}}, "unlocate": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/device_mac"}], "post": {"description": "Stop it", "operationId": "stopInstallerLocateDevice", "tags": ["Installer"]}}}, "{image_name}": {"specs": {"delete": {"description": "delete image", "operationId": "deleteInstallerDeviceImage", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/image_name"}, {"$ref": "#/components/parameters/device_mac"}], "post": {"description": "Add image", "operationId": "addInstallerDeviceImage", "tags": ["Installer"]}}}}}}}, "rftemplates": {"specs": {"get": {"description": "Get List of RF Templates", "operationId": "listInstallerRfTemplatesNames", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "secpolicies": {"specs": {"get": {"description": "Get List of Secuity Policies", "operationId": "listInstallerSecPolicies", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "sitegroups": {"specs": {"get": {"description": "Get List of Site Groups", "operationId": "listInstallerSiteGroups", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "sites": {"specs": {"get": {"description": "Get List of Sites", "operationId": "listInstallerSites", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"{site_name}": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/site_name"}], "put": {"description": "Often the Installers are asked to assign Devices to Sites. The Sites can either be pre-created or created/modified by the Installer. If this is an update, the same grace period also applies.", "operationId": "createOrUpdateInstallerSites", "tags": ["Installer"]}}, "paths": {"maps": {"specs": {"get": {"description": "Get List of Maps", "operationId": "listInstallerMaps", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/site_name"}]}, "paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/site_name"}], "post": {"description": "Import data from files is a multipart POST which has an file, an optional json, and an optional csv, to create floorplan, assign & place ap if name or mac matches", "operationId": "importInstallerMap", "tags": ["Installer"]}}}, "{map_id}": {"specs": {"delete": {"description": "Delete Map", "operationId": "deleteInstallerMap", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/site_name"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "Create a MAP", "operationId": "createInstallerMap", "tags": ["Installer"]}, "put": {"description": "Update map", "operationId": "updateInstallerMap", "tags": ["Installer"]}}}}}}}}}}}}}, "sites": {"paths": {"{site_name}": {"paths": {"optimize": {"specs": {"get": {"description": "After installation is considered complete (APs are placed on maps, all powered up), you can trigger an optimize operation where RRM will kick in (and maybe other things in the future) before it\u2019s automatically scheduled.", "operationId": "optimizeInstallerRrm", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/site_name"}]}}}}}}}}, "invite": {"paths": {"verify": {"paths": {"{token}": {"specs": {"parameters": [{"$ref": "#/components/parameters/token"}], "post": {"description": "**Note**: another call to ```GET /api/v1/self``` is required to see the new set of privileges", "operationId": "verifyAdminInvite", "tags": ["Admin"]}}}}}}}, "login": {"specs": {"post": {"description": "Log in with email/password.\nWhen 2FA is enabled, there are two ways to login:\n1. login with two_factor token (with Google Authenticator, etc) \n2. login with email/password, generate the token, and use /login/two_factor with the token", "operationId": "login", "tags": ["Login"]}}, "paths": {"lookup": {"specs": {"post": {"description": "Login Lookup", "operationId": "lookup", "tags": ["Login"]}}}, "oauth": {"paths": {"{provider}": {"specs": {"delete": {"description": "Unlink OAuth2 Provider", "operationId": "unlinkOAuth2Provider", "tags": ["Login With OAuth2"]}, "get": {"description": "Obtain Authorization URL for Login", "operationId": "getOAuth2AuthorizationUrlForLogin", "parameters": [{"in": "query", "name": "forward", "schema": {"example": "http://manage.mist.com/oauth/callback.html", "type": "string"}}], "tags": ["Login With OAuth2"]}, "parameters": [{"in": "path", "name": "provider", "required": true, "schema": {"type": "string"}}], "post": {"description": "Login via OAuth2", "operationId": "loginOAuth2", "tags": ["Login With OAuth2"]}}}}}, "two_factor": {"specs": {"post": {"description": "Send 2FA Code", "operationId": "twoFactor", "tags": ["Login"]}}}}}, "logout": {"specs": {"post": {"description": "Logout", "operationId": "logout", "tags": ["Login"]}}}, "mobile": {"paths": {"verify": {"paths": {"{secret}": {"specs": {"parameters": [{"$ref": "#/components/parameters/secret"}], "post": {"description": "Verify secret", "operationId": "activateSdkInvite", "tags": ["Mobile"]}}}}}}}, "msps": {"specs": {"post": {"description": "Create MSP account", "operationId": "createMsp", "tags": ["Msps"]}}, "paths": {"{msp_id}": {"specs": {"delete": {"description": "Deleting MSP removes the MSP and OrgGroup under the MSP as well as all privileges associated with them. It does not remove any Org or Admins", "operationId": "deleteMsp", "tags": ["Msps"]}, "get": {"description": "Get MSP Detail", "operationId": "getMspDetails", "tags": ["Msps"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}], "put": {"description": "Update MSP", "operationId": "updateMsp", "tags": ["Msps"]}}, "paths": {"admins": {"specs": {"get": {"description": "Get List of MSP Admins", "operationId": "listMspAdmins", "tags": ["Msps Admins"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}, "paths": {"{admin_id}": {"specs": {"delete": {"description": "This removes all privileges this admin has against the MSP. This goes deep all the way to the sites", "operationId": "revokeMspAdmin", "tags": ["Msps Admins"]}, "get": {"description": "Get MSP Admins", "operationId": "getMspAdmin", "tags": ["Msps Admins"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/admin_id"}], "put": {"description": "Update MSP Admin", "operationId": "updateMspAdmin", "tags": ["Msps Admins"]}}}}}, "claim": {"specs": {"parameters": [{"$ref": "#/components/parameters/msp_id"}], "post": {"description": "Claim an Order by Activation Code", "operationId": "claimMspLicence", "tags": ["Msps Licenses"]}}}, "insights": {"paths": {"{metric}": {"specs": {"get": {"description": "Get MSP SLEs (all/worst Orgs ...)", "operationId": "getMspSle", "parameters": [{"description": "see /api/v1/const/insight_metrics for more details", "in": "query", "name": "sle", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/interval"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}], "tags": ["Msps SLEs"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/metric"}]}}}}, "inventory": {"paths": {"{device_mac}": {"specs": {"get": {"description": "Get Inventoy By device MAC address", "operationId": "getMspInventoryByMac", "tags": ["Msps Inventory"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/device_mac"}]}}}}, "invites": {"specs": {"parameters": [{"$ref": "#/components/parameters/msp_id"}], "post": {"description": "Invite MSP Admin\n\n**Note**: An email will also be sent to the user with a link to https://manage.mist.com/verify/invite?token=:token", "operationId": "inviteMspAdmin", "tags": ["Msps Invites"]}}, "paths": {"{invite_id}": {"specs": {"delete": {"description": "Delete admin invite", "operationId": "uninviteMspAdmin", "tags": ["Msps Invites"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/invite_id"}], "put": {"description": "Update MSP admin invite", "operationId": "updateMspAdminInvite", "tags": ["Msps Invites"]}}}}}, "licenses": {"specs": {"get": {"description": "Get List of Msp Licenses", "operationId": "listMspLicenses", "tags": ["Msps Licenses"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}], "put": {"description": "Move or Delete MSP Licenses", "operationId": "moveOrDeleteMspLicenseToAnotherOrg", "tags": ["Msps Licenses"]}}}, "logo": {"specs": {"delete": {"description": "Delete MSP Logo", "operationId": "deleteMspLogo", "tags": ["Msps Logo"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}], "post": {"description": "Upload Logo (only for advanced msp tier)", "operationId": "postMspLogo", "tags": ["Msps Logo"]}}}, "logs": {"specs": {"get": {"description": "Get list of change logs for the current MSP", "operationId": "listMspLogs", "parameters": [{"description": "site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "admin name or email", "in": "query", "name": "admin_name", "schema": {"type": "string"}}, {"description": "message", "in": "query", "name": "message", "schema": {"type": "string"}}, {"description": "sort order", "in": "query", "name": "sort", "schema": {"enum": ["timestamp", "-timestamp", "site_id", "admin_id"], "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Msps Logs"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}, "paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Audit Logs", "operationId": "countMspLogs", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "admin_name", "enum": ["admin_id", "admin_name", "message", "org_id"], "type": "string"}}], "tags": ["Msps Logs"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}}}}, "orggroups": {"specs": {"get": {"description": "Get List of MSP Org Groups", "operationId": "listMspOrgGroups", "tags": ["Msps Org Groups"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}], "post": {"description": "Create MSP Org Group", "operationId": "createMspOrgGroup", "tags": ["Msps Org Groups"]}}, "paths": {"{orggroup_id}": {"specs": {"delete": {"description": "Delete MSP Org Group", "operationId": "deleteMspOrgGroup", "tags": ["Msps Org Groups"]}, "get": {"description": "Get MSP Org Group Details", "operationId": "getMspOrgGroup", "tags": ["Msps Org Groups"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/orggroup_id"}], "put": {"description": "Update MSP Org Group", "operationId": "updateMspOrgGroup", "tags": ["Msps Org Groups"]}}}}}, "orgs": {"specs": {"get": {"description": "Get List of MSP Orgs", "operationId": "listMspOrgs", "tags": ["Msps Orgs"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}], "post": {"description": "Create an Org under MSP", "operationId": "createMspOrg", "tags": ["Msps Orgs"]}, "put": {"description": "Assign or Unassign Orgs to an MSP account", "operationId": "manageMspOrgs", "tags": ["Msps Orgs"]}}, "paths": {"search": {"specs": {"get": {"description": "Search Org in MSP", "operationId": "searchMspOrgs", "parameters": [{"$ref": "#/components/parameters/name"}, {"description": "org id", "in": "query", "name": "org_id", "schema": {"format": "uuid", "type": "string"}}, {"description": "if this org has sufficient subscription", "in": "query", "name": "sub_insufficient", "schema": {"type": "boolean"}}, {"description": "if this org is under trial period", "in": "query", "name": "trial_enabled", "schema": {"type": "boolean"}}, {"description": "a list of types that enabled by usage", "in": "query", "name": "usage_types", "schema": {"items": {"type": "string"}, "type": "array"}}, {"$ref": "#/components/parameters/limit"}], "tags": ["Msps Orgs"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}}, "{org_id}": {"specs": {"delete": {"description": "delete MSP Org", "operationId": "deleteMspOrg", "tags": ["Msps Orgs"]}, "get": {"description": "Get MSP Org Details", "operationId": "getMspOrg", "tags": ["Msps Orgs"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/org_id"}], "put": {"description": "Update MSP Org", "operationId": "updateMspOrg", "tags": ["Msps Orgs"]}}}}}, "search": {"specs": {"get": {"description": "Search in MSP Orgs", "operationId": "searchMspOrgGroup", "parameters": [{"description": "orgs", "example": "orgs", "in": "query", "name": "type", "required": true, "schema": {"enum": ["orgs"], "type": "string"}}, {"$ref": "#/components/parameters/q"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Msps Org Groups"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}}, "ssoroles": {"specs": {"get": {"description": "Get List of MSP SSO Roles", "operationId": "listMspSsoRoles", "tags": ["Msps SSO Roles"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}], "post": {"description": "Create MSP Role", "operationId": "createMspSsoRole", "tags": ["Msps SSO Roles"]}}, "paths": {"{ssorole_id}": {"specs": {"delete": {"description": "Delete MSP SSO Roles", "operationId": "deleteMspSsoRole", "tags": ["Msps SSO Roles"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/ssorole_id"}], "put": {"description": "Update SSO Role", "operationId": "updateMspSsoRole", "tags": ["Msps SSO Roles"]}}}}}, "ssos": {"specs": {"get": {"description": "List MSP SSO Configs", "operationId": "listMspSsos", "tags": ["Msps SSO"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}], "post": {"description": "Create MSP SSO profile", "operationId": "createMspSso", "tags": ["Msps SSO"]}}, "paths": {"{sso_id}": {"specs": {"delete": {"description": "Delete MSP SSO Config", "operationId": "deleteMspSso", "tags": ["Msps SSO"]}, "get": {"description": "Get MSP SSO Config", "operationId": "getMspSso", "tags": ["Msps SSO"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/sso_id"}], "put": {"description": "Update MSP SSO config", "operationId": "updateMspSso", "tags": ["Msps SSO"]}}, "paths": {"failures": {"specs": {"get": {"description": "Get List of MSP SSO Latest Failures", "operationId": "listMspSsoLatestFailures", "tags": ["Msps SSO"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/sso_id"}]}}, "metadata": {"specs": {"get": {"description": "Get MSP SSO SAML Metadata", "operationId": "getMspSsoSamlMetadata", "tags": ["Msps SSO"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/sso_id"}]}}, "metadata.xml": {"specs": {"get": {"description": "Download MSP SSO SAML Metadata\n\nExample of metadata.xml:\n```xml\n\n \n \n urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n \n \n Mist\n \n \n \n \n \n\n```", "operationId": "downloadMspSsoSamlMetadata", "tags": ["Msps SSO"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/sso_id"}]}}}}}}, "stats": {"paths": {"licenses": {"specs": {"get": {"description": "Get List of MSP Licences", "operationId": "listMspOrgLicenses", "parameters": [], "tags": ["Msps Stats"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}}, "orgs": {"specs": {"get": {"description": "Get List of MSP Orgs Stats", "operationId": "listMspOrgStats", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Msps Stats"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}}}}, "suggestion": {"paths": {"count": {"specs": {"get": {"description": "Count Marvis actions\n", "operationId": "countMspsMarvisActions", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "org_id", "enum": ["org_id", "status"], "type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Msps Marvis"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}}}}, "tickets": {"specs": {"get": {"description": "Get List of Tickets of a MSP", "operationId": "listMspTickets", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Msps Tickets"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}, "paths": {"count": {"specs": {"get": {"description": "Count tickets", "operationId": "countMspTickets", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "status", "enum": ["status", "type", "org_id"], "type": "string"}}], "tags": ["Msps Tickets"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}}}}}}}}, "orgs": {"specs": {"post": {"description": "Org admin can invite people to manage the org. Furthermore, he can dictate the level of security those accounts are. The check is enforced when the invited admin tries to \u201caccept\u201d the invitation and every time the admin tries to login", "operationId": "createOrg", "tags": ["Orgs"]}}, "paths": {"{org_id}": {"specs": {"delete": {"description": "Delete Org", "operationId": "deleteOrg", "tags": ["Orgs"]}, "get": {"description": "Get Organization information", "operationId": "getOrg", "tags": ["Orgs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "put": {"description": "Update Org", "operationId": "updateOrg", "tags": ["Orgs"]}}, "paths": {"128routers": {"paths": {"register_cmd": {"specs": {"get": {"description": "128T devices can be managed/adopted by Mist.", "operationId": "getOrg128TRegistrationCommands", "tags": ["Orgs 128T"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "admins": {"specs": {"get": {"description": "Get List of people who can manage the Site/Org under the Org", "operationId": "listOrgAdmins", "tags": ["Orgs Admins"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"{admin_id}": {"specs": {"delete": {"description": "This removes all privileges this admin has against the org", "operationId": "revokeOrgAdmin", "tags": ["Orgs Admins"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/admin_id"}], "put": {"description": "Invite Org Admin", "operationId": "updateOrgAdmin", "tags": ["Orgs Admins"]}}}}}, "alarms": {"paths": {"ack": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Ack multiple Org Alarms", "operationId": "multiAckOrgAlarms", "tags": ["Orgs Alarms"]}}}, "ack_all": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Ack all Org Alarms\n\n**N.B.**: Batch size for multiple alarm ack and unack has to be less or or equal to 1000.", "operationId": "ackOrgAllAlarms", "tags": ["Orgs Alarms"]}}}, "count": {"specs": {"get": {"description": "Count Org Alarms", "operationId": "countOrgAlarms", "parameters": [{"in": "query", "name": "distinct", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Alarms"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org Alarms", "operationId": "searchOrgAlarms", "parameters": [{"in": "query", "name": "site_id", "schema": {"type": "string"}}, {"in": "query", "name": "type", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Alarms"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "unack": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Unack multiple Org Alarms", "operationId": "multiUnackOrgAlarms", "tags": ["Orgs Alarms"]}}}, "unack_all": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Unack all Org Alarms\n\n**N.B.**: Batch size for multiple alarm ack and unack has to be less or or equal to 1000.", "operationId": "unackOrgAllArlarms", "tags": ["Orgs Alarms"]}}}, "{alarm_id}": {"paths": {"ack": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/alarm_id"}], "post": {"description": "Ack Org Alarm", "operationId": "ackOrgAlarm", "tags": ["Orgs Alarms"]}}}}}}}, "alarmtemplates": {"specs": {"get": {"description": "Get List of Org Alarm Templates", "operationId": "listOrgAlarmTemplates", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Alarm Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Available rules can be found in Orgs>Consts>getAlarmDefs\n\nThe delivery dict is only required if different from the template delivery settings.", "operationId": "createOrgAlarmTemplate", "tags": ["Orgs Alarm Templates"]}}, "paths": {"suppress": {"specs": {"delete": {"description": "Un-Suppress Suppressed Alarms", "operationId": "unsuppressOrgSuppressedAlarms", "tags": ["Orgs Alarm Templates"]}, "get": {"description": "Get List of Org Alarms Currently Suppressed", "operationId": "listOrgSuppressedAlarms", "parameters": [{"in": "query", "name": "scope", "schema": {"default": "site", "enum": ["org", "site"], "type": "string"}}], "tags": ["Orgs Alarm Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "In certain situations, for example, scheduled maintenance, you may want to suspend alarms to be triggered against Sites for a period of time.", "operationId": "suppressOrgAlarm", "tags": ["Orgs Alarm Templates"]}}}, "{alarmtemplate_id}": {"specs": {"delete": {"description": "Delete Org Alarm Template", "operationId": "deleteOrgAlarmTemplate", "tags": ["Orgs Alarm Templates"]}, "get": {"description": "Get Org Alarm Template Details", "operationId": "getOrgAlarmTemplate", "tags": ["Orgs Alarm Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/alarmtemplate_id"}], "put": {"description": "Update Org Alarm Template", "operationId": "updateOrgAlarmTemplate", "tags": ["Orgs Alarm Templates"]}}}}}, "apitokens": {"specs": {"get": {"description": "Get List of Org API Tokens", "operationId": "listOrgApiTokens", "tags": ["Orgs API Tokens"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org API Token\nNote that the token key is only available during creation time.", "operationId": "createOrgApiToken", "tags": ["Orgs API Tokens"]}}, "paths": {"{apitoken_id}": {"specs": {"delete": {"description": "Delete Org API Token", "operationId": "deleteOrgApiToken", "tags": ["Orgs API Tokens"]}, "get": {"description": "Get Org API Token", "operationId": "getOrgApiToken", "tags": ["Orgs API Tokens"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/apitoken_id"}], "put": {"description": "Update Org API Token", "operationId": "updateOrgApiToken", "tags": ["Orgs API Tokens"]}}}}}, "aptemplates": {"specs": {"get": {"description": "Get List of Org AP Templates", "operationId": "listOrgAptemplates", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs AP Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org AP Template", "operationId": "createOrgAptemplate", "tags": ["Orgs AP Templates"]}}, "paths": {"{aptemplate_id}": {"specs": {"delete": {"description": "Delete existing AP Template", "operationId": "deleteOrgAptemplate", "tags": ["Orgs AP Templates"]}, "get": {"description": "Get AP Template", "operationId": "getOrgAptemplate", "tags": ["Orgs AP Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/aptemplate_id"}], "put": {"description": "Update AP Template", "operationId": "updateOrgAptemplate", "tags": ["Orgs AP Templates"]}}}}}, "assetfilters": {"specs": {"get": {"description": "Get List of Org BLE asset filters. \nEach asset filter in the list operates independently. For a filter object to match an asset, all of the filter properties must match (logical \u2018AND\u2019 of each filter property). For example, the \u201cVisitor Tags\u201d filter below will match an asset when both the \u201cibeacon\\_uuid\u201d and \u201cibeacon_major\u201d properties match the asset. All non-matching assets are ignored.", "operationId": "listOrgAssetFilters", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Asset Filters"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Asset Filter\n\nCreates a single BLE asset filter for the given site. Any subset of filter properties can be included in the filter. A matching asset must meet the conditions of all given filter properties (logical \u2018AND\u2019).", "operationId": "createOrgAssetFilters", "tags": ["Orgs Asset Filters"]}}, "paths": {"{assetfilter_id}": {"specs": {"delete": {"description": "Deletes an existing BLE asset filter for the given site.", "operationId": "deleteOrgAssetFilter", "tags": ["Orgs Asset Filters"]}, "get": {"description": "Get Org Asset Filter Details", "operationId": "getOrgAssetFilter", "tags": ["Orgs Asset Filters"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/assetfilter_id"}], "put": {"description": "Updates an existing BLE asset filter for the given site.", "operationId": "updateOrgAssetFilters", "tags": ["Orgs Asset Filters"]}}}}}, "assets": {"specs": {"get": {"description": "Get List of Org Assets", "operationId": "listOrgAssets", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Assets"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Asset", "operationId": "createOrgAsset", "tags": ["Orgs Assets"]}}, "paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Impert Org Assets. \n\nIt can be done via a CSV file or a JSON payload.\n\n#### CSV File Format\n```csv\nname,mac\n\"asset_name\",5c5b53010101\n``` ", "operationId": "importOrgAssets", "tags": ["Orgs Assets"]}}}, "{asset_id}": {"specs": {"delete": {"description": "Delete Org Asset", "operationId": "deleteOrgAsset", "tags": ["Orgs Assets"]}, "get": {"description": "Get Org Asset Details", "operationId": "getOrgAsset", "tags": ["Orgs Assets"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/asset_id"}], "put": {"description": "Update Org Asset", "operationId": "updateOrgAsset", "tags": ["Orgs Assets"]}}}}}, "call": {"paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count Org Call Events", "operationId": "countOrgCallEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"enum": ["type", "app"], "type": "string"}}], "tags": ["Orgs Calls"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org Call Events", "operationId": "searchOrgCallEvents", "parameters": [{"description": "Event Type. See [listCallEventsDefinitions](/#operation/listCallEventsDefinitions)", "in": "query", "name": "type", "schema": {"type": "string"}}, {"in": "query", "name": "ap", "schema": {"type": "string"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}, {"in": "query", "name": "app", "schema": {"type": "string"}}], "tags": ["Orgs Calls"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}}}, "cert": {"specs": {"get": {"description": "Get Org Certificates", "operationId": "getOrgCertificates", "tags": ["Orgs Cert"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"regenerate": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Clear Org Certificates", "operationId": "clearOrgCertificates", "tags": ["Orgs Cert"]}}}}}, "claim": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Claim Org licenses / activation codes", "operationId": "claimOrgLicense", "tags": ["Orgs Licenses"]}}}, "clients": {"paths": {"count": {"specs": {"get": {"description": "Count Org Wireless Clients", "operationId": "countOrgWirelessClients", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "device", "enum": ["mac", "hostname", "device", "os", "model", "ap", "vlan", "ssid", "ip"], "type": "string"}}, {"description": "partial / full MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "device type, e.g. Mac, Nvidia, iPhone", "in": "query", "name": "device", "schema": {"type": "string"}}, {"description": "os, e.g. Sierra, Yosemite, Windows 10", "in": "query", "name": "os", "schema": {"type": "string"}}, {"description": "model, e.g. \u201cMBP 15 late 2013\u201d, 6, 6s, \u201c8+ GSM\u201d", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "AP mac where the client has connected to", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "vlan", "in": "query", "name": "vlan", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/ip"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "events": {"paths": {"search": {"specs": {"get": {"description": "Get Org Clients Events", "operationId": "searchOrgWirelessClientEvents", "parameters": [{"description": "event type, e.g. MARVIS_EVENT_CLIENT_FBT_FAILURE", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "for assoc/disassoc events", "in": "query", "name": "reason_code", "schema": {"type": "integer"}}, {"description": "SSID Name", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "802.11 standard", "in": "query", "name": "proto", "schema": {"enum": ["b", "g", "n", "ac", "ax", "a"], "type": "string"}}, {"description": "24 / 5", "in": "query", "name": "band", "schema": {"enum": ["24", "5"], "type": "string"}}, {"description": "wlan_id", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"description": "nacrule_id", "in": "query", "name": "nacrule_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "search": {"specs": {"get": {"description": "Search Org Wireless Clients", "operationId": "searchOrgWirelessClients", "parameters": [{"description": "Site ID", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "partial / full MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/ip"}, {"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "device type, e.g. Mac, Nvidia, iPhone", "in": "query", "name": "device", "schema": {"type": "string"}}, {"description": "os, e.g. Sierra, Yosemite, Windows 10", "in": "query", "name": "os", "schema": {"type": "string"}}, {"description": "model, e.g. \u201cMBP 15 late 2013\u201d, 6, 6s, \u201c8+ GSM\u201d", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "AP mac where the client has connected to", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/psk_id_query"}, {"description": "PSK Name", "in": "query", "name": "psk_name", "schema": {"type": "string"}}, {"description": "vlan", "in": "query", "name": "vlan", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "partial / full MAC address, hostname, username, psk_name or ip", "in": "query", "name": "text", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "sessions": {"paths": {"count": {"specs": {"get": {"description": "Count Org Wireless Clients Sessions", "operationId": "countOrgWirelessClientsSessions", "parameters": [{"in": "query", "name": "distinct", "required": true, "schema": {"default": "device", "enum": ["ssid", "ap", "ip", "vlan", "hostname", "os", "model", "device"], "type": "string"}}, {"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "5 / 24", "in": "query", "name": "band", "schema": {"enum": ["24", "5"], "type": "string"}}, {"description": "E.g. \u201cMac\u201d, \u201ciPhone\u201d, \u201cApple watch\u201d", "in": "query", "name": "client_family", "schema": {"type": "string"}}, {"description": "E.g. \u201cApple\u201d", "in": "query", "name": "client_manufacture", "schema": {"type": "string"}}, {"description": "E.g. \u201c8+\u201d, \u201cXS\u201d", "in": "query", "name": "client_model", "schema": {"type": "string"}}, {"description": "E.g. \u201cMojave\u201d, \u201cWindows 10\u201d, \u201cLinux\u201d", "in": "query", "name": "client_os", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "wlan_id", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org Wireless Clients Sessions", "operationId": "searchOrgWirelessClientSessions", "parameters": [{"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "5 / 24", "in": "query", "name": "band", "schema": {"enum": ["24", "5"], "type": "string"}}, {"description": "E.g. \u201cMac\u201d, \u201ciPhone\u201d, \u201cApple watch\u201d", "in": "query", "name": "client_family", "schema": {"type": "string"}}, {"description": "E.g. \u201cApple\u201d", "in": "query", "name": "client_manufacture", "schema": {"type": "string"}}, {"description": "E.g. \u201c8+\u201d, \u201cXS\u201d", "in": "query", "name": "client_model", "schema": {"type": "string"}}, {"description": "Username", "in": "query", "name": "client_username", "schema": {"type": "string"}}, {"description": "E.g. \u201cMojave\u201d, \u201cWindows 10\u201d, \u201cLinux\u201d", "in": "query", "name": "client_os", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "wlan_id", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/psk_id_query"}, {"description": "PSK Name", "in": "query", "name": "psk_name", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "{client_mac}": {"paths": {"coa": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/client_mac"}], "post": {"description": "Trigger a CoA (change of authorization) against a client", "operationId": "reauthOrgDot1xWirelessClient", "tags": ["Orgs Clients - Wireless"]}}}}}}}, "clone": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create an Org by cloning from another one. Org Settings, Templates, Wxlan Tags, Wxlan Tunnels, Wxlan Rules, Org Wlans will be copied. Sites and Site Groups will not be copied, and therefore, the copied template will not be applied to any site/sitegroups.", "operationId": "cloneOrg", "tags": ["Orgs"]}}}, "crl": {"specs": {"get": {"description": "Get Org CRL File", "operationId": "getOrgCrlFile", "tags": ["Orgs CRL"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"truncate": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "By default, all certs used by recently unclaimed devices within 9 month will be included in CRL. If the list grows too big, you can truncate it", "operationId": "truncateOrgCrlFile", "tags": ["Orgs Cert"]}}}}}, "deviceprofiles": {"specs": {"get": {"description": "Get List of Org Device Profiles", "operationId": "listOrgDeviceProfiles", "parameters": [{"in": "query", "name": "type", "schema": {"default": "ap", "enum": ["ap", "switch", "gateway"], "type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Device Profiles"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Device Profile", "operationId": "createOrgDeviceProfiles", "tags": ["Orgs Device Profiles"]}}, "paths": {"{deviceprofile_id}": {"specs": {"delete": {"description": "Delete Org Device Profile", "operationId": "deleteOrgDeviceProfile", "tags": ["Orgs Device Profiles"]}, "get": {"description": "Get Org device Profile Details", "operationId": "getOrgDeviceProfile", "tags": ["Orgs Device Profiles"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/deviceprofile_id"}], "put": {"description": "Update Org Device Profile", "operationId": "updateOrgDeviceProfile", "tags": ["Orgs Device Profiles"]}}, "paths": {"assign": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/deviceprofile_id"}], "post": {"description": "Assign Org Device Profile to Devices", "operationId": "assignOrgDeviceProfile", "tags": ["Orgs Device Profiles"]}}}, "unassign": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/deviceprofile_id"}], "post": {"description": "Unassign Org Device Profile from Devices", "operationId": "unassignOrgDeviceProfiles", "tags": ["Orgs Device Profiles"]}}}}}}}, "devices": {"specs": {"get": {"description": "Get List of Org Devices", "operationId": "listOrgDevices", "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"count": {"specs": {"get": {"description": "Count Org Devices", "operationId": "countOrgDevices", "parameters": [{"example": "model", "in": "query", "name": "distinct", "required": true, "schema": {"default": "model", "enum": ["hostname", "site_id", "model", "mac", "version", "ip", "mxtunnel_status", "mxedge_id", "lldp_system_name", "lldp_system_desc", "lldp_port_id", "lldp_mgmt_addr"], "type": "string"}}, {"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "AP mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "version", "in": "query", "name": "version", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/ip"}, {"description": "MxTunnel status, up / down", "in": "query", "name": "mxtunnel_status", "schema": {"enum": ["up", "down"], "type": "string"}}, {"description": "Mist Edge id, if AP is connecting to a Mist Edge", "in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"description": "LLDP system name", "in": "query", "name": "lldp_system_name", "schema": {"type": "string"}}, {"description": "LLDP system description", "in": "query", "name": "lldp_system_desc", "schema": {"type": "string"}}, {"description": "LLDP port id", "in": "query", "name": "lldp_port_id", "schema": {"type": "string"}}, {"description": "LLDP management ip address", "in": "query", "name": "lldp_mgmt_addr", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "events": {"paths": {"count": {"specs": {"get": {"description": "Count Org Devices Events", "operationId": "countOrgDeviceEvents", "parameters": [{"in": "query", "name": "distinct", "required": true, "schema": {"default": "model", "enum": ["org_id", "site_id", "ap", "apfw", "model", "text", "timestamp", "type"], "type": "string"}}, {"description": "site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "AP mac", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "AP Firmware", "in": "query", "name": "apfw", "schema": {"type": "string"}}, {"description": "device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "event message", "in": "query", "name": "text", "schema": {"type": "string"}}, {"description": "event time", "in": "query", "name": "timestamp", "schema": {"type": "string"}}, {"description": "Events Type", "in": "query", "name": "type", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org Devices Events", "operationId": "searchOrgDeviceEvents", "parameters": [{"description": "device mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "device type", "in": "query", "name": "device_type", "schema": {"default": "ap", "enum": ["ap", "switch", "gateway"], "type": "string"}}, {"description": "event message", "in": "query", "name": "text", "schema": {"type": "string"}}, {"description": "event time", "in": "query", "name": "timestamp", "schema": {"type": "string"}}, {"description": "see [listDeviceEventsDefinitions](/#operation/listDeviceEventsDefinitions)", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "Return last/recent event for passed in field", "example": "port_id", "in": "query", "name": "last_by", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "last_config": {"paths": {"count": {"specs": {"get": {"description": "Counts the number of entries in device config history for distinct field with given filters", "operationId": "countOrgDeviceLastConfigs", "parameters": [{"in": "query", "name": "device_type", "schema": {"default": "ap", "enum": ["ap", "switch", "gateway"], "type": "string"}}, {"in": "query", "name": "distinct", "schema": {"enum": ["mac", "version", "name", "site_id"], "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Device Last Configs", "operationId": "searchOrgDeviceLastConfigs", "parameters": [{"in": "query", "name": "device_type", "schema": {"default": "ap", "enum": ["ap", "switch", "gateway"], "type": "string"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}, {"in": "query", "name": "name", "schema": {"type": "string"}}, {"in": "query", "name": "version", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "radio_macs": {"specs": {"get": {"description": "For some scenarios like E911 or security systems, the BSSIDs are required to identify which AP the client is connecting to. Then the location of the AP can be used as the approximate location of the client.\n\nEach radio MAC can have 16 BSSIDs (enumerate the last octet from 0-F)", "operationId": "listOrgApsMacs", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org Devices", "operationId": "searchOrgDevices", "parameters": [{"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "AP mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "version", "in": "query", "name": "version", "schema": {"type": "string"}}, {"description": "power_constrained", "in": "query", "name": "power_constrained", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/ip"}, {"description": "MxTunnel status, up / down", "in": "query", "name": "mxtunnel_status", "schema": {"enum": ["up", "down"], "type": "string"}}, {"description": "Mist Edge id, if AP is connecting to a Mist Edge", "in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"description": "LLDP system name", "in": "query", "name": "lldp_system_name", "schema": {"type": "string"}}, {"description": "LLDP system description", "in": "query", "name": "lldp_system_desc", "schema": {"type": "string"}}, {"description": "LLDP port id", "in": "query", "name": "lldp_port_id", "schema": {"type": "string"}}, {"description": "LLDP management ip address", "in": "query", "name": "lldp_mgmt_addr", "schema": {"type": "string"}}, {"description": "Bandwith of band_24", "in": "query", "name": "band_24_bandwith", "schema": {"type": "integer"}}, {"description": "Bandwith of band_5", "in": "query", "name": "band_5_bandwith", "schema": {"type": "integer"}}, {"description": "Bandwith of band_6", "in": "query", "name": "band_6_bandwith", "schema": {"type": "integer"}}, {"description": "Channel of band_24", "in": "query", "name": "band_24_channel", "schema": {"type": "integer"}}, {"description": "Channel of band_5", "in": "query", "name": "band_5_channel", "schema": {"type": "integer"}}, {"description": "Channel of band_6", "in": "query", "name": "band_6_channel", "schema": {"type": "integer"}}, {"description": "Port speed of eth0", "in": "query", "name": "eth0_port_speed", "schema": {"type": "integer"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "upgrade": {"specs": {"get": {"description": "Get List of Org multi devces upgrades", "operationId": "listOrgMultiSitesDevicesUpgrades", "tags": ["Orgs Devices Upgrades"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Upgrade Multiple Sites", "operationId": "upgradeOrgMultiSitesDevices", "tags": ["Orgs Devices Upgrades"]}}, "paths": {"{upgrade_id}": {"specs": {"get": {"description": "Get Multi Site Upgrade", "operationId": "getOrgMultiSitesUpgrade", "tags": ["Orgs Devices Upgrades"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/upgrade_id"}]}}}}}}, "evpn_topologies": {"specs": {"get": {"description": "Get List of the existing Org EVPN topologies", "operationId": "listOrgEvpnTopologies", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs EVPN Topologies"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "While all the `evpn_id` / `downlink_ips` can be specifidd by hand, the easiest way is to call the `build_vpn_topology` API, allowing you to examine the diff, and update it yourself. You can also simply call it with `overwrite=true` which will apply the updates for you.\n\n**Notes:**\n1. You can use `core` / `distribution` / `access` to create a CLOS topology\n2. You can also use `core` / `distribution` to form a 2-tier EVPN topology where ESI-Lag is configured distribution to connect to access switches\n3. In a small/medium campus, `collapsed-core` can be used where core switches are the inter-connected to do EVPN\n4. The API uses a few pre-defined parameters and best-practices to generate the configs. It can be customized by using `evpn_options` in Site Setting / Network Template. (e.g. a different subnet for the underlay)\n\n#### Collapsed Core\nIn a small-medium campus, EVPN can also be enabled only at the core switches (up to 4) by assigning all participating switches with `collapsed-core role`. When there are more than 2 switches, a ring-like topology will be formed.\n\n#### ESI-Lag\nIf the access switchess does not have EVPN support, you can take advantage of EVPN by setting up ESI-Lag on distribution switches\n\n#### Leaf / Access / Collapsed-Core\nFor leaf nodes in a EVPN topology, you\u2019d have to configure the IPs for networks that would participate in EVPN. Optionally, VRFs to isolate traffic from one tenant verus another", "operationId": "createOrgEvpnTopology", "tags": ["Orgs EVPN Topologies"]}}, "paths": {"{evpn_topology_id}": {"specs": {"delete": {"description": "Delete the Org EVPN Topology", "operationId": "deleteOrgEvpnTopology", "tags": ["Orgs EVPN Topologies"]}, "get": {"description": "Get One EVPN Topology Detail", "operationId": "getOrgEvpnTolopogy", "tags": ["Orgs EVPN Topologies"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/evpn_topology_id"}], "put": {"description": "Update the EVPN Topolgy", "operationId": "updateOrgEvpnTopology", "tags": ["Orgs EVPN Topologies"]}}}}}, "gatewaytemplates": {"specs": {"get": {"description": "Get List of Org Gateway Templates", "operationId": "listOrgGatewayTemplates", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Gateway Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Gateway Template", "operationId": "createOrgGatewayTemplate", "tags": ["Orgs Gateway Templates"]}}, "paths": {"{gatewaytemplate_id}": {"specs": {"delete": {"description": "Delete Organization Gateway Template", "operationId": "deleteOrgGatewayTemplate", "tags": ["Orgs Gateway Templates"]}, "get": {"description": "Get Organization Gateway Template details", "operationId": "getOrgGatewayTemplate", "tags": ["Orgs Gateway Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/gatewaytemplate_id"}], "put": {"description": "Update Organization Gateway Template", "operationId": "updateOrgGatewayTemplate", "tags": ["Orgs Gateway Templates"]}}}}}, "guests": {"specs": {"get": {"description": "Get List of Org Guest Authorizations", "operationId": "listOrgGuestAuthorizations", "tags": ["Orgs Guests"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"count": {"specs": {"get": {"description": "Count Org Authorized Guest", "operationId": "countOrgGuestAuthorizations", "parameters": [{"example": "auth_method", "in": "query", "name": "distinct", "schema": {"default": "auth_method", "enum": ["auth_method", "ssid", "company"], "type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Guests"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Authorized Guest", "operationId": "searchOrgGuestAuthorization", "parameters": [{"example": "00000000-0000-0000-0000-000000000000", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"in": "query", "name": "auth_method", "schema": {"type": "string"}}, {"in": "query", "name": "ssid", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Guests"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "{guest_mac}": {"specs": {"delete": {"description": "Delete Guest Authorization", "operationId": "deleteOrgGuestAuthorization", "tags": ["Orgs Guests"]}, "get": {"description": "Get Guest Authorization", "operationId": "getOrgGuestAuthorization", "tags": ["Orgs Guests"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/guest_mac"}], "put": {"description": "Update Guest Authorization", "operationId": "updateOrgGuestAuthorization", "tags": ["Orgs Guests"]}}}}}, "idpprofiles": {"specs": {"get": {"description": "get the list of Org IDP Profiles", "operationId": "listOrgIdpProfiles", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs IDP Profiles"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org IDP Profile", "operationId": "createOrgIdpProfile", "tags": ["Orgs IDP Profiles"]}}, "paths": {"{idpprofile_id}": {"specs": {"delete": {"description": "Delete Org IDP Profile", "operationId": "deleteOrgIdpProfile", "tags": ["Orgs IDP Profiles"]}, "get": {"description": "Get Org IDP Profile", "operationId": "getOrgIdpProfile", "tags": ["Orgs IDP Profiles"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/idpprofile_id"}], "put": {"description": "Update Org IDP Profile", "operationId": "updateOrgIdpProfile", "tags": ["Orgs IDP Profiles"]}}}}}, "insights": {"paths": {"sites-sle": {"specs": {"get": {"description": "Get Org Sites SLE", "operationId": "getOrgSitesSle", "parameters": [{"in": "query", "name": "sle", "schema": {"enum": ["wan", "wired", "wifi"], "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/interval"}], "tags": ["Orgs SLEs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "{metric}": {"specs": {"get": {"description": "Get Org SLEs (all/worst sites, Mx Edges, ...)", "operationId": "getOrgSle", "parameters": [{"description": "see [listInsightMetrics](/#operation/listInsightMetrics) for more details", "in": "query", "name": "sle", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/interval"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}], "tags": ["Orgs SLEs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/metric"}]}}}}, "inventory": {"specs": {"get": {"description": "Get Org Inventory\n\n### VC (Virtual-Chassis) Management\nIdeally VC should be managed as a single device - where - one managed entity where config / monitoring is anchored against (with a stable identify MAC) - all members appears in the inventory\n\nIn our implementation, we strive to achieve that without manual user configurations by \n1. during claim or adoption a VC, we require FPC0 to exist and will use its MAC as identify for the entire chassis\n2. other VC members will be automatically populated when they\u2019re all present\n\nThe perceivable result is \n1. from `/sites/:site_id/stats/devices/:fpc0_mac` API, you\u2019d see the VC where module_stat contains the VC members \n2. from `/orgs/:org_id/inventory?vc=true` API, you\u2019d see all VC members with vc_mac pointing to the FPC0", "operationId": "getOrgInventory", "parameters": [{"description": "device serial", "in": "query", "name": "serial", "schema": {"type": "string"}}, {"description": "device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"in": "query", "name": "type", "schema": {"enum": ["ap", "switch", "gateway"], "type": "string"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "site id if assigned, null if not assigned", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"in": "query", "name": "vc_mac", "schema": {"type": "string"}}, {"in": "query", "name": "vc", "schema": {"type": "string"}}, {"in": "query", "name": "unassigned", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Inventory"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Add Device to Org Inventory with the device claim codes", "operationId": "addOrgInventory", "tags": ["Orgs Inventory"]}, "put": {"description": "Update Org Inventory", "operationId": "updateOrgInventoryAssignment", "tags": ["Orgs Inventory"]}}, "paths": {"create_ha_cluster": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create HA Cluster from unassigned Gateways", "operationId": "createOrgGatewayHaCluster", "tags": ["Orgs Inventory"]}}}, "delete_ha_cluster": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Delete HA Cluster\n\nAfter HA cluster deleted, both of the nodes will be unassigned.", "operationId": "deleteOrgGatewayHaCluster", "tags": ["Orgs Inventory"]}}}, "reevaluate_auto_assignment": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Reevaluate Auto Assignment", "operationId": "reevaluateOrgAutoAssignment", "tags": ["Orgs Inventory"]}}}, "replace": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "It\u2019s a common request we get from the customers. When a AP HW has problem and need a replacement, they would want to copy the existing attributes (Device Config) of this old AP to the new one. It can be done by providing the MAC of a device that\u2019s currently in the inventory but not assigned. The Device replaced will become unassigned.\n\nThis API also supports replacement of Mist Edges. This API copies device agnostic attributes from old Mist edge to new one.\nMist manufactured Mist Edges will be reset to factory settings but will still be in Inventory.Brownfield or VM\u2019s will be\ndeleted from Inventory\n\n**Note:** For Gateway devices only like-for-like replacements (can only replace a SRX320 with a SRX320 and not some otehr model) are allowed.", "operationId": "replaceOrgDevices", "tags": ["Orgs Inventory"]}}}}}, "invites": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "If the request is successful, an email will also be sent to the user with a link to ```https://manage.mist.com/verify/invite?token=:token&expire=1459632743&org=OrgName```", "operationId": "inviteOrgAdmin", "tags": ["Orgs Admins"]}}, "paths": {"{invite_id}": {"specs": {"delete": {"description": "Delete Admin Invite", "operationId": "uninviteOrgAdmin", "tags": ["Orgs Admins"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/invite_id"}], "put": {"description": "Update Admin Invite", "operationId": "updateOrgAdminInvite", "tags": ["Orgs Admins"]}}}}}, "jsi": {"paths": {"devices": {"specs": {"get": {"description": "Get List of Org devices that connected to JSI", "operationId": "listOrgJsiDevices", "parameters": [{"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}, {"in": "query", "name": "model", "schema": {"type": "string"}}, {"in": "query", "name": "serial", "schema": {"type": "string"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}], "tags": ["Orgs JSI"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"outbound_ssh_cmd": {"specs": {"get": {"description": "Adopt JSI devices\n", "operationId": "adoptOrgJsiDevice", "tags": ["Orgs JSI"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "{device_mac}": {"paths": {"shell": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/device_mac"}], "post": {"description": "Create Shell Session", "operationId": "createOrgJsiDeviceShellSession", "tags": ["Orgs JSI"]}}}, "upgrade": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/device_mac"}], "post": {"description": "Upgrade", "operationId": "upgradeOrgJsiDevice", "tags": ["Orgs Devices Upgrades"]}}}}}}}, "inventory": {"specs": {"get": {"description": "Get List of all devices purchased from the accounts associated with the Org", "operationId": "listOrgJsiPastPurchases", "parameters": [{"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}, {"in": "query", "name": "model", "schema": {"type": "string"}}, {"in": "query", "name": "serial", "schema": {"type": "string"}}], "tags": ["Orgs JSI"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "licenses": {"specs": {"get": {"description": "Get the list of licenses", "operationId": "getOrgLicencesSummary", "tags": ["Orgs Licenses"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "put": {"description": "Move, Undo Move or Delete Org License to Another Org\nIf the admin has admin privilege against the `org_id` and `dst_org_id`, he can move some of the licenses to another Org. Given that: \n1. the specified license is currently active \n2. there\u2019s enough licenses left in the specified license (by subscription_id) \n3. there will still be enough entitled licenses for the type of license after the amendment", "operationId": "moveOrDeleteOrgLicenseToAnotherOrg", "tags": ["Orgs Licenses"]}}, "paths": {"usages": {"specs": {"get": {"description": "Get Licenses Usage by Sites\nThis shows license usage (i.e. needed) based on the features enabled for the site.", "operationId": "getOrgLicencesBySite", "tags": ["Orgs Licenses"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "logs": {"specs": {"get": {"description": "Get List of change logs for the current Org", "operationId": "listOrgLogs", "parameters": [{"description": "site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "admin name or email", "in": "query", "name": "admin_name", "schema": {"type": "string"}}, {"description": "message", "in": "query", "name": "message", "schema": {"type": "string"}}, {"description": "sort order", "in": "query", "name": "sort", "schema": {"enum": ["timestamp", "-timestamp", "site_id", "admin_id"], "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Logs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Audit Logs", "operationId": "countOrgLogs", "parameters": [{"in": "query", "name": "distinct", "required": true, "schema": {"default": "admin_name", "enum": ["admin_id", "admin_name", "message", "site_id"], "type": "string"}}, {"in": "query", "name": "admin_id", "schema": {"type": "string"}}, {"in": "query", "name": "admin_name", "schema": {"type": "string"}}, {"in": "query", "name": "site_id", "schema": {"type": "string"}}, {"in": "query", "name": "message", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Logs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "maps": {"paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Import data from files is a multipart POST which has a file, an optional json, and an optional csv, to create floorplan, assign matching inventory to specific site, place ap if name or mac matches\n\n### CSV File Format\n```csv\nVendor AP name,Mist AP Mac\nUS Office AP-2 - 5c:5b:35:00:00:02,5c5b35000002\n``` ", "operationId": "importOrgMaps", "tags": ["Orgs Maps"]}}}}}, "mist_nac": {"paths": {"test_idp": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "IDP Credential Validation. The output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, `session` is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n``` json\n{\n \"subscribe\": \"orgs/:org_id/mist_nac/test_idp\"\n}\n\n ```\n\n### Response (no idp can be found)\n\n``` json\n{\n \"event\": \"data\",\n \"channel\": \"/orgs/:org_id/mist_nac/test_idp\",\n \"status\": \n \"data\": {\n \"status\": \"failure\",\n \"error\": \"No matching IDP found\"\n }\n}\n\n ```\n\n### Response OK\n\n``` json\n{\n \"event\": \"data\",\n \"channel\": \"/orgs/:org_id/mist_nac/test_idp\",\n \"status\": \n \"data\": {\n \"status\": \"success\",\n \"idp_id\": \"915793c0-1355-4e98-b1c0-23df2227b357\",\n \"idp_type\": \"ldap\",\n // more attributes will be added later\n }\n}\n\n ```\n\n### Response Invalid Credentials\n\n``` json\n{\n \"event\": \"data\",\n \"channel\": \"/orgs/:org_id/mist_nac/test_idp\",\n \"status\": \n \"data\": {\n \"status\": \"failure\",\n \"error\": \"Invalid Credentials\",\n \"idp_id\": \"915793c0-1355-4e98-b1c0-23df2227b357\",\n \"idp_type\": \"ldap\",\n }\n}\n\n ```", "operationId": "validateOrgIdpCredential", "tags": ["Orgs NAC"]}}}}}, "mxclusters": {"specs": {"get": {"description": "Get List of Org MxEdge Clusters", "operationId": "listOrgMxEdgeClusters", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs MxClusters"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create MxCluster", "operationId": "createOrgMxEdgeCluster", "tags": ["Orgs MxClusters"]}}, "paths": {"{mxcluster_id}": {"specs": {"delete": {"description": "Delete Org MXEdge Cluster", "operationId": "deleteOrgMxEdgeCluster", "tags": ["Orgs MxClusters"]}, "get": {"description": "Get Org MxEdge Cluster Details", "operationId": "getOrgMxEdgeCluster", "tags": ["Orgs MxClusters"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxcluster_id"}], "put": {"description": "Update Org MxEdge Cluster", "operationId": "updateOrgMxEdgeCluster", "tags": ["Orgs MxClusters"]}}}}}, "mxedges": {"specs": {"get": {"description": "Get List of Org MxEdges", "operationId": "listOrgMxEdges", "parameters": [{"description": "filter for site level mist edges", "in": "query", "name": "for_sites", "schema": {"default": "any", "enum": ["any", "true", "false"], "type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create MxEdge", "operationId": "createOrgMxEdge", "tags": ["Orgs MxEdges"]}}, "paths": {"assign": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Assign Org MxEdge to Site", "operationId": "assignOrgMxEdgeToSite", "tags": ["Orgs MxEdges"]}}}, "claim": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "For a Mist Edge in default state, it will show a random claim code like `135-546-673` which you can \u201cclaim\u201d it into your Org", "operationId": "claimOrgMxEdge", "tags": ["Orgs MxEdges"]}}}, "count": {"specs": {"get": {"description": "Count Org Mist Edges", "operationId": "countOrgMxEdges", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "model", "enum": ["model", "mxcluster_id", "distro", "tunterm_version", "site_id"], "type": "string"}}, {"description": "mist edge id", "in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"description": "mist edge site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "mist edge cluster id", "in": "query", "name": "mxcluster_id", "schema": {"type": "string"}}, {"description": "model name", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "debian code name(buster, bullseye)", "in": "query", "name": "distro", "schema": {"type": "string"}}, {"description": "tunterm version", "in": "query", "name": "tunterm_version", "schema": {"type": "string"}}, {"description": "sort options, -prefix represents DESC order, default is -last_seen", "in": "query", "name": "sort", "schema": {"type": "string"}}, {"description": "whether to return device stats, default is false", "in": "query", "name": "stats", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "events": {"paths": {"count": {"specs": {"get": {"description": "Count Org Mist Edge Events", "operationId": "countOrgSiteMxEdgeEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "mxedge_id", "enum": ["mxedge_id", "type", "mxcluster_id", "package"], "type": "string"}}, {"description": "mist edge id", "in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"description": "mist edge cluster id", "in": "query", "name": "mxcluster_id", "schema": {"type": "string"}}, {"description": "mist edge event type [Supported Events](/#operation/listGatewayApplications)", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "service running on mist edge(mxagent, tunterm etc)", "in": "query", "name": "service", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org Mist Edge Events", "operationId": "searchOrgMistEdgeEvents", "parameters": [{"description": "mist edge id", "in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"description": "mist edge cluster id", "in": "query", "name": "mxcluster_id", "schema": {"type": "string"}}, {"description": "mist edge event type [Supported Events](/#operation/listGatewayApplications)", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "service running on mist edge(mxagent, tunterm etc)", "in": "query", "name": "service", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "search": {"specs": {"get": {"description": "Search Org Mist Edges", "operationId": "searchOrgMxEdges", "parameters": [{"description": "mist edge id", "in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"description": "mist edge site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "mist edge cluster id", "in": "query", "name": "mxcluster_id", "schema": {"type": "string"}}, {"description": "model name", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "debian code name(buster, bullseye)", "in": "query", "name": "distro", "schema": {"type": "string"}}, {"description": "tunterm version", "in": "query", "name": "tunterm_version", "schema": {"type": "string"}}, {"description": "sort options, -prefix represents DESC order, default is -last_seen", "in": "query", "name": "sort", "schema": {"type": "string"}}, {"description": "whether to return device stats, default is false", "in": "query", "name": "stats", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "unassign": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Unassign Org MxEdge from Site", "operationId": "unassignOrgMxEdgeFromSite", "tags": ["Orgs MxEdges"]}}}, "upgrade": {"specs": {"get": {"description": "Get List of Org Mist Edge Upgrades", "operationId": "listOrgMxEdgeUpgrades", "tags": ["Orgs Devices Upgrades"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Upgrade Mist Edges", "operationId": "upgradeOrgMxEdges", "tags": ["Orgs Devices Upgrades"]}}, "paths": {"{upgrade_id}": {"specs": {"get": {"description": "Get Mist Edge Upgrade", "operationId": "getOrgMxEdgeUpgrade", "tags": ["Orgs Devices Upgrades"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/upgrade_id"}]}}}}, "version": {"specs": {"get": {"description": "Get Mist Edge Upgrade Information", "operationId": "getOrgMxEdgeUpgradeInfo", "parameters": [{"description": "upgrade channel to follow, stable (default) / beta / alpha", "in": "query", "name": "channel", "schema": {"default": "stable", "enum": ["stable", "beta", "alpha"], "type": "string"}}], "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "{mxedge_id}": {"specs": {"delete": {"description": "Delete Org MxEdge", "operationId": "deleteOrgMxEdge", "tags": ["Orgs MxEdges"]}, "get": {"description": "Get Org MxEdge details", "operationId": "getOrgMxEdge", "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxedge_id"}], "put": {"description": "Update Org MxEdge", "operationId": "updateOrgMxEdge", "tags": ["Orgs MxEdges"]}}, "paths": {"": {"paths": {"image{image_number}": {"specs": {"delete": {"description": "Remove MxEdge Image", "operationId": "deleteOrgMxEdgeImage", "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxedge_id"}, {"in": "path", "name": "image_number", "required": true, "schema": {"maximum": 3, "minimum": 1, "type": "number"}}], "post": {"description": "Attach up to 3 images to a mxedge", "operationId": "addOrgMxEdgeImage", "tags": ["Orgs MxEdges"]}}}}}, "restart": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxedge_id"}], "post": {"description": "In the case where a Mist Edge is replaced, you would need to unregister it. Which disconnects the currently the connected Mist Edge and allow another to register.", "operationId": "restartOrgMxEdge", "tags": ["Orgs MxEdges"]}}}, "services": {"paths": {"tunterm": {"paths": {"bounce_port": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxedge_id"}], "post": {"description": "Bounce TunTerm Data Ports", "operationId": "bounceOrgMxEdgeDataPorts", "parameters": [], "tags": ["Orgs MxEdges"]}}}}}, "{name}": {"paths": {"{action}": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxedge_id"}, {"in": "path", "name": "name", "required": true, "schema": {"enum": ["tunterm", "radsecproxy", "mxagent", "mxocproxy", "mxdas"], "type": "string"}}, {"description": "restart or start or stop", "in": "path", "name": "action", "required": true, "schema": {"enum": ["restart", "start", "stop"], "type": "string"}}], "post": {"description": "Control Services on a Mist Edge", "operationId": "controlOrgMxEdgeServices", "tags": ["Orgs MxEdges"]}}}}}}}, "support": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxedge_id"}], "post": {"description": "Support / Upload Mist Edge support files", "operationId": "uploadOrgMxEdgeSupportFiles", "tags": ["Orgs MxEdges"]}}}, "unregister": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxedge_id"}], "post": {"description": "In the case where a Mist Edge is replaced, you would need to unregister it. Which disconnects the currently the connected Mist Edge and allow another to register.", "operationId": "unregisterOrgMxEdge", "tags": ["Orgs MxEdges"]}}}, "upgrade": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxedge_id"}], "post": {"description": "Upgrade MxEdge", "operationId": "upgradeOrgMxEdge", "tags": ["Orgs Devices Upgrades"]}}}}}}}, "mxtunnels": {"specs": {"get": {"description": "Get List of Org MxTunnels", "operationId": "listOrgMxTunnels", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs MxTunnels"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create MxTunnel", "operationId": "createOrgMxTunnel", "tags": ["Orgs MxTunnels"]}}, "paths": {"{mxtunnel_id}": {"specs": {"delete": {"description": "Delete Org MxTunnel", "operationId": "deleteOrgMxTunnel", "tags": ["Orgs MxTunnels"]}, "get": {"description": "Get Org MxTunnel Details", "operationId": "getOrgMxTunnel", "tags": ["Orgs MxTunnels"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxtunnel_id"}], "put": {"description": "Update Org MxTunnel", "operationId": "updateOrgMxTunnel", "tags": ["Orgs MxTunnels"]}}}}}, "nac_clients": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of NAC Clients", "operationId": "countOrgNacClients", "parameters": [{"description": "NAC Policy Rule ID, if matched", "in": "query", "name": "distinct", "schema": {"default": "type", "enum": ["type", "last_nacrule_id", "auth_type", "last_vlan_id", "last_nas_vendor", "last_username", "last_ap", "mac", "last_ssid", "last_status", "mdm_compliance_status", "mdm_provider"], "type": "string"}}, {"description": "NAC Policy Rule ID, if matched", "in": "query", "name": "last_nacrule_id", "schema": {"type": "string"}}, {"description": "NAC Policy Rule Matched", "in": "query", "name": "nacrule_matched", "schema": {"type": "boolean"}}, {"description": "authentication type, e.g. \u201ceap-tls\u201d, \u201ceap-ttls\u201d, \u201ceap-teap\u201d, \u201cmab\u201d, \u201cdevice-auth\u201d", "in": "query", "name": "auth_type", "schema": {"type": "string"}}, {"description": "Vlan ID", "in": "query", "name": "last_vlan_id", "schema": {"type": "string"}}, {"description": "vendor of NAS device", "in": "query", "name": "last_nas_vendor", "schema": {"type": "string"}}, {"description": "SSO ID, if present and used", "in": "query", "name": "idp_id", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "last_ssid", "schema": {"type": "string"}}, {"description": "Username presented by the client", "in": "query", "name": "last_username", "schema": {"type": "string"}}, {"description": "start time, in epoch", "in": "query", "name": "timestamp", "schema": {"type": "number"}}, {"description": "site id if assigned, null if not assigned", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "AP MAC connected to by client", "in": "query", "name": "last_ap", "schema": {"type": "string"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Connection status of client i.e \u201cpermitted\u201d, \u201cdenied, \u201csession_ended\u201d", "in": "query", "name": "last_status", "schema": {"type": "string"}}, {"description": "Client type i.e. \u201cwireless\u201d, \u201cwired\u201d etc.", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "MDM compliancy of client i.e \u201ccompliant\u201d, \u201cnot compliant\u201d", "in": "query", "name": "mdm_compliance_status", "schema": {"type": "string"}}, {"description": "MDM provider of client\u2019s organisation eg \u201cintune\u201d, \u201cjamf\u201d", "in": "query", "name": "mdm_provider", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Clients - NAC"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "events": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of NAC Client-Events", "operationId": "countOrgNacClientEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"enum": ["type", "nacrule_id", "dryrun_nacrule_id", "auth_type", "vlan", "nas_vendor", "username", "ap", "mac", "ssid"], "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Clients - NAC"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search NAC Client Events", "operationId": "searchOrgNacClientEvents", "parameters": [{"description": "event type, e.g. NAC_CLIENT_PERMIT", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "NAC Policy Rule ID, if matched", "in": "query", "name": "nacrule_id", "schema": {"format": "uuid", "type": "string"}}, {"description": "NAC Policy Rule Matched", "in": "query", "name": "nacrule_matched", "schema": {"type": "boolean"}}, {"description": "NAC Policy Dry Run Rule ID, if present and matched", "in": "query", "name": "dryrun_nacrule_id", "schema": {"type": "string"}}, {"description": "True - if dryrun rule present and matched with priority, False - if not matched or not present", "in": "query", "name": "dryrun_nacrule_matched", "schema": {"type": "boolean"}}, {"description": "authentication type, e.g. \u201c802.1X\u201d, \u201cMAB\u201d, \u201cDeviceAuth\u201d", "in": "query", "name": "auth_type", "schema": {"type": "string"}}, {"description": "Vlan ID", "in": "query", "name": "vlan", "schema": {"type": "integer"}}, {"description": "vendor of NAS device", "in": "query", "name": "nas_vendor", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "bssid", "schema": {"type": "string"}}, {"description": "SSO ID, if present and used", "in": "query", "name": "idp_id", "schema": {"format": "uuid", "type": "string"}}, {"description": "IDP returned roles/groups for the user", "in": "query", "name": "idp_role", "schema": {"type": "string"}}, {"description": "Radius attributes returned by NAC to NAS Devive", "in": "query", "name": "resp_attrs", "schema": {"items": {"type": "string"}, "type": "array"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "Username presented by the client", "in": "query", "name": "username", "schema": {"type": "string"}}, {"description": "site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "AP random macMAC", "in": "query", "name": "random_mac", "schema": {"type": "boolean"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "start time, in epoch", "in": "query", "name": "timestamp", "schema": {"type": "number"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Clients - NAC"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "search": {"specs": {"get": {"description": "Search Org NAC Clients", "operationId": "searchOrgNacClients", "parameters": [{"description": "NAC Policy Rule ID, if matched", "in": "query", "name": "last_nacrule_id", "schema": {"type": "string"}}, {"description": "NAC Policy Rule Matched", "in": "query", "name": "nacrule_matched", "schema": {"type": "boolean"}}, {"description": "authentication type, e.g. \u201ceap-tls\u201d, \u201ceap-ttls\u201d, \u201ceap-teap\u201d, \u201cmab\u201d, \u201cdevice-auth\u201d", "in": "query", "name": "auth_type", "schema": {"type": "string"}}, {"description": "Vlan ID", "in": "query", "name": "last_vlan_id", "schema": {"type": "string"}}, {"description": "vendor of NAS device", "in": "query", "name": "last_nas_vendor", "schema": {"type": "string"}}, {"description": "SSO ID, if present and used", "in": "query", "name": "idp_id", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "last_ssid", "schema": {"type": "string"}}, {"description": "Username presented by the client", "in": "query", "name": "last_username", "schema": {"type": "string"}}, {"description": "start time, in epoch", "in": "query", "name": "timestamp", "schema": {"type": "number"}}, {"description": "site id if assigned, null if not assigned", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "AP MAC connected to by client", "in": "query", "name": "last_ap", "schema": {"type": "string"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Connection status of client i.e \u201cpermitted\u201d, \u201cdenied, \u201csession_ended\u201d", "in": "query", "name": "last_status", "schema": {"type": "string"}}, {"description": "Client type i.e. \u201cwireless\u201d, \u201cwired\u201d etc.", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "MDM compliancy of client i.e \u201ccompliant\u201d, \u201cnot compliant\u201d", "in": "query", "name": "mdm_compliance_status", "schema": {"type": "string"}}, {"description": "MDM provider of client\u2019s organisation eg \u201cintune\u201d, \u201cjamf\u201d", "in": "query", "name": "mdm_provider", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Clients - NAC"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "nacrules": {"specs": {"get": {"description": "Get List of Org NAC Rules", "operationId": "listOrgNacRules", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs NAC Rules"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "create Org NAC Rule", "operationId": "createOrgNacRule", "tags": ["Orgs NAC Rules"]}}, "paths": {"{nacrule_id}": {"specs": {"delete": {"description": "Delete Org NAC Rule", "operationId": "deleteOrgNacRule", "tags": ["Orgs NAC Rules"]}, "get": {"description": "Get Org NAC Rule", "operationId": "getOrgNacRule", "tags": ["Orgs NAC Rules"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/nacrule_id"}], "put": {"description": "Update Org NAC Rule", "operationId": "updateOrgNacRule", "tags": ["Orgs NAC Rules"]}}}}}, "nactags": {"specs": {"get": {"description": "Get List of Org NAC Tags", "operationId": "listOrgNacTags", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs NAC Tags"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org NAC Tag", "operationId": "createOrgNacTag", "tags": ["Orgs NAC Tags"]}}, "paths": {"{nactag_id}": {"specs": {"delete": {"description": "Delete Org NAC Tag", "operationId": "deleteOrgNacTag", "tags": ["Orgs NAC Tags"]}, "get": {"description": "Get Org NAC Tag", "operationId": "getOrgNacTag", "tags": ["Orgs NAC Tags"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/nactag_id"}], "put": {"description": "Update Org NAC Tag ", "operationId": "updateOrgNacTag", "tags": ["Orgs NAC Tags"]}}}}}, "networks": {"specs": {"get": {"description": "Get List of Org Networks", "operationId": "listOrgNetworks", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Networks"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Organization Network", "operationId": "createOrgNetwork", "tags": ["Orgs Networks"]}}, "paths": {"{network_id}": {"specs": {"delete": {"description": "Delete Organization Network", "operationId": "deleteOrgNetwork", "tags": ["Orgs Networks"]}, "get": {"description": "Get Organization Network Details", "operationId": "getOrgNetwork", "tags": ["Orgs Gateway Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/network_id"}], "put": {"description": "Update Organization Network", "operationId": "updateOrgNetwork", "tags": ["Orgs Networks"]}}}}}, "networktemplates": {"specs": {"get": {"description": "Get List of Org Network Templates", "operationId": "listOrgNetworkTemplates", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Network Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Update Org Network Templates", "operationId": "createOrgNetworkTemplate", "tags": ["Orgs Network Templates"]}}, "paths": {"{networktemplate_id}": {"specs": {"delete": {"description": "Delete Org Network Template", "operationId": "deleteOrgNetworkTemplate", "tags": ["Orgs Network Templates"]}, "get": {"description": "Get Org Network Templates Details", "operationId": "getOrgNetworkTemplate", "tags": ["Orgs Network Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/networktemplate_id"}], "put": {"description": "Update Org Network Template", "operationId": "updateOrgNetworkTemplates", "parameters": [], "tags": ["Orgs Network Templates"]}}}}}, "ocdevices": {"paths": {"outbound_ssh_cmd": {"specs": {"get": {"description": "Get Org Juniper Devices command\n\nJuniper devices can be managed/adopted by Mist. Currently outbound-ssh + netconf is used.\nA few lines of CLI commands are generated per-Org, allowing the Juniper devices to phone home to Mist.", "operationId": "getOrgJuniperDevicesCommand", "parameters": [{"description": "site_id would be used for proxy config check of the site and automatic site assignment", "in": "query", "name": "site_id", "schema": {"type": "string"}}], "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "otherdevices": {"specs": {"get": {"description": "Get List of Org other devices (3rd party devices)", "operationId": "listOrgOtherDevices", "parameters": [{"in": "query", "name": "vendor", "schema": {"type": "string"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}, {"in": "query", "name": "serial", "schema": {"type": "string"}}, {"in": "query", "name": "model", "schema": {"type": "string"}}, {"in": "query", "name": "name", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Devices Others"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "put": {"description": "If the Site / Device cannot be identified, a manual association can be made. Either a site_id or a device_mac needs to be provided.", "operationId": "updateOrgOtherDevices", "tags": ["Orgs Devices Others"]}}, "paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count Org OtherDevices Events", "operationId": "countOrgOtherDeviceEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "mac", "enum": ["mac", "type", "vendor", "site_id"], "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Devices Others"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org OtherDevices Events", "operationId": "searchOrgOtherDeviceEvents", "parameters": [{"description": "site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "mac of attached device", "in": "query", "name": "device_mac", "schema": {"type": "string"}}, {"description": "device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "vendor name", "in": "query", "name": "vendor", "schema": {"type": "string"}}, {"description": "event type", "in": "query", "name": "type", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Devices Others"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "{device_mac}": {"specs": {"delete": {"description": "Delete OtherDevice", "operationId": "deleteOrgOtherDevice", "tags": ["Orgs Devices Others"]}, "get": {"description": "Get Org other device (3rd party device)", "operationId": "getOrgOtherDevice", "tags": ["Orgs Devices Others"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/device_mac"}], "put": {"description": "If the Site / Device cannot be identified, a manual association can be made", "operationId": "updateOrgOtherDevice", "tags": ["Orgs Devices Others"]}}, "paths": {"reboot": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/device_mac"}], "post": {"description": "Reboot OtherDevice", "operationId": "rebootOrgOtherDevice", "tags": ["Orgs Devices Others"]}}}}}}}, "pma": {"paths": {"dashboards": {"specs": {"get": {"description": "Get List of premium analytics dashboards for this Org", "operationId": "listOrgPmaDashboards", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Premium Analytics"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "pskportals": {"specs": {"get": {"description": "Get List of Org Psk Portals", "operationId": "listOrgPskPortals", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Psk Portals"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Psk Portal", "operationId": "createOrgPskPortal", "tags": ["Orgs Psk Portals"]}}, "paths": {"logs": {"specs": {"get": {"description": "Get the list of PSK Portals Logs", "operationId": "listOrgPskPortalLogs", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Psk Portals"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of PskPortal Logs", "operationId": "countOrgPskPortalLogs", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "pskportal_id", "enum": ["admin_id", "admin_name", "psk_name", "psk_id", "pskportal_id", "user_id"], "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Psk Portals"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org PSK Portal Logs", "operationId": "searchOrgPskPortalLogs", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}, {"in": "query", "name": "psk_name", "schema": {"type": "string"}}, {"in": "query", "name": "psk_id", "schema": {"format": "uuid", "type": "string"}}, {"in": "query", "name": "pskportal_id", "schema": {"format": "uuid", "type": "string"}}, {"description": "audit_id", "in": "query", "name": "id", "schema": {"format": "uuid", "type": "string"}}, {"in": "query", "name": "admin_name", "schema": {"type": "string"}}, {"in": "query", "name": "admin_id", "schema": {"format": "uuid", "type": "string"}}, {"description": "name_id used in SSO", "in": "query", "name": "name_id", "schema": {"format": "uuid", "type": "string"}}], "tags": ["Orgs Psk Portals"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "{pskportal_id}": {"specs": {"delete": {"description": "Delete Org Psk Portal", "operationId": "deleteOrgPskPortal", "tags": ["Orgs Psk Portals"]}, "get": {"description": "get Org Psk Portal Details", "operationId": "getOrgPskPortal", "tags": ["Orgs Psk Portals"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/pskportal_id"}], "put": {"description": "update Org Psk Portal", "operationId": "updateOrgPskPortal", "tags": ["Orgs Psk Portals"]}}}}}, "psks": {"specs": {"get": {"description": "Get List of Org Psks", "operationId": "listOrgPsks", "parameters": [{"example": "psk_name", "in": "query", "name": "name", "schema": {"type": "string"}}, {"in": "query", "name": "ssid", "schema": {"type": "string"}}, {"in": "query", "name": "role", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Psks"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org PSK", "operationId": "createOrgPsk", "parameters": [{"description": "if a key exists with the same `name`, replace it with the new one", "in": "query", "name": "upsert", "schema": {"type": "boolean"}}], "tags": ["Orgs Psks"]}, "put": {"description": "Update multi PSKs", "operationId": "updateOrgMultiPsks", "tags": ["Orgs Psks"]}}, "paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Import PSK from CSV file or JSON\n\n##\u00a0CSV File Format\n```\nPSK Import CSV File Format:\nname,ssid,passphrase,usage,vlan_id,mac,max_usage,role,expire_time,notify_expiry,expiry_notification_time,notify_on_create_or_edit,email\nCommon,warehouse,foryoureyesonly,single,35,a31425f31278,0,student,1618594236\nJustin,reception,visible,multi,1002,200,teacher,1618594236\nCommon2,ssid,1245678-xx,single,35,a31425f31278,0,student,1618594236,true,7,true,admin@test.com\n```", "operationId": "importOrgPsks", "tags": ["Orgs Psks"]}}}, "{psk_id}": {"specs": {"delete": {"description": "Delete Org PSK", "operationId": "deleteOrgPsk", "tags": ["Orgs Psks"]}, "get": {"description": "Get Org PSK Details", "operationId": "getOrgPsk", "tags": ["Orgs Psks"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/psk_id"}], "put": {"description": "Update Org PSK ", "operationId": "updateOrgPsk", "tags": ["Orgs Psks"]}}, "paths": {"delete_old_passphrase": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/psk_id"}], "post": {"description": "Delete `old_passphrase` from PSK. \nIf successful, response is same as GET, returns the PSK with `old_passphrase` removed.", "operationId": "deleteOrgPskOldPassphrase", "tags": ["Orgs Psks"]}}}}}}}, "rftemplates": {"specs": {"get": {"description": "Get List of Org RF Template", "operationId": "listOrgRfTemplates", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs RF Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org RF Template", "operationId": "createOrgRfTemplate", "tags": ["Orgs RF Templates"]}}, "paths": {"{rftemplate_id}": {"specs": {"delete": {"description": "Delete Org RF Template", "operationId": "deleteOrgRfTemplate", "tags": ["Orgs RF Templates"]}, "get": {"description": "Get Org RF Template Details", "operationId": "getOrgRfTemplate", "tags": ["Orgs RF Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/rftemplate_id"}], "put": {"description": "Update Org RF Template ", "operationId": "updateOrgRfTemplate", "tags": ["Orgs RF Templates"]}}}}}, "sdkclients": {"paths": {"{sdkclient_id}": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sdkclient_id"}], "put": {"description": "Update SDK Client", "operationId": "updateSdkClient", "tags": ["Orgs SDK Clients"]}}}}}, "sdkinvites": {"specs": {"get": {"description": "Get List of Org SDK Invites", "operationId": "listSdkInvites", "tags": ["Orgs SDK Clients"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create SDK Invite", "operationId": "createSdkInvite", "tags": ["Orgs SDK Clients"]}}, "paths": {"{sdkinvite_id}": {"specs": {"delete": {"description": "Revoke SDK Invite", "operationId": "revokeSdkInvite", "tags": ["Orgs SDK Clients"]}, "get": {"description": "Get SDK Invite Details", "operationId": "getSdkInvite", "tags": ["Orgs SDK Clients"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sdkinvite_id"}], "put": {"description": "Update SDK Invite", "operationId": "updateSdkInvite", "tags": ["Orgs SDK Clients"]}}, "paths": {"email": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sdkinvite_id"}], "post": {"description": "Send SDK Invite by Email", "operationId": "sendSdkInviteEmail", "tags": ["Orgs SDK Clients"]}}}, "qrcode": {"specs": {"get": {"description": "Revoke SDK Invite", "operationId": "getSdkInviteQrCode", "tags": ["Orgs SDK Clients"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sdkinvite_id"}]}}, "sms": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sdkinvite_id"}], "post": {"description": "Send SDK Invite by SMS", "operationId": "sendSdkInviteSms", "tags": ["Orgs SDK Clients"]}}}}}}}, "sdktemplates": {"specs": {"get": {"description": "Get List of Org SDK Templates", "operationId": "listSdkTemplates", "tags": ["Orgs SDK Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create SDK Template", "operationId": "createSdkTemplate", "tags": ["Orgs SDK Templates"]}}, "paths": {"{sdktemplate_id}": {"specs": {"delete": {"description": "Delete SDK Template", "operationId": "deleteSdkTemplate", "tags": ["Orgs SDK Templates"]}, "get": {"description": "Get SDK Template Details", "operationId": "getSdkTemplate", "tags": ["Orgs SDK Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sdktemplate_id"}], "put": {"description": "Update SDK Template", "operationId": "updateSdkTemplate", "tags": ["Orgs SDK Templates"]}}}}}, "secpolicies": {"specs": {"get": {"description": "Get List of Org Security Policies", "operationId": "listOrgSecPolicies", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs SecPolicies"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Security Policy", "operationId": "createOrgSecPolicies", "tags": ["Orgs SecPolicies"]}}, "paths": {"{secpolicy_id}": {"specs": {"delete": {"description": "Delete Org Security Policy", "operationId": "deleteOrgSecPolicy", "tags": ["Orgs SecPolicies"]}, "get": {"description": "Get Org Security Policy", "operationId": "getOrgSecPolicy", "tags": ["Orgs SecPolicies"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/secpolicy_id"}], "put": {"description": "Update Org Security Policy", "operationId": "updateOrgSecPolicies", "tags": ["Orgs SecPolicies"]}}}}}, "servicepolicies": {"specs": {"get": {"description": "Get List of Org Service Policies", "operationId": "listOrgServicePolicies", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Service Policies"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Serrvice Policy", "operationId": "createOrgServicePolicy", "tags": ["Orgs Service Policies"]}}, "paths": {"{servicepolicy_id}": {"specs": {"delete": {"description": "Delete Org Service Policuy", "operationId": "deleteOrgServicePolicy", "tags": ["Orgs Service Policies"]}, "get": {"description": "Get Org Service Policy Details", "operationId": "getOrgServicePolicy", "tags": ["Orgs Service Policies"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/servicepolicy_id"}], "put": {"description": "Update Org Serrvice Policy", "operationId": "updateOrgServicePolicy", "tags": ["Orgs Service Policies"]}}}}}, "services": {"specs": {"get": {"description": "Get List of Org Services", "operationId": "listOrgServices", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Services"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create getOrgServices Service", "operationId": "createOrgService", "tags": ["Orgs Services"]}}, "paths": {"{service_id}": {"specs": {"delete": {"description": "deleteOrgService", "operationId": "deleteOrgService", "tags": ["Orgs Services"]}, "get": {"description": "Get Org Service", "operationId": "getOrgService", "tags": ["Orgs Services"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/service_id"}], "put": {"description": "update Org Service", "operationId": "updateOrgService", "tags": ["Orgs Services"]}}}}}, "setting": {"specs": {"get": {"description": "Get Org Settings", "operationId": "getOrgSettings", "tags": ["Orgs Setting"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "put": {"description": "Update Org Settings", "operationId": "updateOrgSettings", "tags": ["Orgs Setting"]}}, "paths": {"blacklist": {"specs": {"delete": {"description": "Delete Org Blacklist Station Clients", "operationId": "deleteOrgWirelessClientsBlocklist", "tags": ["Orgs Setting"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Blacklist Client List. \n\nIf there is already a blacklist, this API will replace it with the new one. \n\nMax number of blacklist clients is 1000. \n\nRetrieve the current blacklisted clients from `blacklist_url` under Org:Setting\n", "operationId": "createOrgWirelessClientsBlocklist", "tags": ["Orgs Setting"]}}}, "cradlepoint": {"paths": {"setup": {"specs": {"delete": {"description": "This deletes the Cradlepoint integration in Mist", "operationId": "deleteOrgCradlepointConnection", "tags": ["Orgs Devices Others"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "This sets up cradlepoint webhooks to send events to Mist", "operationId": "setupOrgCradlepointConnectionToMist", "tags": ["Orgs Devices Others"]}, "put": {"description": "This updates the Cradlepoint integration settings in Mist", "operationId": "updateOrgCradlepointConnectionToMist", "tags": ["Orgs Devices Others"]}}}, "sync": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "This syncs cradlepoint devices with Mist. We\u2019ll also attempt to use the LLDP data from cradlepoint to identify the linkage against Mist Site / Device", "operationId": "syncOrgCradlepointRouters", "tags": ["Orgs Devices Others"]}}}}}, "jse": {"paths": {"info": {"specs": {"get": {"description": "Retrieves the list of JSE orgs associated with the account.", "operationId": "getOrgJseInfo", "tags": ["Orgs JSE"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "setup": {"specs": {"delete": {"description": "Delete JSE credential", "operationId": "deleteOrgJsecCredential", "tags": ["Orgs JSE"]}, "get": {"description": "Get Org JSE Credential", "operationId": "getOrgJsecCredential", "tags": ["Orgs JSE"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "in JSE UI: \n1. Create custom role with Read access to service-location and RW access to site and IPSec profile APIs. \n2. Create a user with the above custom role. - email: john@abc.com \n3. Activate the user in the JSE account. \n4. Create the service locations on the JSE account.", "operationId": "setupOrgJsecCredential", "tags": ["Orgs JSE"]}}}}}, "juniper": {"paths": {"link_accounts": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Link Juniper Accounts", "operationId": "linkOrgToJuniperJuniperAccount", "tags": ["Orgs"]}}}, "unlink_account": {"specs": {"delete": {"description": "Unlink Juniper Customer ID\n`linked_by` field is only required if there are duplicate account_names.", "operationId": "unlinkOrgFromJuniperCustomerId", "tags": ["Orgs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "mist_nac_crls": {"specs": {"get": {"description": "Returns all uploaded CRL file IDs with names for the orgI", "operationId": "getOrgNacCrl", "tags": ["Orgs NAC CRL"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Import NAC Org CRL file is a multipart POST which has a .crl file to allow user to manually upload a Certificate Revocation List file. We support one file upload per Issuer. Re-uploads for the same issuer will overwrite the existing file.", "operationId": "importOrgNacCrl", "tags": ["Orgs NAC CRL"]}}, "paths": {"{naccrl_id}": {"specs": {"delete": {"description": "Delete NAC Org CRL file is a DELETE request to delete CRL file identified by its ID (ID assigned on file upload/creation)", "operationId": "deleteOrgNacCrl", "tags": ["Orgs NAC CRL"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/naccrl_id"}]}}}}, "pcap_bucket": {"paths": {"setup": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Provide Customer Bucket Name\n\nSetting up Custom PCAP Bucket Involves the following:\n* provide the bucket name\n* we\u2019ll attempt to write a file MIST_TOKEN\n* you have to verify the ownership of the bucket by providing the content of the MIST_TOKEN", "operationId": "setOrgCustomBucket", "tags": ["Orgs Setting"]}}}, "verify": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Verify Customer PCAP Bucket\n\n**Note**: If successful, a \u201cVERIFIED\u201d file will be created in the bucket", "operationId": "verifyOrgCustomBucket", "tags": ["Orgs Setting"]}}}}}, "zscaler": {"paths": {"setup": {"specs": {"delete": {"description": "To delete Zscaler credential\n", "operationId": "deleteOrgZscalerCredential", "tags": ["Orgs Devices Zscaler"]}, "get": {"description": "To get Zscaler credential", "operationId": "getOrgZscalerCredential", "tags": ["Orgs Devices Zscaler"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "To setup Zscaler credential\n", "operationId": "setupOrgZscalerCredential", "tags": ["Orgs Devices Zscaler"]}}}}}, "{app_name}": {"paths": {"link_accounts": {"specs": {"delete": {"description": "Delete Org Level OAuth Application Authorization With Mist Portal", "operationId": "deleteOrgOauthAppAuthorization", "tags": ["Orgs Linked Applications"]}, "get": {"description": "Get Org Level OAuth Application Linked Status", "operationId": "getOrgOauthAppLinkedStatus", "parameters": [{"description": "Mist portal url to which backend needs to redirect after succesful OAuth authorization. **Required** to get the `authorization_url`", "in": "query", "name": "forward", "required": true, "schema": {"type": "string"}}], "tags": ["Orgs Linked Applications"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"description": "OAuth application name", "in": "path", "name": "app_name", "required": true, "schema": {"enum": ["zomm", "teams", "intune", "jamf", "vmware"], "type": "string"}}], "post": {"description": "Add Jamf, VMware Authorization With Mist Portal", "operationId": "addOrgOauthAppAccounts", "tags": ["Orgs Linked Applications"]}, "put": {"description": "Update Zoom, Teams, Intune Authorization.\n\nRequest Payload, These Field And Values Will Be Specific To Each Of The Third Party Apps Accounts.", "operationId": "updateOrgOauthAppAccounts", "tags": ["Orgs Linked Applications"]}}}}}}}, "sitegroups": {"specs": {"get": {"description": "Get List of Org Site Groups", "operationId": "listOrgSiteGroups", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Sitegroups"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Site Group", "operationId": "createOrgSiteGroup", "tags": ["Orgs Sitegroups"]}}, "paths": {"{sitegroup_id}": {"specs": {"delete": {"description": "Delete Org Site Group", "operationId": "deleteOrgSiteGroup", "tags": ["Orgs Sitegroups"]}, "get": {"description": "Get Org Site Group", "operationId": "getOrgSiteGroup", "tags": ["Orgs Sitegroups"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sitegroup_id"}], "put": {"description": "Update Org Site Group", "operationId": "updateOrgSiteGroup", "tags": ["Orgs Sitegroups"]}}}}}, "sites": {"specs": {"get": {"description": "Get List of Org Sites", "operationId": "listOrgSites", "parameters": [{"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Sites"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Site", "operationId": "createOrgSite", "tags": ["Orgs Sites"]}}, "paths": {"count": {"specs": {"get": {"description": "Count Sites", "operationId": "countOrgSites", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "id", "enum": ["analytic_enabled", "app_waking", "asset_enabled", "auto_upgrade_enabled", "auto_upgrade_version", "country_code", "honeypot_enabled", "id", "locate_unconnected", "mesh_enabled", "name", "rogue_enabled", "remote_syslog_enabled", "rtsa_enabled", "vna_enabled", "wifi_enabled"], "type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Sites"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Sites", "operationId": "searchOrgSites", "parameters": [{"description": "if Advanced Analytic feature is enabled", "in": "query", "name": "analytic_enabled", "schema": {"type": "boolean"}}, {"description": "if App Waking feature is enabled", "in": "query", "name": "app_waking", "schema": {"type": "boolean"}}, {"description": "if Asset Tracking is enabled", "in": "query", "name": "asset_enabled", "schema": {"type": "boolean"}}, {"description": "if Auto Upgrade feature is enabled", "in": "query", "name": "auto_upgrade_enabled", "schema": {"type": "boolean"}}, {"description": "if Auto Upgrade feature is enabled", "in": "query", "name": "auto_upgrade_version", "schema": {"type": "string"}}, {"description": "site country code", "in": "query", "name": "country_code", "schema": {"type": "string"}}, {"description": "if Honeypot detection is enabled", "in": "query", "name": "honeypot_enabled", "schema": {"type": "boolean"}}, {"description": "site id", "in": "query", "name": "id", "schema": {"type": "string"}}, {"description": "if unconnected client are located", "in": "query", "name": "locate_unconnected", "schema": {"type": "boolean"}}, {"description": "if Mesh feature is enabled", "in": "query", "name": "mesh_enabled", "schema": {"type": "boolean"}}, {"description": "site name", "in": "query", "name": "name", "schema": {"type": "string"}}, {"description": "if Rogue detection is enabled", "in": "query", "name": "rogue_enabled", "schema": {"type": "boolean"}}, {"description": "if Remote Syslog is enabled", "in": "query", "name": "remote_syslog_enabled", "schema": {"type": "boolean"}}, {"description": "if managed mobility feature is enabled", "in": "query", "name": "rtsa_enabled", "schema": {"type": "boolean"}}, {"description": "if Virtual Network Assistant is enabled", "in": "query", "name": "vna_enabled", "schema": {"type": "boolean"}}, {"description": "if WIFI feature is enabled", "in": "query", "name": "wifi_enabled", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Sites"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "{site_name}": {"paths": {"maps": {"paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/site_name"}], "post": {"description": "Import data from files is a multipart POST which has a file, an optional json, and an optional csv, to create floorplan, assign matching inventory to specific site, place ap if name or mac matches\n\n#### Request\n\n```\n\"json\": a JSON string describing your upload\n\"file\": a binary file\n```", "operationId": "importOrgMapToSite", "tags": ["Orgs Sites"]}}}}}}}}}, "sitetemplates": {"specs": {"get": {"description": "Get List of Org Site Templates", "operationId": "listOrgSiteTemplates", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Site Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Site Template", "operationId": "createOrgSiteTemplates", "tags": ["Orgs Site Templates"]}}, "paths": {"{sitetemplate_id}": {"specs": {"delete": {"description": "Delete Org Site Template", "operationId": "deleteOrgSiteTemplate", "tags": ["Orgs Site Templates"]}, "get": {"description": "Get Org Site Template", "operationId": "getOrgSiteTemplate", "tags": ["Orgs Site Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sitetemplate_id"}], "put": {"description": "Update Org Site Template", "operationId": "updateOrgSiteTemplate", "tags": ["Orgs Site Templates"]}}}}}, "ssoroles": {"specs": {"get": {"description": "Get List of Org SSO Roles", "operationId": "listOrgSsoRoles", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs SSO Roles"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org SSO Role", "operationId": "createOrgSsoRole", "tags": ["Orgs SSO Roles"]}}, "paths": {"{ssorole_id}": {"specs": {"delete": {"description": "Delete Org SSO Role", "operationId": "deleteOrgSsoRole", "tags": ["Orgs SSO Roles"]}, "get": {"description": "Get Org SSO Role Details", "operationId": "getOrgSsoRole", "tags": ["Orgs SSO Roles"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/ssorole_id"}], "put": {"description": "Update Org SSO Role", "operationId": "updateOrgSsoRole", "tags": ["Orgs SSO Roles"]}}}}}, "ssos": {"specs": {"get": {"description": "Get List of Org SSO Configuration", "operationId": "listOrgSsos", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs SSO"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org SSO Configuration", "operationId": "createOrgSso", "tags": ["Orgs SSO"]}}, "paths": {"{sso_id}": {"specs": {"delete": {"description": "Delete Org SSO Configuration", "operationId": "deleteOrgSso", "tags": ["Orgs SSO"]}, "get": {"description": "Get Org SSO Configuration Details", "operationId": "getOrgSso", "tags": ["Orgs SSO"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sso_id"}], "put": {"description": "Update Org SSO Configuration", "operationId": "updateOrgSso", "tags": ["Orgs SSO"]}}, "paths": {"failures": {"specs": {"get": {"description": "Get List of Org SSO Latest Failures", "operationId": "listOrgSsoLatestFailures", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs SSO"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sso_id"}]}}, "metadata": {"specs": {"get": {"description": "Get Org SSO SAML Metadata", "operationId": "getOrgSsoSamlMetadata", "tags": ["Orgs SSO"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sso_id"}]}}, "metadata.xml": {"specs": {"get": {"description": "Download Org SSO SAML Metdata\n\nExample of metadata.xml:\n```xml\n\n \n \n urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n \n \n Mist\n \n \n \n \n \n\n```", "operationId": "downloadOrgSsoSamlMetadata", "tags": ["Orgs SSO"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sso_id"}]}}}}}}, "ssr": {"paths": {"upgrade": {"specs": {"get": {"description": "Get List of Org SSR Upgrades", "operationId": "listOrgSsrUpgrades", "tags": ["Orgs Devices Upgrades"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Upgrade Org SSRs", "operationId": "upgradeOrgSsrs", "tags": ["Orgs Devices Upgrades"]}}, "paths": {"{upgrade_id}": {"paths": {"cancel": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/upgrade_id"}], "post": {"description": "Best effort to cancel an upgrade. Devices which are already upgraded wont be touched\u21b5\n", "operationId": "cancelOrgSsrUpgrade", "tags": ["Orgs Devices Upgrades"]}}}}}}}, "versions": {"specs": {"get": {"description": "Get available version for SSR", "operationId": "listOrgAvailableSsrVersions", "parameters": [{"in": "query", "name": "channel", "schema": {"type": "string"}}], "tags": ["Orgs Devices Upgrades"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "stats": {"specs": {"get": {"description": "Get Org Stats", "operationId": "getOrgStats", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Stats"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"assets": {"specs": {"get": {"description": "Get List of Org Assets Stats", "operationId": "listOrgAssetsStats", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Stats"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"count": {"specs": {"get": {"description": "Count Org Assets", "operationId": "countOrgAssetsByDistanceField", "parameters": [{"in": "query", "name": "distinct", "schema": {"enum": ["site_id", "mac", "map_id", "ibeacon_uuid", "ibeacon_major", "ibeacon_minor"], "type": "string"}}], "tags": ["Orgs Assets"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search for Org Assets", "operationId": "searchOrgAssets", "parameters": [{"in": "query", "name": "site_id", "schema": {"format": "uuid", "type": "string"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}, {"in": "query", "name": "device_name", "schema": {"type": "string"}}, {"in": "query", "name": "name", "schema": {"type": "string"}}, {"in": "query", "name": "map_id", "schema": {"format": "uuid", "type": "string"}}, {"in": "query", "name": "ibeacon_uuid", "schema": {"format": "uuid", "type": "string"}}, {"in": "query", "name": "ibeacon_major", "schema": {"type": "string"}}, {"in": "query", "name": "ibeacon_minor", "schema": {"type": "string"}}, {"in": "query", "name": "eddystone_uid_namespace", "schema": {"type": "string"}}, {"in": "query", "name": "eddystone_uid_instance", "schema": {"type": "string"}}, {"in": "query", "name": "eddystone_url", "schema": {"type": "string"}}, {"in": "query", "name": "ap_mac", "schema": {"type": "string"}}, {"in": "query", "name": "beam", "schema": {"type": "integer"}}, {"in": "query", "name": "rssi", "schema": {"type": "integer"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Assets"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "bgp_peers": {"paths": {"count": {"specs": {"get": {"description": "Count Org BGP Stats", "operationId": "countOrgBgpStats", "tags": ["Orgs Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org BGP Stats", "operationId": "searchOrgBgpStats", "tags": ["Orgs Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "devices": {"specs": {"get": {"description": "Get List of Org Devices stats\nThis API renders some high-level device stats, pagination is assumed and returned in response header (as the response is an array)", "operationId": "listOrgDevicesStats", "parameters": [{"in": "query", "name": "type", "schema": {"default": "ap", "enum": ["ap", "switch", "gateway", "all"], "type": "string"}}, {"in": "query", "name": "status", "schema": {"default": "all", "enum": ["all", "connected", "disconnected"], "type": "string"}}, {"in": "query", "name": "site_id", "schema": {"format": "uuid", "type": "string"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "EVPN Topology ID", "in": "query", "name": "evpntopo_id", "schema": {"format": "uuid", "type": "string"}}, {"description": "if `evpn_unused`==`true`, find EVPN eligible switches which don\u2019t belong to any EVPN Topology yet", "in": "query", "name": "evpn_unused", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/fields"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Stats"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "mxedges": {"specs": {"get": {"description": "Get List of Org MxEdge Stats", "operationId": "listOrgMxEdgesStats", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"description": "filter for site level mist edges", "in": "query", "name": "for_site", "schema": {"default": "false", "enum": ["true", "false", "any"], "type": "string"}}], "tags": ["Orgs Stats"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"{mxedge_id}": {"specs": {"get": {"description": "Get Org MxEdge Details Stats", "operationId": "getOrgMxEdgeStats", "tags": ["Orgs Stats"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxedge_id"}]}}}}, "otherdevices": {"paths": {"{device_mac}": {"specs": {"get": {"description": "Get Otherdevice Stats", "operationId": "getOrgOtherDeviceStats", "tags": ["Orgs Devices Others"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/device_mac"}]}}}}, "ports": {"paths": {"search": {"specs": {"get": {"description": "Search Switch / Gateway Ports", "operationId": "searchOrgSwOrGwPorts", "parameters": [{"description": "indicates full or half duplex", "in": "query", "name": "full_duplex", "schema": {"type": "boolean"}}, {"description": "device identifier", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Chassis identifier of the chassis type listed", "in": "query", "name": "neighbor_mac", "schema": {"type": "string"}}, {"description": "Description supplied by the system on the interface E.g. \u201cGigabitEthernet2/0/39\u201d", "in": "query", "name": "neighbor_port_desc", "schema": {"type": "string"}}, {"description": "Name supplied by the system on the interface E.g. neighbor system name E.g. \u201cKumar-Acc-SW.mist.local\u201d", "in": "query", "name": "neighbor_system_name", "schema": {"type": "string"}}, {"description": "is the POE configured not be disabled.", "in": "query", "name": "poe_disabled", "schema": {"type": "boolean"}}, {"description": "poe mode depending on class E.g. \u201c802.3at\u201d", "in": "query", "name": "poe_mode", "schema": {"type": "string"}}, {"description": "is the device attached to POE", "in": "query", "name": "poe_on", "schema": {"type": "boolean"}}, {"description": "interface name", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "interface mac address", "in": "query", "name": "port_mac", "schema": {"type": "string"}}, {"description": "Amount of power being used by the interface at the time the command is executed. Unit in watts.", "in": "query", "name": "power_draw", "schema": {"type": "number"}}, {"description": "Output packets", "in": "query", "name": "tx_pkts", "schema": {"type": "integer"}}, {"description": "Input packets", "in": "query", "name": "rx_pkts", "schema": {"type": "integer"}}, {"description": "Input bytes", "in": "query", "name": "rx_bytes", "schema": {"type": "integer"}}, {"description": "Output rate", "in": "query", "name": "tx_bps", "schema": {"type": "integer"}}, {"description": "Input rate", "in": "query", "name": "rx_bps", "schema": {"type": "integer"}}, {"description": "Output errors", "in": "query", "name": "tx_errors", "schema": {"type": "integer"}}, {"description": "Input errors", "in": "query", "name": "rx_errors", "schema": {"type": "integer"}}, {"description": "Multicast output packets", "in": "query", "name": "tx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast output packets", "in": "query", "name": "tx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "Multicast input packets", "in": "query", "name": "rx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast input packets", "in": "query", "name": "rx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "port speed", "in": "query", "name": "speed", "schema": {"type": "integer"}}, {"description": "Limit on number of dynamically learned macs", "in": "query", "name": "mac_limit", "schema": {"type": "integer"}}, {"description": "Number of mac addresses in the forwarding table", "in": "query", "name": "mac_count", "schema": {"type": "integer"}}, {"description": "indicates if interface is up", "in": "query", "name": "up", "schema": {"type": "boolean"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_state", "schema": {"enum": ["forwarding", "blocking", "learning", "listening", "disabled"], "type": "string"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_role", "schema": {"enum": ["designated", "backup", "alternate", "root", "root-prevented"], "type": "string"}}, {"description": "if `up`==`true` && has Authenticator role", "in": "query", "name": "auth_state", "schema": {"enum": ["init", "authenticated", "authenticating", "held"], "type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "switch_ports": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Switch/Gateway Ports", "operationId": "countOrgSwitchPorts", "parameters": [{"description": "port_id, port_mac, full_duplex, mac, neighbor_macneighbor_port_desc, neighbor_system_name, poe_disabled, poe_mode, poe_on, speed, up", "in": "query", "name": "distinct", "schema": {"default": "mac", "enum": ["port_id", "port_mac", "full_duplex", "mac", "neighbor_mac", "neighbor_port_desc", "neighbor_system_name", "poe_disabled", "poe_mode", "poe_on", "speed", "up"], "type": "string"}}, {"description": "indicates full or half duplex", "in": "query", "name": "full_duplex", "schema": {"type": "boolean"}}, {"description": "device identifier", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Chassis identifier of the chassis type listed", "in": "query", "name": "neighbor_mac", "schema": {"type": "string"}}, {"description": "Description supplied by the system on the interface E.g. \u201cGigabitEthernet2/0/39\u201d", "in": "query", "name": "neighbor_port_desc", "schema": {"type": "string"}}, {"description": "Name supplied by the system on the interface E.g. neighbor system name E.g. \u201cKumar-Acc-SW.mist.local\u201d", "in": "query", "name": "neighbor_system_name", "schema": {"type": "string"}}, {"description": "is the POE configured not be disabled.", "in": "query", "name": "poe_disabled", "schema": {"type": "boolean"}}, {"description": "poe mode depending on class E.g. \u201c802.3at\u201d", "in": "query", "name": "poe_mode", "schema": {"type": "string"}}, {"description": "is the device attached to POE", "in": "query", "name": "poe_on", "schema": {"type": "boolean"}}, {"description": "interface name", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "interface mac address", "in": "query", "name": "port_mac", "schema": {"type": "string"}}, {"description": "Amount of power being used by the interface at the time the command is executed. Unit in watts.", "in": "query", "name": "power_draw", "schema": {"type": "number"}}, {"description": "Output packets", "in": "query", "name": "tx_pkts", "schema": {"type": "integer"}}, {"description": "Input packets", "in": "query", "name": "rx_pkts", "schema": {"type": "integer"}}, {"description": "Input bytes", "in": "query", "name": "rx_bytes", "schema": {"type": "integer"}}, {"description": "Output rate", "in": "query", "name": "tx_bps", "schema": {"type": "integer"}}, {"description": "Input rate", "in": "query", "name": "rx_bps", "schema": {"type": "integer"}}, {"description": "Multicast output packets", "in": "query", "name": "tx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast output packets", "in": "query", "name": "tx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "Multicast input packets", "in": "query", "name": "rx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast input packets", "in": "query", "name": "rx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "port speed", "in": "query", "name": "speed", "schema": {"type": "integer"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_state", "schema": {"enum": ["forwarding", "blocking", "learning", "listening", "disabled"], "type": "string"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_role", "schema": {"enum": ["designated", "backup", "alternate", "root", "root-prevented"], "type": "string"}}, {"description": "if `up`==`true`", "in": "query", "name": "auth_state", "schema": {"enum": ["init", "authenticated", "authenticating", "held"], "type": "string"}}, {"description": "indicates if interface is up", "in": "query", "name": "up", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Stats"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "tunnels": {"paths": {"count": {"specs": {"get": {"description": "Count Mist Tunnels Stats", "operationId": "countOrgTunnelsStats", "parameters": [{"description": "- If `type`==`wxtunnel`: wxtunnel_id / ap / remote_ip / remote_port / state / mxedge_id / mxcluster_id / site_id / peer_mxedge_id; default is wxtunnel_id \n- If `type`==`wan`: mac / site_id / node / peer_ip / peer_host/ ip / tunnel_name / protocol / auth_algo / encrypt_algo / ike_version / last_event / up", "in": "query", "name": "distinct", "schema": {"enum": ["auth_algo"], "type": "string"}}, {"in": "query", "name": "type", "schema": {"default": "wxtunnel", "enum": ["wxtunnel", "wan"], "type": "string"}}], "tags": ["Orgs Tunnels Stats"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org Tunnels Stats", "operationId": "searchOrgTunnelsStats", "parameters": [{"description": "if `type`==`wxtunnel`", "in": "query", "name": "mxcluster_id", "schema": {"type": "string"}}, {"in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "if `type`==`wxtunnel`", "in": "query", "name": "wxtunnel_id", "schema": {"type": "string"}}, {"description": "if `type`==`wxtunnel`", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "node", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "peer_ip", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "peer_host", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "ip", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "tunnel_name", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "protocol", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "auth_algo", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "encrypt_algo", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "ike_version", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "up", "schema": {"type": "string"}}, {"in": "query", "name": "type", "schema": {"default": "wxtunnel", "enum": ["wxtunnel", "wan"], "type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Tunnels Stats"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "vpn_peers": {"paths": {"count": {"specs": {"get": {"description": "Count Org Peer Path Statgs", "operationId": "countOrgPeerPathStats", "parameters": [{"in": "query", "name": "distinct", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs VPNs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org Peer Path Stats", "operationId": "searchOrgPeerPathStats", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs VPNs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}}}, "subscriptions": {"specs": {"delete": {"description": "Unsubscribe from Org Alarms/Reports\nSubscriptions define how Org Alarms/Reports are delivered to whom", "operationId": "unsubscribeOrgAlarmsReports", "tags": ["Orgs Subscriptions"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Subscribe to Org Alarms/Reports\nSubscriptions define how Org Alarms/Reports are delivered to whom", "operationId": "subscribeOrgAlarmsReports", "tags": ["Orgs Subscriptions"]}}}, "templates": {"specs": {"get": {"description": "Get List of Org WLAN Templates", "operationId": "listOrgTemplates", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Template", "operationId": "createOrgTemplate", "tags": ["Orgs Templates"]}}, "paths": {"{template_id}": {"specs": {"delete": {"description": "Delete Org Template", "operationId": "deleteOrgTemplate", "tags": ["Orgs Templates"]}, "get": {"description": "Get Org Template Details", "operationId": "getOrgTemplate", "tags": ["Orgs Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/template_id"}], "put": {"description": "Update Org Template", "operationId": "updateOrgTemplate", "tags": ["Orgs Templates"]}}, "paths": {"clone": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/template_id"}], "post": {"description": "Clone Org Template", "operationId": "cloneOrgTemplate", "tags": ["Orgs Templates"]}}}}}}}, "tickets": {"specs": {"get": {"description": "Get List of Tickets of an Org", "operationId": "listOrgTickets", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Tickets"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create a support ticket", "operationId": "createOrgTicket", "tags": ["Orgs Tickets"]}}, "paths": {"count": {"specs": {"get": {"description": "Count Org Tickets", "operationId": "countOrgTickets", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "status", "enum": ["status", "type"], "type": "string"}}], "tags": ["Orgs Tickets"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "{ticket_id}": {"specs": {"get": {"description": "Get support ticket details", "operationId": "getOrgTicket", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Tickets"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/ticket_id"}], "put": {"description": "Update support ticket", "operationId": "updateOrgTicket", "tags": ["Orgs Tickets"]}}, "paths": {"comments": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/ticket_id"}], "post": {"description": "Add Comment to support ticket", "operationId": "addOrgTicketComment", "tags": ["Orgs Tickets"]}}}}}}}, "troubleshoot": {"specs": {"get": {"description": "Troubleshoot sites, devices, clients, and wired clients. See search APIs for device information:\n- [search Device](/#operation/searchOrgDevices)\n- [search Wireless Client](/#operation/searchOrgWirelessClients)\n- [search Wired Client](/#operation/searchOrgWiredClients)\n- [search Wan Client](/#operation/searchOrgWanClients)\n\n**NOTE**: requires Marvis subscription license", "operationId": "troubleshootOrg", "parameters": [{"description": "**required** when troubleshooting device or a client", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "**required** when troubleshooting site", "in": "query", "name": "site_id", "schema": {"format": "uuid", "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"description": "when troubleshooting site, type of network to troubleshoot", "in": "query", "name": "type", "schema": {"enum": ["wireless", "wired", "wan"], "type": "string"}}], "tags": ["Orgs Marvis"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "vars": {"paths": {"search": {"specs": {"get": {"description": "Search vars\n\nExample: /api/v1/orgs/:org_id/vars/search?vars=*", "operationId": "searchOrgVars", "parameters": [{"in": "query", "name": "site_id", "schema": {"type": "string"}}, {"in": "query", "name": "vars", "schema": {"type": "string"}}, {"in": "query", "name": "src", "schema": {"enum": ["site", "deviceprofile"], "type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Vars"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "vpns": {"specs": {"get": {"description": "Get List of Org VPNs", "operationId": "listOrgsVpns", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs VPNs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org VPN", "operationId": "createOrgVpns", "tags": ["Orgs VPNs"]}}, "paths": {"{vpn_id}": {"specs": {"delete": {"description": "delete Org Vpn", "operationId": "deleteOrgVpn", "tags": ["Orgs VPNs"]}, "get": {"description": "getOrgVpn", "operationId": "getOrgVpn", "tags": ["Orgs VPNs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/vpn_id"}], "put": {"description": "update Org Vpn", "operationId": "updateOrgVpn", "tags": ["Orgs VPNs"]}}}}}, "wan_client": {"paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Org WAN Client-Events\n", "operationId": "countOrgWanClientEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "type", "enum": ["type", "hostname", "ip", "mfg", "mac"], "type": "string"}}], "tags": ["Orgs Clients - Wan"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}}}, "wan_clients": {"paths": {"count": {"specs": {"get": {"description": "Count Org WAN Clients", "operationId": "countOrgWanClients", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "mac", "enum": ["hostname", "ip", "mfg", "mac"], "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Clients - Wan"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "events": {"paths": {"search": {"specs": {"get": {"description": "Search Org WAN Client Events\n", "operationId": "searchOrgWanClientEvents", "parameters": [{"description": "Event type, e.g. CLIENT_IP_ASSIGNED, CLIENT_IP_RENEWED, CLIENT_IP_EXPIRED", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "partial / full MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "client IP", "in": "query", "name": "ip", "schema": {"type": "string"}}, {"description": "Manufacture", "in": "query", "name": "mfg", "schema": {"type": "string"}}, {"description": "nacrule_id", "in": "query", "name": "nacrule_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Clients - Wan"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "search": {"specs": {"get": {"description": "Search Org WAN Clients", "operationId": "searchOrgWanClients", "parameters": [{"description": "partial / full MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "client IP", "in": "query", "name": "ip", "schema": {"type": "string"}}, {"description": "Manufacture", "in": "query", "name": "mfg", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Clients - Wan"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "webhooks": {"specs": {"get": {"description": "Get List of Org Webhooks", "operationId": "listOrgWebhooks", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Webhooks"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Webhook\n\n**N.B**. For org webhooks, only device-events/alarms/audits/client-join/client-sessions/device-updowns/mxedge-events Infrastructure topics are supported.", "operationId": "createOrgWebhook", "tags": ["Orgs Webhooks"]}}, "paths": {"{webhook_id}": {"specs": {"delete": {"description": "Delete Org Webhook", "operationId": "deleteOrgWebhook", "tags": ["Orgs Webhooks"]}, "get": {"description": "Get Org Webhook Details", "operationId": "getOrgWebhook", "tags": ["Orgs Webhooks"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/webhook_id"}], "put": {"description": "Update Org Webhook", "operationId": "updateOrgWebhook", "tags": ["Orgs Webhooks"]}}, "paths": {"events": {"paths": {"search": {"specs": {"get": {"description": "Search webhooks deliveries\n\nTo get a list of webhook deliveries in error, use the query parameter `?error=*`", "operationId": "searchOrgWebhooksDeliveries", "parameters": [{"in": "query", "name": "site_id", "schema": {"format": "uuid", "type": "string"}}, {"in": "query", "name": "error", "schema": {"type": "string"}}, {"in": "query", "name": "status_code", "schema": {"type": "integer"}}, {"description": "webhook topic", "in": "query", "name": "topic", "schema": {"enum": ["alarms", "audits", "device-updowns", "ping"], "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Webhooks"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/webhook_id"}]}}}}, "ping": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/webhook_id"}], "post": {"description": "send a Ping event to the webhook", "operationId": "pingOrgWebhook", "tags": ["Orgs Webhooks"]}}}}}}}, "wired_clients": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Clients\n\nNote: For list of avaialable `type` values, please refer to [listClientEventsDefinitions](/#operation/listClientEventsDefinitions)", "operationId": "countOrgWiredClients", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "mac", "enum": ["port_id", "vlan", "mac", "device_mac", "site_id", "type"], "type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Clients - Wired"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search for Wired Clients in org\n\nNote: For list of avaialable `type` values, please refer to [listClientEventsDefinitions](/#operation/listClientEventsDefinitions)", "operationId": "searchOrgWiredClients", "parameters": [{"description": "Site ID", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "device mac", "in": "query", "name": "device_mac", "schema": {"type": "string"}}, {"description": "client mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "port id", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "vlan", "in": "query", "name": "vlan", "schema": {"type": "integer"}}, {"description": "ip", "in": "query", "name": "ip", "schema": {"type": "string"}}, {"description": "client manufacturer", "in": "query", "name": "manufacture", "schema": {"type": "string"}}, {"description": "single entry of hostname/mac", "in": "query", "name": "text", "schema": {"type": "string"}}, {"description": "nacrule_id", "in": "query", "name": "nacrule_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Clients - Wired"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "wlans": {"specs": {"get": {"description": "Get List of Org Wlans", "operationId": "listOrgWlans", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Wlans"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Wlan", "operationId": "createOrgWlan", "tags": ["Orgs Wlans"]}}, "paths": {"{wlan_id}": {"specs": {"delete": {"description": "Delete Org WLAN", "operationId": "deleteOrgWlan", "tags": ["Orgs Wlans"]}, "get": {"description": "Get Org Wlan Detail", "operationId": "getOrgWLAN", "tags": ["Orgs Wlans"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/wlan_id"}], "put": {"description": "Update Org Wlan", "operationId": "updateOrgWlan", "tags": ["Orgs Wlans"]}}, "paths": {"portal_image": {"specs": {"delete": {"description": "Delete Org WLAN Portal Image", "operationId": "deleteOrgWlanPortalImage", "tags": ["Orgs Wlans"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/wlan_id"}], "post": {"description": "Upload Org WLAN Portal Image", "operationId": "uploadOrgWlanPortalImage", "tags": ["Orgs Wlans"]}}}, "portal_template": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/wlan_id"}], "put": {"description": "Update a Portal Template\n\n#### Sponsor Email Template\nSponsor Email Template supports following template variables:\n\n| **Name** | **Description** |\n| --- | --- |\n| approve_url | Renders URL to approve the request; optionally &minutes=N query param can be appended to change the Authorization period of the guest, where N is a valid integer denoting number of minutes a guest remains authorized |\n| deny_url | Renders URL to reject the request |\n| guest_email | Renders Email ID of the guest |\n| guest_name | Renders Name of the guest |\n| field1 | Renders value of the Custom Field 1 |\n| field2 | Renders value of the Custom Field 2 |\n| company | Renders value of the Company field |\n| sponsor_link_validity_duration | Renders validity time of the request (i.e. Approve/Deny URL) |\n| auth_expire_minutes | Renders Wlan-level configured Guest Authorization Expiration time period (in minutes), If not configured then default (1 day in minutes) |", "operationId": "updateOrgWlanPortalTemplate", "tags": ["Orgs Wlans"]}}}}}}}, "wxrules": {"specs": {"get": {"description": "Get List of Org WxRules", "operationId": "listOrgWxRules", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs WxRules"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org WxRule", "operationId": "createOrgWxRule", "tags": ["Orgs WxRules"]}}, "paths": {"derived": {"specs": {"get": {"description": "Get Derived Org WxRule", "operationId": "getOrgWxRulesDerived", "tags": ["Orgs WxRules"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "{wxrules_id}": {"specs": {"delete": {"description": "Delete Org WxRule", "operationId": "deleteOrgWxRule", "tags": ["Orgs WxRules"]}, "get": {"description": "Get Org WxRule Details", "operationId": "getOrgWxRule", "tags": ["Orgs WxRules"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/wxrules_id"}], "put": {"description": "Update Org WxRule", "operationId": "updateOrgWxRule", "tags": ["Orgs WxRules"]}}}}}, "wxtags": {"specs": {"get": {"description": "Get List of Org WxLAN Tags", "operationId": "listOrgWxTags", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs WxTags"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create WxLAN Tag", "operationId": "createOrgWxTag", "tags": ["Orgs WxTags"]}}, "paths": {"apps": {"specs": {"get": {"description": "Get Application List", "operationId": "getOrgApplicationList", "tags": ["Orgs WxTags"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "{wxtag_id}": {"specs": {"delete": {"description": "Delete WxLAN Tag", "operationId": "deleteOrgWxTag", "tags": ["Orgs WxTags"]}, "get": {"description": "Get WxLAN Tag Details", "operationId": "getOrgWxTag", "tags": ["Orgs WxTags"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/wxtag_id"}], "put": {"description": "Update WxLAN Tag", "operationId": "updateOrgWxTag", "tags": ["Orgs WxTags"]}}, "paths": {"clients": {"specs": {"get": {"description": "Get Current Matching Clients of a WXLAN Tag", "operationId": "getOrgCurrentMatchingClientsOfAWxTag", "tags": ["Orgs WxTags"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/wxtag_id"}]}}}}}}, "wxtunnels": {"specs": {"get": {"description": "Get List of Org WxLAN Tunnels", "operationId": "listOrgWxTunnels", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs WxTunnels"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org WxAN Tunnel", "operationId": "createOrgWxTunnel", "tags": ["Orgs WxTunnels"]}}, "paths": {"{wxtunnel_id}": {"specs": {"delete": {"description": "Delete Org WxLAN Tunnel", "operationId": "deleteOrgWxTunnel", "tags": ["Orgs WxTunnels"]}, "get": {"description": "Get Org WxLAN Tunnel Details", "operationId": "getOrgWxTunnel", "tags": ["Orgs WxTunnels"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/wxtunnel_id"}], "put": {"description": "Update Org WxLAN Tunnel", "operationId": "updateOrgWxTunnel", "tags": ["Orgs WxTunnels"]}}}}}}}}}, "recover": {"specs": {"post": {"description": "Recover Password\nAn email will also be sent to the user with a link to https://manage.mist.com/verify/recover?token=:token", "operationId": "recoverPassword", "tags": ["Recover Password"]}}, "paths": {"verify": {"paths": {"{token}": {"specs": {"parameters": [{"$ref": "#/components/parameters/token"}], "post": {"description": "Verify Recover Password\nWith correct verification, the user will be authenticated. UI can then prompt for new password", "operationId": "verifyRecoverPasssword", "tags": ["Recover Password"]}}}}}}}, "register": {"specs": {"post": {"description": "Register a new admin and his/her org\nAn email will also be sent to the user with a link to `/verify/register?token={token}`\n\n### reCAPTCHA\nGoogle reCAPTCHA is the choice to prevent bot registration\n\nIt needs this \n\n<script src='https://www.google.com/recaptcha/api.js' ></script>\n\nand this <div> in the desired place\n```html\n
\n```\n\nUse GET /api/v1/register/recaptcha to read the current setting.\nResponse example:\n```json\n{ \n \"flavor\": \"google\",\n \"required\": true, \n \"sitekey\": \"6LdAewsTAAAAAE25XKQhPEQ2FiMTft-WrZXQ5NUd\"\n}\n```\n\n### hCaptcha\nAlternative to reCAPTCHA is hCaptcha to prevent bot registration\n\nIt needs this script\n\n<script src='https://js.hcaptcha.com/1/api.js' async defer ></script>\n\nand this <div> in the desired place\n```html\n
\n```\n\nUse GET /api/v1/register/recaptcha?recaptcha_flavor=hcaptcha to read the current setting for hcaptcha with reply.\nResponse example:\n```json\n{\n \"flavor\": \"hcaptcha\",\n \"required\": true,\n \"sitekey\": \"6LdAewsTAAAAAE25XKQhPEQ2FiMTft-WrZXQ5NUd\"\n}\"\n```", "operationId": "registerNewAdmin", "tags": ["Orgs Admins"]}}, "paths": {"recaptcha": {"specs": {"get": {"description": "Get Registration Information", "operationId": "getAdminRegistrationInfo", "parameters": [{"in": "query", "name": "recaptcha_flavor", "schema": {"default": "google", "enum": ["google", "hcaptcha"], "type": "string"}}], "tags": ["Admin"]}}}, "verify": {"paths": {"{token}": {"specs": {"parameters": [{"$ref": "#/components/parameters/token"}], "post": {"description": "Verify registration", "operationId": "verifyRegistration", "tags": ["Orgs Admins"]}}}}}}}, "self": {"specs": {"delete": {"description": "To delete ones account and every associated with it. The effects:\n\nthe account would be deleted\nany orphaned Org (that only has this account as admin) will be deleted\nalong with all data with Org (sites, wlans, devices) will be gone.", "operationId": "deleteSelf", "tags": ["Self Account"]}, "get": {"description": "Get \u2018whoami\u2019 and privileges (which org and which sites I have access to)", "operationId": "getSelf", "tags": ["Self Account"]}, "put": {"description": "update Account Information", "operationId": "updateSelf", "tags": ["Self Account"]}}, "paths": {"apitokens": {"specs": {"get": {"description": "Get List of Current User API Tokens", "operationId": "listApiTokens", "tags": ["Self API Token"]}, "post": {"description": "Create API Token\nNote that the key is only available during creation time.", "operationId": "createApiToken", "tags": ["Self API Token"]}}, "paths": {"{apitoken_id}": {"specs": {"delete": {"description": "Delete an API Token", "operationId": "deleteApiToken", "tags": ["Self API Token"]}, "get": {"description": "Get User API Token", "operationId": "getApiToken", "tags": ["Self API Token"]}, "parameters": [{"$ref": "#/components/parameters/apitoken_id"}], "put": {"description": "Update User API Token", "operationId": "updateApiToken", "tags": ["Self API Token"]}}}}}, "logs": {"specs": {"get": {"description": "Get List of change logs across all Orgs for current admin\nAudit logs records all administrative activities done by current admin across all orgs", "operationId": "listSelfAuditLogs", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Self Audit Logs"]}}}, "oauth": {"paths": {"{provider}": {"specs": {"get": {"description": "Obtain Authorization URL for Linking", "operationId": "getOAuth2UrlForLinking", "parameters": [{"in": "query", "name": "forward", "schema": {"example": "http://manage.mist.com/oauth/callback.html", "type": "string"}}], "tags": ["Self OAuth2"]}, "parameters": [{"in": "path", "name": "provider", "required": true, "schema": {"type": "string"}}], "post": {"description": "Link Mist account with an OAuth2 Provider", "operationId": "linkOAuth2MistAccount", "tags": ["Self OAuth2"]}}}}}, "subscriptions": {"specs": {"get": {"description": "Get List of all the subscriptions", "operationId": "listAlarmSubscriptions", "tags": ["Self Alarms"]}}}, "two_factor": {"paths": {"token": {"specs": {"get": {"description": "Generate Secret Key for 2FA verification", "operationId": "generateSecretFor2faVerification", "parameters": [{"description": "if `by`==`qrcode`, returns the secret as a qrcode image", "in": "query", "name": "by", "schema": {"default": "qrcode", "enum": ["qrcode"], "type": "string"}}], "tags": ["Self MFA"]}}}, "verify": {"specs": {"post": {"description": "Verify Two-factor (OTP)\n\nTo verify two-factor authentication by using a code generated by app (e.g. Google Authenticator, Authy). Upon successful verification, the `two_factor_passed` will be set to true if it hasn\u2019t already been.\n", "operationId": "verifyTwoFactor", "tags": ["Self MFA"]}}}}}, "update": {"specs": {"post": {"description": "Change Email\nWe require the user to verify that they actually own the email address they intend to change it to.\n\nAfter the API call, the user will receive an email to the new email address with a link like https://manage.mist.com/verify/update?expire=:exp_time&email=:admin_email&token=:token\n\nUpon clicking the link, the user is provided with a login page to authenticate using existing credentials. After successful login, the email address of the user gets updated\n\n**Note**: The request parameter email can be used by UI to validate that the current session (if any) belongs to the admin or provide a login page (by pre-populating the email on login screen). UI can also use the request parameter expire to validate token expiry.", "operationId": "updateSelfEmail", "tags": ["Self Account"]}}, "paths": {"verify": {"paths": {"{token}": {"specs": {"get": {"description": "Verify Email change", "operationId": "verifySelfEmail", "tags": ["Self Account"]}, "parameters": [{"$ref": "#/components/parameters/token"}]}}}}}}}}, "sites": {"paths": {"{site_id}": {"specs": {"delete": {"description": "Delete Site", "operationId": "deleteSite", "tags": ["Sites"]}, "get": {"description": "Get Site Info", "operationId": "getSiteInfo", "tags": ["Sites"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "put": {"description": "Update Site Info", "operationId": "updateSiteInfo", "tags": ["Sites"]}}, "paths": {"alarms": {"paths": {"ack": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Ack multiple Site Alarms", "operationId": "multiAckSiteAlarms", "tags": ["Sites Alarms"]}}}, "ack_all": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Ack all Site Alarms\n\n**N.B.**: Batch size for multiple alarm ack and unack has to be less or or equal to 1000.", "operationId": "ackSiteAllAlarms", "tags": ["Sites Alarms"]}}}, "count": {"specs": {"get": {"description": "Count Site Alarms", "operationId": "countSiteAlarms", "parameters": [{"description": "Group by and count the alarms by some distinct field", "in": "query", "name": "distinct", "schema": {"default": "type", "enum": ["type", "acked", "severity", "group"], "type": "string"}}, {"description": "Name of the admins who have acked the alarms; accepts multiple values separated by comma", "in": "query", "name": "ack_admin_name", "schema": {"type": "string"}}, {"in": "query", "name": "acked", "schema": {"type": "boolean"}}, {"description": "Key-name of the alarms; accepts multiple values separated by comma", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "Alarm severity; accepts multiple values separated by comma", "in": "query", "name": "severity", "schema": {"type": "string"}}, {"description": "Alarm group name; accepts multiple values separated by comma", "in": "query", "name": "group", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Alarms"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Site Alarms", "operationId": "searchSiteAlarms", "parameters": [{"description": "Key-name of the alarms; accepts multiple values separated by comma", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "Name of the admins who have acked the alarms; accepts multiple values separated by comma", "in": "query", "name": "ack_admin_name", "schema": {"type": "string"}}, {"in": "query", "name": "acked", "schema": {"type": "boolean"}}, {"description": "Alarm severity; accepts multiple values separated by comma", "in": "query", "name": "severity", "schema": {"type": "string"}}, {"description": "Alarm group name; accepts multiple values separated by comma", "in": "query", "name": "group", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Alarms"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "unack": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Unack multiple Site Alarms", "operationId": "multiUnackSiteAlarms", "tags": ["Sites Alarms"]}}}, "unack_all": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Unack all Site Alarms\n\n**N.B.**: Batch size for multiple alarm ack and unack has to be less or or equal to 1000.", "operationId": "unackSiteAllArlarms", "tags": ["Sites Alarms"]}}}, "{alarm_id}": {"paths": {"ack": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/alarm_id"}], "post": {"description": "Ack Site Alarm", "operationId": "ackSiteAlarm", "tags": ["Sites Alarms"]}}}, "unack": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/alarm_id"}], "post": {"description": "Unack Site Alarm", "operationId": "unackSiteAlarm", "tags": ["Sites Alarms"]}}}}}}}, "anomaly": {"paths": {"client": {"paths": {"{client_mac}": {"paths": {"{metric}": {"specs": {"get": {"description": "Get Client Anomaly Events", "operationId": "getSiteAnomalyEventsForClient", "tags": ["Sites Anomaly"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/client_mac"}, {"$ref": "#/components/parameters/metric"}]}}}}}}, "device": {"paths": {"{device_mac}": {"paths": {"{metric}": {"specs": {"get": {"description": "Get Device Anomaly Events", "operationId": "getSiteAnomalyEventsforDevice", "tags": ["Sites Anomaly"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/metric"}, {"$ref": "#/components/parameters/device_mac"}]}}}}}}, "{metric}": {"specs": {"get": {"description": "Get Site Anomaly Events", "operationId": "getSiteAnomalyEvents", "tags": ["Sites Anomaly"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/metric"}]}}}}, "apps": {"specs": {"get": {"description": "Get List of Site Applications", "operationId": "listSiteApps", "tags": ["Sites Applications"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "aptemplates": {"paths": {"derived": {"specs": {"get": {"description": "Get derived AP Templates for Site", "operationId": "getSiteApTemplateDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"type": "boolean"}}], "tags": ["Sites AP Templates"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "assetfilters": {"specs": {"get": {"description": "Get List of Site Asset Filters", "operationId": "listSiteAssetFilters", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Asset Filters"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site Asset Filter", "operationId": "createSiteAssetFilters", "tags": ["Sites Asset Filters"]}}, "paths": {"{assetfilter_id}": {"specs": {"delete": {"description": "Deletes an existing BLE asset filter for the given site.", "operationId": "deleteSiteAssetFilter", "tags": ["Sites Asset Filters"]}, "get": {"description": "Get Site Asset Filter Details", "operationId": "getSiteAssetFilter", "tags": ["Sites Asset Filters"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/assetfilter_id"}], "put": {"description": "Updates an existing BLE asset filter for the given site.", "operationId": "updateSiteAssetFilter", "tags": ["Sites Asset Filters"]}}}}}, "assets": {"specs": {"get": {"description": "Get List of Site Assets", "operationId": "listSiteAssets", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Assets"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site Asset", "operationId": "createSiteAsset", "tags": ["Sites Assets"]}}, "paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Impert Site Assets. \n\nIt can be done via a CSV file or a JSON payload.\n\n## CSV File Format\n```csv\nname,mac\n\"asset_name\",5c5b53010101\n``` ", "operationId": "importSiteAssets", "parameters": [{"description": "API will replace the assets with same mac if provided `upsert`==`True`, otherwise will report in errors in response.", "in": "query", "name": "upsert", "schema": {"default": "False", "enum": ["True", "False"], "type": "string"}}], "tags": ["Sites Assets"]}}}, "{asset_id}": {"specs": {"delete": {"description": "Delete Site Asset", "operationId": "deleteSiteAsset", "tags": ["Sites Assets"]}, "get": {"description": "Get Site Asset Details", "operationId": "getSiteAsset", "tags": ["Sites Assets"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/asset_id"}], "put": {"description": "Update Site Asset", "operationId": "updateSiteAsset", "tags": ["Sites Assets"]}}}}}, "beacons": {"specs": {"get": {"description": "Get List of Site Beacons", "operationId": "listSiteBeacons", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Beacons"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site Beacon", "operationId": "createSiteBeacon", "tags": ["Sites Beacons"]}}, "paths": {"{beacon_id}": {"specs": {"delete": {"description": "Delete Site Beacon", "operationId": "deleteSiteBeacons", "tags": ["Sites Beacons"]}, "get": {"description": "Get Site Beacon Details", "operationId": "getSiteBeacon", "tags": ["Sites Beacons"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/beacon_id"}], "put": {"description": "Update Site Beacon", "operationId": "updateSiteBeacons", "tags": ["Sites Beacons"]}}}}}, "call": {"paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count Site Call Events", "operationId": "countSiteCallEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"enum": ["type", "app"], "type": "string"}}], "tags": ["Sites Calls"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Site Call Events", "operationId": "searchSiteCallEvents", "parameters": [{"description": "Event Type. See [listCallEventsDefinitions](/#operation/listCallEventsDefinitions)", "in": "query", "name": "type", "schema": {"type": "string"}}, {"in": "query", "name": "ap", "schema": {"type": "string"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}, {"in": "query", "name": "app", "schema": {"type": "string"}}], "tags": ["Sites Calls"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}}}, "clients": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Clients", "operationId": "countSiteWirelessClients", "parameters": [{"example": "hostname", "in": "query", "name": "distinct", "required": true, "schema": {"default": "device", "enum": ["ssid", "ap", "ip", "vlan", "hostname", "os", "model", "device"], "type": "string"}}, {"in": "query", "name": "ssid", "schema": {"type": "string"}}, {"in": "query", "name": "ap", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/ip"}, {"in": "query", "name": "vlan", "schema": {"type": "string"}}, {"in": "query", "name": "hostname", "schema": {"type": "string"}}, {"in": "query", "name": "os", "schema": {"type": "string"}}, {"in": "query", "name": "model", "schema": {"type": "string"}}, {"in": "query", "name": "device", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "disconnect": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "To unauthorize multiple clients", "operationId": "disconnectSiteMultipleClients", "tags": ["Sites Clients - Wireless"]}}}, "events": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Client-Events", "operationId": "countSiteWirelessClientEvents", "parameters": [{"description": "type / proto / band / channel / wlan_id / ssid", "example": "type", "in": "query", "name": "distinct", "schema": {"enum": ["type", "proto", "band", "channel", "wlan_id", "ssid"], "type": "string"}}, {"description": "event type, e.g. MARVIS_EVENT_CLIENT_FBT_FAILURE", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "for assoc/disassoc events", "in": "query", "name": "reason_code", "schema": {"type": "integer"}}, {"description": "SSID Name", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "802.11 standard", "in": "query", "name": "proto", "schema": {"enum": ["b", "g", "n", "ac", "ax", "a"], "type": "string"}}, {"description": "24 / 5", "in": "query", "name": "band", "schema": {"enum": ["24", "5"], "type": "string"}}, {"description": "wlan_id", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Get Site Clients Events", "operationId": "searchSiteWirelessClientEvents", "parameters": [{"description": "event type, e.g. MARVIS_EVENT_CLIENT_FBT_FAILURE", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "for assoc/disassoc events", "in": "query", "name": "reason_code", "schema": {"type": "integer"}}, {"description": "SSID Name", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "802.11 standard", "in": "query", "name": "proto", "schema": {"enum": ["b", "g", "n", "ac", "ax", "a"], "type": "string"}}, {"description": "24 / 5", "in": "query", "name": "band", "schema": {"enum": ["24", "5"], "type": "string"}}, {"description": "wlan_id", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"description": "nacrule_id", "in": "query", "name": "nacrule_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "search": {"specs": {"get": {"description": "Search Wireless Clients\n\n**NOTE**: fuzzy logic can be used with \u2018*\u2019, supported filters: mac, hostname, device, os, model. E.g. /clients/search?device=Mac*&hostname=jerry", "operationId": "searchSiteWirelessClients", "parameters": [{"description": "partial / full MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/ip"}, {"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "device type, e.g. Mac, Nvidia, iPhone", "in": "query", "name": "device", "schema": {"type": "string"}}, {"description": "os, e.g. Sierra, Yosemite, Windows 10", "in": "query", "name": "os", "schema": {"type": "string"}}, {"description": "model, e.g. \u201cMBP 15 late 2013\u201d, 6, 6s, \u201c8+ GSM\u201d", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "AP mac where the client has connected to", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "partial / full MAC address, hostname, username, psk_name or ip", "in": "query", "name": "text", "schema": {"type": "string"}}, {"description": "nacrule_id", "in": "query", "name": "nacrule_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "sessions": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Client Sessions", "operationId": "countSiteWirelessClientSessions", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "mac", "enum": ["ssid", "wlan_id", "ap", "mac", "client_family", "client_manufacture", "client_model", "client_os"], "type": "string"}}, {"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "24 /5", "in": "query", "name": "band", "schema": {"type": "string"}}, {"description": "E.g. \u201cMac\u201d, \u201ciPhone\u201d, \u201cApple watch\u201d", "in": "query", "name": "client_family", "schema": {"type": "string"}}, {"description": "E.g. \u201cApple\u201d", "in": "query", "name": "client_manufacture", "schema": {"type": "string"}}, {"description": "E.g. \u201c8+\u201d, \u201cXS\u201d", "in": "query", "name": "client_model", "schema": {"type": "string"}}, {"description": "E.g. \u201cMojave\u201d, \u201cWindows 10\u201d, \u201cLinux\u201d", "in": "query", "name": "client_os", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "wlan_id", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Client Sessions", "operationId": "searchSiteWirelessClientSessions", "parameters": [{"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "5 / 24", "in": "query", "name": "band", "schema": {"enum": ["24", "5"], "type": "string"}}, {"description": "E.g. \u201cMac\u201d, \u201ciPhone\u201d, \u201cApple watch\u201d", "in": "query", "name": "client_family", "schema": {"type": "string"}}, {"description": "E.g. \u201cApple\u201d", "in": "query", "name": "client_manufacture", "schema": {"type": "string"}}, {"description": "E.g. \u201c8+\u201d, \u201cXS\u201d", "in": "query", "name": "client_model", "schema": {"type": "string"}}, {"description": "Username", "in": "query", "name": "client_username", "schema": {"type": "string"}}, {"description": "E.g. \u201cMojave\u201d, \u201cWindows 10\u201d, \u201cLinux\u201d", "in": "query", "name": "client_os", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "wlan_id", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/psk_id_query"}, {"description": "PSK Name", "in": "query", "name": "psk_name", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "unauthorize": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "This unauthorize clients (if they are guest) and disconnect them. From the guest\u2019s perspective, they will see the splash page again and go through the flow (e.g. Terms of Use) again.", "operationId": "unauthorizeSiteMultipleClients", "tags": ["Sites Clients - Wireless"]}}}, "{client_mac}": {"paths": {"coa": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/client_mac"}], "post": {"description": "Trigger a CoA (change of authorization) against a client", "operationId": "reauthSiteDot1xWirelessClient", "tags": ["Sites Clients - Wireless"]}}}, "disconnect": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/client_mac"}], "post": {"description": "This disconnect a client (and it\u2019s likely to connect back)", "operationId": "disconnectSiteWirelessClient", "tags": ["Sites Clients - Wireless"]}}}, "events": {"specs": {"get": {"description": "Get the list of events for a specific client", "operationId": "getSiteEventsForClient", "parameters": [{"description": "e.g. MARVIS_EVENT_CLIENT_DHCP_STUCK", "in": "query", "name": "type", "schema": {"enum": ["b", "g", "n"], "type": "string"}}, {"description": "a / b / g / n / ac / ax", "in": "query", "name": "proto", "schema": {"enum": ["a", "b", "g", "n", "ac", "ax"], "type": "string"}}, {"description": "24 / 5", "in": "query", "name": "band", "schema": {"type": "string"}}, {"in": "query", "name": "channel", "schema": {"type": "string"}}, {"in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"in": "query", "name": "ssid", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/client_mac"}]}}, "unauthorize": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/client_mac"}], "post": {"description": "This unauthorize a client (if it\u2019s a guest) and disconnect it. From the guest\u2019s perspective, s/he will see the splash page again and go through the flow (e.g. Terms of Use) again.", "operationId": "unauthorizeSiteWirelessClient", "tags": ["Sites Clients - Wireless"]}}}}}}}, "deviceprofiles": {"paths": {"derived": {"specs": {"get": {"description": "Retrieves the list of Device Profiles available for the Site", "operationId": "listSiteDeviceProfilesDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"default": false, "type": "boolean"}}], "tags": ["Sites Service Policies"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "devices": {"specs": {"get": {"description": "Get list of devices on the site.", "operationId": "listSiteDevices", "parameters": [{"description": "device type", "in": "query", "name": "type", "schema": {"default": "ap", "enum": ["ap", "switch", "gateway", "all"], "type": "string"}}, {"$ref": "#/components/parameters/name"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"ap_channels": {"specs": {"get": {"description": "Get a list of allowed channels (per channel width)", "operationId": "getSiteDeviceRadioChannels", "parameters": [{"description": "country code for the site (for AP config generation), in [two-character](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)", "example": "US", "in": "query", "name": "country_code", "schema": {"type": "string"}}], "tags": ["Sites Devices - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "config_history": {"paths": {"count": {"specs": {"get": {"description": "Counts the number of entries in device config history for distinct field with given filters", "operationId": "countSiteDeviceConfigHistory", "parameters": [{"in": "query", "name": "distinct", "schema": {"type": "string"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search for entries in device config history", "operationId": "searchSiteDeviceConfigHistory", "parameters": [{"in": "query", "name": "device_type", "schema": {"default": "ap", "enum": ["ap", "switch", "gateway"], "type": "string"}}, {"description": "Device MAC Address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "count": {"specs": {"get": {"description": "Counts the number of entries in ap events history for distinct field with given filters", "operationId": "countSiteDevices", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "model", "enum": ["model", "version", "map_id", "hostname", "mxtunnel_status", "mxedge_id", "lldp_system_name", "lldp_system_desc", "lldp_port_id", "lldp_mgmt_addr"], "type": "string"}}, {"in": "query", "name": "hostname", "schema": {"type": "string"}}, {"in": "query", "name": "model", "schema": {"type": "string"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}, {"in": "query", "name": "version", "schema": {"type": "string"}}, {"in": "query", "name": "mxtunnel_status", "schema": {"type": "string"}}, {"in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"in": "query", "name": "lldp_system_name", "schema": {"type": "string"}}, {"in": "query", "name": "lldp_system_desc", "schema": {"type": "string"}}, {"in": "query", "name": "lldp_port_id", "schema": {"type": "string"}}, {"in": "query", "name": "lldp_mgmt_addr", "schema": {"type": "string"}}, {"in": "query", "name": "map_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "events": {"paths": {"count": {"specs": {"get": {"description": "Counts the number of entries in ap events history for distinct field with given filters", "operationId": "countSiteDeviceEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "model", "enum": ["model", "type", "type_code", "mac"], "type": "string"}}, {"in": "query", "name": "model", "schema": {"type": "string"}}, {"in": "query", "name": "type", "schema": {"type": "string"}}, {"in": "query", "name": "type_code", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Devices Events", "operationId": "searchSiteDeviceEvents", "parameters": [{"in": "query", "name": "device_type", "schema": {"enum": ["ap", "switch", "gateway"], "type": "string"}}, {"description": "device mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "event message", "in": "query", "name": "text", "schema": {"type": "string"}}, {"description": "event time", "in": "query", "name": "timestamp", "schema": {"type": "string"}}, {"description": "see [Event Types Definition](/#operation/listDeviceEventsDefinitions)", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "Return last/recent event for passed in field", "example": "port_id", "in": "query", "name": "last_by", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "export": {"specs": {"get": {"description": "To download the exported device information", "operationId": "exportSiteDevices", "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "import": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Import Information for Multiple Devices\n\nCSV format:\n```csv\nmac,name,map_id,x,y,height,orientation,labels,band_24.power,band_24.bandwidth,band_24.channel,band_24.disabled,band_5.power,band_5.bandwidth,band_5.channel,band_5.disabled,band_6.power,band_6.bandwidth,band_6.channel,band_6.disabled\n5c5b53010101,\"AP 1\",845a23bf-bed9-e43c-4c86-6fa474be7ae5,30,10,2.3,45,\"guest, campus, vip\",1,20,0,false,0,40,0,false,17,80,0,false\n```", "operationId": "importSiteDevices", "tags": ["Sites Devices"]}}}, "last_config": {"paths": {"count": {"specs": {"get": {"description": "Counts the number of entries in device config history for distinct field with given filters", "operationId": "countSiteDeviceLastConfig", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "mac", "enum": ["version", "name", "site_id", "mac"], "type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Device Last Configs", "operationId": "searchSiteDeviceLastConfigs", "parameters": [{"in": "query", "name": "device_type", "schema": {"default": "ap", "enum": ["ap", "switch", "gateway"], "type": "string"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}, {"in": "query", "name": "version", "schema": {"type": "string"}}, {"in": "query", "name": "name", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "reprovision": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "To force all APs to reprovision itself again. ", "operationId": "reprovisionSiteAllAps", "tags": ["Sites Devices - Wireless"]}}}, "reset_radio_config": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Reset all APs in the Site to use RRM", "operationId": "resetSiteAllApsToUseRrm", "tags": ["Sites Devices - Wireless"]}}}, "restart": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Note that only the devices that are connected will be restarted.", "operationId": "multiRestartSiteDevices", "tags": ["Sites Devices"]}}}, "search": {"specs": {"get": {"description": "Search Device", "operationId": "searchSiteDevices", "parameters": [{"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "device type", "in": "query", "name": "type", "schema": {"default": "ap", "enum": ["ap", "switch", "gateway"], "type": "string"}}, {"description": "device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "device MAC", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "version", "in": "query", "name": "version", "schema": {"type": "string"}}, {"description": "power_constrained", "in": "query", "name": "power_constrained", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/ip"}, {"description": "MxTunnel status, up / down", "in": "query", "name": "mxtunnel_status", "schema": {"enum": ["up", "down"], "type": "string"}}, {"description": "Mist Edge id, if AP is connecting to a Mist Edge", "in": "query", "name": "mxedge_id", "schema": {"format": "uuid", "type": "string"}}, {"description": "LLDP system name", "in": "query", "name": "lldp_system_name", "schema": {"type": "string"}}, {"description": "LLDP system description", "in": "query", "name": "lldp_system_desc", "schema": {"type": "string"}}, {"description": "LLDP port id", "in": "query", "name": "lldp_port_id", "schema": {"type": "string"}}, {"description": "LLDP management ip address", "in": "query", "name": "lldp_mgmt_addr", "schema": {"type": "string"}}, {"description": "Channel of band_24", "in": "query", "name": "band_24_channel", "schema": {"type": "integer"}}, {"description": "Channel of band_5", "in": "query", "name": "band_5_channel", "schema": {"type": "integer"}}, {"description": "Channel of band_6", "in": "query", "name": "band_6_channel", "schema": {"type": "integer"}}, {"description": "Bandwidth of band_24", "in": "query", "name": "band_24_bandwith", "schema": {"type": "integer"}}, {"description": "Bandwidth of band_5", "in": "query", "name": "band_5_bandwith", "schema": {"type": "integer"}}, {"description": "Bandwidth of band_6", "in": "query", "name": "band_6_bandwith", "schema": {"type": "integer"}}, {"description": "Port speed of eth0", "in": "query", "name": "eth0_port_speed", "schema": {"type": "integer"}}, {"description": "sort options", "in": "query", "name": "sort", "schema": {"default": "timestamp", "enum": ["timestamp", "mac", "model", "sku"], "type": "string"}}, {"description": "sort options in reverse order", "in": "query", "name": "desc-sort", "schema": {"enum": ["timestamp", "mac", "model", "sku"], "type": "string"}}, {"description": "whether to return device stats", "in": "query", "name": "stats", "schema": {"default": false, "type": "boolean"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "send_ble_beacon": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Send arbitrary BLE Beacon for a period of time\n\nNote that only the devices that are connected will be restarted.", "operationId": "sendSiteDevicesArbitratryBleBeacon", "tags": ["Sites Devices - Wireless"]}}}, "upgrade": {"specs": {"get": {"description": "Get all upgrades for site", "operationId": "listSiteDevicesUpgrade", "parameters": [{"in": "query", "name": "status", "schema": {"enum": ["downloading", "completed", "created", "downloaded", "upgrading", "cancelled", "failed"], "type": "string"}}], "tags": ["Sites Devices Upgrades"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Upgrade Multiple Device\n\n**Note**: this call doesn\u2019t guarantee the devices to be upgraded right away (they may be offline)", "operationId": "multiUpgradeSiteDevices", "tags": ["Sites Devices Upgrades"]}}, "paths": {"{upgrade_id}": {"specs": {"get": {"description": "Get Site Device Upgrade", "operationId": "getSiteUpgrade", "tags": ["Sites Devices Upgrades"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/upgrade_id"}]}, "paths": {"cancel": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/upgrade_id"}], "post": {"description": "Best effort to cancel an upgrade. Devices which are already upgraded wont be touched", "operationId": "cancelSiteDeviceUpgrade", "tags": ["Sites Devices Upgrades"]}}}}}}}, "upgrade_bios": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Upgrade Bios Multiple Device", "operationId": "upgraseSiteMultipleDevicesBios", "tags": ["Sites Devices Upgrades"]}}}, "versions": {"specs": {"get": {"description": "Get List of Available Device Versions", "operationId": "listSiteAvailableDeviceVersions", "parameters": [{"description": "fetch version for device type (E.g. switch)", "in": "query", "name": "type", "schema": {"default": "ap", "enum": ["ap", "switch", "gateway"], "type": "string"}}, {"description": "fetch version for device model, use/combine with `type` as needed (for switch and gateway devices)", "in": "query", "name": "model", "schema": {"type": "string"}}], "tags": ["Sites Devices Upgrades"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "zerioze": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Zeroize all FIPS APs in the Site", "operationId": "zeroizeSiteFipsAllAps", "tags": ["Sites Devices - Wireless"]}}}, "{device_id}": {"specs": {"delete": {"description": "Delete Site Device", "operationId": "deleteSiteDevice", "tags": ["Sites Devices"]}, "get": {"description": "Get Device Configuration", "operationId": "getSiteDevice", "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "put": {"description": "Update Device Configuration", "operationId": "updateSiteDevice", "tags": ["Sites Devices"]}}, "paths": {"arp": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "ARP can be performed on the Device. The output will be available through websocket. As there can be multiple command issued against the same AP at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```json\n{ \n \"event\": \"data\", \n \"channel\": \"/sites/4ac1dcf4-9d8b-7211-65c4-057819f0862b/devices/00000000-0000-0000-1000-5c5b350e0060/cmd\", \n \"data\": { \n \"session\": \"session_id\", \n \"raw\": \n \"Output\": \"\\tMAC\\t\\tDEV\\tVLAN\\tRx Packets\\t\\t Rx Bytes\\t\\tTx Packets\\t\\t Tx Bytes\\tFlows\\tIdle sec\\n-----------------------------------------------------------------------------------------------------------------------\"\n } \n}\n```", "operationId": "arpFromDevice", "tags": ["Sites Devices Utilities"]}}}, "bounce_port": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Port Bounce can be performed from the Switch.The output will be available through websocket. As there can be multiple command issued against the same AP at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```json\n{\n \"event\": \"data\",\n \"channel\": \"/sites/4ac1dcf4-9d8b-7211-65c4-057819f0862b/devices/00000000-0000-0000-1000-5c5b350e0060/cmd\",\n \"data\": {\n \"session\": \"session_id\",\n \"raw\": \"Port bounce complete.\"\n }\n}\n```", "operationId": "portsBounceFromSwitch", "tags": ["Sites Devices - Wired"]}}}, "cable_test": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "TDR can be performed from the Switch. The output will be available through websocket. As there can be multiple command issued against the same Switch at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```json\n{\n \"event\": \"data\",\n \"channel\": \"/sites/4ac1dcf4-9d8b-7211-65c4-057819f0862b/devices/00000000-0000-0000-1000-5c5b350e0060/cmd\",\n \"data\": {\n \"session\": \"session_id\",\n \"raw\": \"Interface TDR detail:\\nTest status : Test successfully executed ge-0/0/0\\n\"\n }\n}\n```", "operationId": "cableTestFromSwitch", "tags": ["Sites Devices - Wired"]}}}, "check_radius_server": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Ping test from the AP to confirm \u2018reachability\u2019 of the Radius server. Utilize Juniper EX switch(to which an AP is connected to) radius test capabilities to get details on the Radius Server \u2018availability\u2019.", "operationId": "startSiteSwitchRadiusSyntheticTest", "tags": ["Sites Synthetic Tests"]}}}, "clear_arp": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Clear the entire ARP cache or a subset if arguments are provided.\n\n*Note*: port_id is optional if neither vlan nor ip is specified", "operationId": "clearSiteSsrArpCache", "tags": ["Sites Devices - WAN"]}}}, "clear_bgp": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Clear routes associated with one or all BGP neighbors", "operationId": "clearSiteSsrBgpRoutes", "tags": ["Sites Devices - WAN"]}}}, "clear_bpdu_error": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Clear bridge protocol data unit (BPDU) error condition caused by the detection of a possible bridging loop from Spanning Tree Protocol (STP) operation that renders the port unoperational.", "operationId": "clearBpduErrosFromPortsOnSwitch", "tags": ["Sites Devices - Wired"]}}}, "clear_macs": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Clear all learned MAC addresses, including persistent MAC addresses, on a port.", "operationId": "clearAllLearnedMacsFromPortOnSwitch", "tags": ["Sites Devices - Wired"]}}}, "config_cmd": {"specs": {"get": {"description": "Get Config CLI Commands\nFor a brown-field switch deployment where we adopted the switch through Adoption Command, we do not wipe out / overwrite the existing config automatically. Instead, we generate CLI commands that we would have generated. The user can inspect, modify, and incorporate this into their existing config manually.\n\nOnce they feel comfortable about the config we generate, they can enable allow_mist_config where we will take full control of their config like a claimed switch", "operationId": "getSiteDeviceConfigCmd", "parameters": [{"description": "Make output cmds sorted (for better readability) or not.", "in": "query", "name": "sort", "schema": {"default": "false", "enum": ["true", "false"], "type": "string"}}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}]}}, "ha": {"specs": {"delete": {"description": "Delete HA Cluster", "operationId": "deleteSiteDeviceHaCluster", "tags": ["Sites Devices - WAN HA"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "## Create HA Cluster\nBoth nodes has to be in the same site. We expect the user to configure ha_sync / ha_data port in port_configs already\n\n### SRX cabling\n\nsee [Chassis Cluster User Guide for SRX Series Devices](https://www.juniper.net/documentation/us/en/software/junos/chassis-cluster-security-devices/topics/concept/chassis-cluster-srx-series-node-interface-understanding.html) Here\u2019s the recommended cabling.\n\n#### SRX300\n\nFrom ZTP / default state, ge-0/0/0 and ge-0/0/7 (SFP) are default WAN ports and will get DHCP IP. However, ge-0/0/0 becomes OOB/fxp0 after cluster is enabled (i.e. using it for reach Mist is not recommended)\n\n1. form cluster in UI\n2. configure ge-0/0/7,ge-1/0/7 for WAN (reth0)\n3. configure ge-0/0/2,ge-1/0/2 for ha_data\n4. configure ge-0/0/3- for LAN or additional WAN e.g.\n \n\n``` json\n{\n \"port_config\": {\n \"ge-0/0/2,ge-1/0/2\": {\n \"usage\": \"ha_data\"\n },\n \"ge-0/0/7,ge-1/0/7\": {\n \"usage\": \"wan\",\n \"redundant\": true,\n \"reth_idx\": 0,\n \"ip_config\": {\"type\": \"dhcp\"}\n },\n }\n}\n\n```\n\n1. connect ge-0/0/1 back to back for ha_control\n2. connect ge-0/0/2 back to back for ha_data\n3. connect both ge-0/0/7 to uplink switch to WAN and to reach Mist\n4. power up both devices\n5. it takes about 30 minutes for the cluster to form\n \n\n#### SRX320\n\nFrom ZTP / default state, ge-0/0/0, ge-0/0/7 (SFP) and cl-1/0/0 (LTE) are default WAN ports and will get DHCP IP. However, ge-0/0/0 becomes OOB/fxp0 after cluster is enabled (i.e. using it for reach Mist is not recommended)\n\n##### ZTP via ge-0/0/7\n\nSimilar to SRX300\n\n##### ZTP via cl-1/0/0 (LTE)\n\n1. form cluster in UI\n2. configure cl-1/0/0, cl-3/0/0 as WAN (reth0)\n3. configure ge-0/0/2,ge-3/0/2 for ha_data\n4. same as above\n \n\n#### SRX340 / SRX345 / SRX380\n\nSRX340/SRX345 has dedicated OOB/fxp0 ports\n\n1. form cluster in UI\n2. configure ge-0/0/0,ge-5/0/0 for WAN (reth0)\n3. configure ge-0/0/2,ge-5/0/2 for ha_data\n4. configure ge-0/0/3- for LAN or additional WAN\n5. connect ge-0/0/0 to uplink switch to WAN and to reach Mist\n6. connect ge-0/0/1 back-to-back for ha_control\n7. connect ge-0/0/2 back-to-back for ha_data (fabric); or for SRX380, xe-0/0/16 if 10G SFP+ is used\n8. connect ge-0/0/3- to LAN or additional WANs\n \n\n#### SRX550\n\nge-0/0/0 becomes OOB/fxp0 after cluster is enabled, make suenable oob_ip_config as dhcp to maintain cloud connectivity\n\n1. connect ge-0/0/0 to reach Mist (after cluster is fully up, this port becomes OOB/fxp0)\n2. connect ge-0/0/1 back-to-back for ha_control\n3. connect ge-0/0/2 back-to-back for ha_data (fabric)\n4. connect ge-0/0/3 to WAN (after cluster is up, intended to be used for reth0)\n5. connect ge-0/0/4- to LAN or additional WANs\n \n\n#### SRX1500\n\nSRX1500 has, additionally, dedicated HA Control port\n\n1. form cluster in UI\n2. configure ge-0/0/0,ge-5/0/0 for WAN (reth0)\n3. configure ge-0/0/1,ge-5/0/1 for ha_data\n4. configure ge-0/0/2- for LAN or additional WAN\n5. connect dedicated ha_control back-to-back\n6. connect ge-0/0/0 to uplink switch to WAN and to reach Mist\n7. connect ge-0/0/1 back-to-back for ha_data\n8. connect ge-0/0/2- to LAN or additional WANs\n \n\n#### SRX4100\n\nSRX4100 has dedicated ha_control and ha_data (fabric) ports\n\n1. connect dedicated ha_control back-to-back\n2. connect dedicated ha_data back-to-back\n3. connect xe-0/0/0 to WAN to reach Mist\n4. connect xe-0/0/1- to LAN or additional WANs\n \n\n#### VSRX\n\nWhen standalone, VSRX has fxp0 as first Network Adapter, then ge-0/0/0-N When clustered, VSRX has fxp0, em0, then ge-0/0/0-N\n\n1. connect net0 (fxp0) to WAN to reach Mist\n2. connect net1 back-to-back for ha_control\n3. connect net2 (ge-0/0/0) back-to-back for ha_data (fab0/fab1)\n4. connect net3 (ge-0/0/1) to WAN, intended to be used for reth0\n5. connect net4 (ge-0/0/2) to LAN\n \n\nSRX340/SRX345 has dedicated OOB/fxp0 ports VSRX has fxp0 as first Network Adapter, then ge-0/0/0-N\n\n1. connect ge-0/0/0 to WAN to reach Mist\n2. connect ge-0/0/1 back-to-back for ha_control\n3. connect ge-0/0/2 back-to-back for ha_data (fabric); or for SRX380, xe-0/0/16 if 10G SFP+ is used\n4. connect ge-0/0/3- to LAN or additional WANs\n \n\n#### SRX550\n\nge-0/0/0 becomes OOB/fxp0 after cluster is enabled, make suenable oob_ip_config as dhcp to maintain cloud connectivity\n\n1. connect ge-0/0/0 to reach Mist (after cluster is fully up, this port becomes OOB/fxp0)\n2. connect ge-0/0/1 back-to-back for ha_control\n3. connect ge-0/0/2 back-to-back for ha_data (fabric)\n4. connect ge-0/0/3 to WAN (after cluster is up, intended to be used for reth0)\n5. connect ge-0/0/4- to LAN or additional WANs\n \n\n#### SRX1500\n\nSRX1500 has, additionally, dedicated HA Control port\n\n1. form cluster in UI\n2. configure ge-0/0/0,ge-7/0/0 for WAN (reth0)\n3. configure ge-0/0/1,ge-7/0/1 for ha_data\n4. configure ge-0/0/2- for LAN or additional WAN\n5. connect dedicated ha_control back-to-back\n6. connect ge-0/0/0 to uplink switch to WAN and to reach Mist\n7. connect ge-0/0/1 back-to-back for ha_data\n8. connect ge-0/0/2- to LAN or additional WANs\n\n \n#### SRX1600\n\nSRX1600 has, additionally, two dedicated HA Control port\n\n1. form cluster in UI\n2. configure ge-0/0/0,ge-7/0/0 for WAN (reth0)\n3. configure ge-0/0/1,ge-7/0/1 for ha_data\n4. configure ge-0/0/2- for LAN or additional WAN\n5. connect dedicated both ha_control back-to-back\n6. connect ge-0/0/0 to uplink switch to WAN and to reach Mist\n7. connect ge-0/0/1 back-to-back for ha_data\n8. connect ge-0/0/2- to LAN or additional WANs\n\n\n#### SRX4100\n\nSRX4100 has dedicated ha_control and ha_data (fabric) ports\n\n1. connect dedicated ha_control back-to-back\n2. connect dedicated ha_data back-to-back\n3. connect xe-0/0/0 to WAN to reach Mist\n4. connect xe-0/0/1- to LAN or additional WANs\n\n\n## Replace a Node in a HA Cluster\nUsually Device Replacement is done by Device Replacement API. For a HA cluster, you can also replace a node by another device in the same site.", "operationId": "createSiteDeviceHaCluster", "tags": ["Sites Devices - WAN HA"]}, "put": {"deprecated": true, "description": "Swap nodes on the HA Cluster", "operationId": "swapSiteDeviceHaClusterNode", "tags": ["Sites Devices - WAN HA"]}}}, "image{image_number}": {"specs": {"delete": {"description": "Delete image from a device", "operationId": "deleteSiteDeviceImage", "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}, {"in": "path", "name": "image_number", "required": true, "schema": {"type": "integer"}}], "post": {"description": "Attach up to 3 images to a device", "operationId": "addSiteDeviceImage", "tags": ["Sites Devices"]}}}, "iot": {"specs": {"get": {"description": "Returns the current state of each enabled IoT pin configured as an output.", "operationId": "getSiteDeviceIotPort", "tags": ["Sites Devices - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "put": {"description": "**Note**: For each IoT pin referenced:\n * The pin must be enabled using the Device `iot_config` API\n * The pin must support the output direction", "operationId": "setSiteDeviceIotPort", "tags": ["Sites Devices - Wireless"]}}}, "local_port_config": {"specs": {"delete": {"description": "Sometimes HelpDesk Admin needs to change port configs", "operationId": "deleteSiteLocalSwitchPortConfig", "tags": ["Sites Devices - Wired"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "put": {"description": "Sometimes HelpDesk Admin needs to change port configs", "operationId": "updateSiteLocalSwitchPortConfig", "tags": ["Sites Devices - Wired"]}}}, "locate": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Locate a Device by blinking it\u2019s LED, it\u2019s a persisted state that has to be stopped by calling Stop Locating API", "operationId": "startSiteLocateDevice", "tags": ["Sites Devices - Wireless"]}}}, "ping": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Ping from AP, Switch and SSR\n\nPing can be performed from the Device. The output will be available through websocket. As there can be multiple command issued against the same AP at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```json\n{\n \"event\": \"data\",\n \"channel\": \"/sites/4ac1dcf4-9d8b-7211-65c4-057819f0862b/devices/00000000-0000-0000-1000-5c5b350e0060/cmd\",\n \"data\": {\n \"session\": \"session_id\",\n \"raw\": \"64 bytes from 23.211.0.110: seq=8 ttl=58 time=12.323 ms\\n\"\n }\n}\n```", "operationId": "pingFromDevice", "tags": ["Sites Devices Utilities"]}}}, "poll_stats": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "This API can be used to poll statistics from the Switch proactively once. After it is called, the statistics will be pushed back to the cloud within the statistics interval.", "operationId": "pollSiteSwitchStats", "tags": ["Sites Devices - Wired"]}}}, "readopt": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "For the octerm devices, the device ID must come from fpc0. However, for a VC, the users may change the original fpc0 from CLI. To fix the issue, the readopt API could be used to trigger the readopt process so the device would get the corret device ID to connect the cloud.", "operationId": "readoptSiteOctermDevice", "tags": ["Sites Devices Utilities"]}}}, "release_dhcp": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Releases an active DHCP lease.", "operationId": "releaseSiteSsrDhcpLease", "tags": ["Sites Devices - WAN"]}}}, "request_ztp_password": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "In the case where soemthing happens during/after ZTP, the root-password is modified (required for ZTP to set up outbound-ssh) but the user-defined password config has not be configured. This API can be used to retrieve the temporary password.", "operationId": "getSiteDeviceZtpPassword", "tags": ["Sites Devices"]}}}, "resolve_dns": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "DNS resolutions are performed on the Device. The output will be available through websocket. As there can be multiple command issued against the same SSR at the same time and the output all goes through the same websocket stream, `session` is used for demux.\n \n #### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```\n Router | Hostname | Resolved | Last Resolved | Expiration\n-------------|------------------------|----------|----------------------|---------------------\n test-device | xxx.yyy.net | Y | 2022-03-28T03:56:49Z | 2022-03-28T03:57:49Z\n```", "operationId": "testSiteSsrDnsResolution", "tags": ["Sites Devices - WAN"]}}}, "restart": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Restart / Reboot a device", "operationId": "restartSiteDevice", "tags": ["Sites Devices"]}}}, "service_ping": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Ping from SSR\n\nService Ping can be performed from the Device. The output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```json\n{\n \"event\": \"data\",\n \"channel\": \"/sites/4ac1dcf4-9d8b-7211-65c4-057819f0862b/devices/00000000-0000-0000-1000-5c5b350e0060/cmd\",\n \"data\": {\n \"session\": \"session_id\",\n \"raw\": \"64 bytes from 23.211.0.110: seq=8 ttl=58 time=12.323 ms\\n\"\n }\n}\n```", "operationId": "servicePingFromSsr", "tags": ["Sites Devices - WAN"]}}}, "show_arp": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Get ARP Table from the Device. The output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, `session` is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n", "operationId": "getSiteDeviceArpTable", "tags": ["Sites Devices Utilities"]}}}, "show_mac_table": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Get MAC Table from the Device. The output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, `session` is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n", "operationId": "getSiteDeviceMacTable", "tags": ["Sites Devices Utilities"]}}}, "show_route": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Get routes from SSR, SRX and Switch. \nThe output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, `session` is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```\nadmin@labsystem1.fiedler# show bgp neighbors\nBGP neighbor is 192.168.4.1, remote AS 4200000001, local AS 4200000128, external\nlink\n BGP version 4, remote router ID 1.1.1.1\n BGP state = Established, up for 00:27:25\n Last read 00:00:25, hold time is 90, keepalive interval is 30 seconds\n Configured hold time is 90, keepalive interval is 30 seconds\n Neighbor capabilities:\n 4 Byte AS: advertised and received\n Route refresh: advertised and received(old & new)\n Address family IPv4 Unicast: advertised and received\n Graceful Restart Capabilty: advertised and received\n Remote Restart timer is 120 seconds\n Address families by peer:\n none\n ...\n```", "operationId": "getSiteSsrAndSrxRoutes", "tags": ["Sites Devices - WAN"]}}}, "show_service_path": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Get service path information of the Device. The output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```\nshow service-path\n\nService Service-route Type Destination Next-Hop Interface Vector Cost Rate Capacity State\n\nWeb web-route1 service-agent 4.4.4.4 1.1.1.2 lan red 10 1 200/3000 Up*\nWeb web-route1 service-agent 4.4.4.4 1.1.1.3 lan red 10 1 200/3000 Up\nWeb web-route2 service-agent 5.5.5.5 2.2.2.2 lan blue 20 2 50/unlimited Down\nLogin BgpOverSVR 10.1.1.1 1.2.3.4 wan red 10 3 - Up\nLogin BgpOverSVR 11.1.1.1 1.2.3.4 wan red 10 1 - Up\nApp1 Routed - - - - - - - -\nApp1 learned-routed Routed - - - - - - - -\n```", "operationId": "getSiteSsrServicePath", "tags": ["Sites Devices - WAN"]}}}, "show_session": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Get active sessions passing through the Device. The output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```\nadmin@ssr.node# show sessions\nFri 2020-04-17 16:55:34 UTC\n\nNode: node1\n\n====================================== ===== ============= =========== ========== ====== ======= ================= ========== ================= =========== ================= ========== =================== ========= =================\n Session Id Dir Service Tenant Dev Name VLAN Proto Src IP Src Port Dest IP Dest Port NAT IP NAT Port Payload Encrypted Timeout Uptime\n====================================== ===== ============= =========== ========== ====== ======= ================= ========== ================= =========== ================= ========== =================== ========= =================\n 01187fb8-765a-45e5-ae90-37d77f15e292 fwd Internet lanSubnet lan 0 udp 192.168.0.28 44674 35.166.173.18 9930 96.230.191.130 19569 false 154 0 days 0:00:28\n 01187fb8-765a-45e5-ae90-37d77f15e292 rev Internet lanSubnet wan 0 udp 35.166.173.18 9930 96.230.191.130 19569 0.0.0.0 0 false 154 0 days 0:00:28\n 0859a4ae-bcff-4aa6-b812-79a5236a6c13 fwd Internet lanSubnet lan 0 tcp 192.168.0.41 60843 17.249.171.246 443 96.230.191.130 51941 false 2 0 days 0:00:10\n\n```", "operationId": "getSiteSsrAndSrxSessions", "tags": ["Sites Devices - WAN"]}}}, "snapshot": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Create recovery device snapshot (Available on Junos OS EX2300-, EX3400-, EX4400- devices)", "operationId": "createSiteDeviceSnapshot", "tags": ["Sites Devices Utilities"]}}}, "support": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Support / Upload device support files\n\n#### Info Param\n**Parameter**|**Description** \n :-------------: |:-------------: |:-------------: \nprocess|Upload 1 file with output of show system processes extensive\noutbound-ssh|Upload 1 file that concatenates all /var/log/outbound-ssh.log* files\nmessages|Upload 1 to 10 /var/log/messages* files\ncore-dumps|Upload all core dump files, if any\nfull|string|Upload 1 file with output of request support information, 1 file that concatenates all /var/log/outbound-ssh.log files, all core dump files, the 3 most recent /var/log/messages files, and Mist agent logs (for Junos devices running the Mist agent)\nvar-logs|Upload all non-empty files in the /var/log/ directory\njma-logs|Upload Mist agent logs (for Junos devices running the Mist agent only)", "operationId": "uploadSiteDeviceSupportFile", "tags": ["Sites Devices"]}}}, "synthetic_test": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Device Synthetic Test\n", "operationId": "triggerSiteDeviceSyntheticTest", "tags": ["Sites Synthetic Tests"]}}}, "traceroute": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Traceroute can be performed from the Device. The output will be available through websocket. As there can be multiple command issued against the same AP at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```", "operationId": "tracerouteFromDevice", "tags": ["Sites Devices Utilities"]}}}, "unlocate": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Stop Locate a Device", "operationId": "stopSiteLocateDevice", "tags": ["Sites Devices - Wireless"]}}}, "upgrade": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Device Upgrade", "operationId": "upgradeSiteDevice", "tags": ["Sites Devices Upgrades"]}}}, "upgrade_bios": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Upgrade device bios", "operationId": "upgradeSiteDeviceBios", "tags": ["Sites Devices Upgrades"]}}}, "vc": {"specs": {"delete": {"description": "When all the member switches of VC are removed and only member ID 0 is left, the cloud would detect this situation and automatically changes the single switch to non-VC role.\n\nFor some unexpected cases that the VC is gone and disconncted, the API below could be used to change the state of VC\u2019s switches to be standalone. After it is executed, all the switches will be shown as standalone switches under Inventory.", "operationId": "deleteSiteVirtualChassis", "tags": ["Sites Devices - Wired Virtual Chassis"]}, "get": {"description": "Get VC Status\n\nThe API returns a combined view of the VC status which includes topology and stats_", "operationId": "getSiteDeviceVirtualChassis", "tags": ["Sites Devices - Wired Virtual Chassis"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "For models (e.g. EX3400 and up) having dedicated VC ports, it is easier to form a VC by just connecting cables with the dedicated VC ports. Cloud will detect the new VC and update the inventory.\n\nIn case that the user would like to choose the dedicated switch as a VC master. Or for EX2300-C-12P and EX2300-C-12T which doesn\u2019t have dedicated VC ports, below are procedures to automate the VC creation:\n\n1. Power on the switch that is choosen as the VC master first. And the powering on the other member switches.\n2. Claim or adopt all these switches under the same organization\u2019s Inventory\n3. Assign these switches into the same Site\n4. Invoke vc command on the switch choosen to be the VC master. For EX2300-C-12P, VC ports will be created automatically.\n5. Connect the cables to the VC ports for these switches\n6. Wait for the VC to be formed. The Org\u2019s inventory will be updated for the new VC.", "operationId": "createSiteVirtualChassis", "tags": ["Sites Devices - Wired Virtual Chassis"]}, "put": {"description": "The VC creation and adding member switch API will update the device\u2019s virtual chassis config which is applied after VC is formed to create JUNOS pre-provisioned virtual chassis configuration.\n\n## Change to use preprovisioned VC\nTo switch the VC to use preprovisioned VC, enable preprovisioned in virtual_chassis config. Both vc_role master and backup will be matched to routing-engine role in Junos preprovisioned VC config.\n\nIn this config, fpc0 has to be the same as the mac of device_id. Use renumber if you want to replace fpc0 which involves device_id change.\n\nNotice: to configure preprovisioned VC, every member of the VC must be in the inventory.\n\n## Add new members\nFor models (e.g. EX4300 and up) having dedicated VC ports, it is easier to add new member switches into a VC by just connecting cables with the dedicated VC ports. Cloud will detect the new members and update the inventory.\n\nFor EX2300 VC, adding new members requires to follow the procedures below:\n1. Powering on the new member switches and ensuring cables are not connected to any VC ports.\n2. Claim or adopt all new member switches under the VC\u2019s organization Inventory\n3. Assign all new member switches to the same Site as the VC\n4. Invoke vc command to add switches to the VC.\n5. Connect the cables to the VC ports for these switches\n6. After a while, the Org\u2019s Inventory shows this new switches has been added into the VC.\n\n## Removing member switch\nTo remove a member switch from the VC, following the procedures below:\n\n1. Ensuring the VC is connected to the cloud first\n2. Unplug the cable from the VC port of the switch\n3. Waiting for the VC state (vc_state) of this switch is changed to not-present\n4. Invoke update_vc with remove to remove this switch from the VC\n5. The Org\u2019s Inventory shows the switch is removed.\n\nPlease notice that member ID 0 (fpc0) cannot be removed. When a VC has two switches left, unpluging the cable may result in the situation that fpc0 becomes a line card (LC). When this situation is happened, please re-plug in the cable, wait for both switches becoming present (show virtual-chassis) and then removing the cable again.\n\n## Renumber a member switch\nWhen a member switch doesn\u2019t work properly and needed to be replaced, the renumber API could be used. The following two types of renumber are supported:\n\n1. Replace a non-fpc0 member switch\n2. Replace fpc0. When fpc0 is relaced, PAPI device config and JUNOS config will be both updated.\n\nFor renumber to work, the following procedures are needed: \n1. Ensuring the VC is connected to the cloud and the state of the member switch to be replaced must be non present. \n2. Adding the new member switch to the VC \n3. Waiting for the VC state (vc_state) of this VC to be updated to API server \n4. Invoke vc with renumber to replace the new member switch from fpc X to\n\n## Perprovision VC members\nBy specifying \u201cpreprovision\u201d op, you can convert the current VC to pre-provisioned mode, update VC members as well as specify vc_ports when adding new members for device models without dedicated vc ports. Use renumber for fpc0 replacement which involves device_id change.\n\nNote: \n1. vc_ports is used for adding new members and not needed if * the device model has dedicated vc ports, or * no new member is added \n2. New VC members to be added should exist in the same Site as the VC\n\nUpdate Device\u2019s VC config can achieve similar purpose by directly modifying current virtual_chassis config. However, it cannot fulfill requests to enabling vc_ports on new members that are yet to belong to current VC.", "operationId": "updateSiteVirtualChassisMember", "tags": ["Sites Devices - Wired Virtual Chassis"]}}, "paths": {"vc_port": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Set VC port", "operationId": "setSiteVcPort", "tags": ["Sites Devices - Wired Virtual Chassis"]}}}}}}}}}, "events": {"paths": {"fast_roam": {"specs": {"get": {"description": "Get Roaming Events data", "operationId": "getSiteRoamingEvents", "parameters": [{"description": "event type", "in": "query", "name": "type", "schema": {"enum": ["success", "fail", "none"], "type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Events"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "system": {"paths": {"count": {"specs": {"get": {"description": "Count System Events", "operationId": "countSiteSystemEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "type", "enum": ["type"], "type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Events"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search System Events", "operationId": "searchSiteSystemEvents", "parameters": [{"in": "query", "name": "type", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Events"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}}}, "evpn_topologies": {"specs": {"get": {"description": "Get the existing EVPN topology", "operationId": "getSiteEvpnTopology", "tags": ["Sites EVPN Topologies"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "While all the `evpn_id` / `downlink_ips` can be specifidd by hand, the easiest way is to call the `build_vpn_topology` API, allowing you to examine the diff, and update it yourself. You can also simply call it with `overwrite=true` which will apply the updates for you.\n\n**Notes:**\n1. You can use `core` / `distribution` / `access` to create a CLOS topology\n2. You can also use `core` / `distribution` to form a 2-tier EVPN topology where ESI-Lag is configured distribution to connect to access switches\n3. In a small/medium campus, `collapsed-core` can be used where core switches are the inter-connected to do EVPN\n4. The API uses a few pre-defined parameters and best-practices to generate the configs. It can be customized by using `evpn_options` in Site Setting / Network Template. (e.g. a different subnet for the underlay)\n\n#### Collapsed Core\nIn a small-medium campus, EVPN can also be enabled only at the core switches (up to 4) by assigning all participating switches with `collapsed-core role`. When there are more than 2 switches, a ring-like topology will be formed.\n\n#### ESI-Lag\nIf the access switchess does not have EVPN support, you can take advantage of EVPN by setting up ESI-Lag on distribution switches\n\n#### Leaf / Access / Collapsed-Core\nFor leaf nodes in a EVPN topology, you\u2019d have to configure the IPs for networks that would participate in EVPN. Optionally, VRFs to isolate traffic from one tenant verus another", "operationId": "createSiteEvpnTopology", "tags": ["Sites EVPN Topologies"]}}, "paths": {"{evpn_topology_id}": {"specs": {"delete": {"description": "Delete the site EVPN Topology", "operationId": "deleteSiteEvpnTopology", "tags": ["Sites EVPN Topologies"]}, "get": {"description": "Get One EVPN Topology Detail", "operationId": "getSiteEvpnTolopogy", "tags": ["Sites EVPN Topologies"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/evpn_topology_id"}], "put": {"description": "Update the EVPN Topolgy", "operationId": "updateSiteEvpnTopology", "tags": ["Sites EVPN Topologies"]}}}}}, "gatewaytemplates": {"paths": {"derived": {"specs": {"get": {"description": "Get derived Gateway Templates for Site", "operationId": "getSiteGatewayTemplateDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"type": "boolean"}}], "tags": ["Sites Site Templates"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "guests": {"specs": {"get": {"description": "Get List of Site Guest Authorizations", "operationId": "listSiteAllGuestAuthorizations", "parameters": [{"description": "UUID of single or multiple (Comma separated) WLAN under Site `site_id` (to filter by WLAN)", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}], "tags": ["Sites Guests"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"count": {"specs": {"get": {"description": "Count Authorized Guest", "operationId": "countSiteGuestAuthorizations", "parameters": [{"example": "auth_method", "in": "query", "name": "distinct", "schema": {"default": "auth_method", "enum": ["auth_method", "ssid", "company"], "type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Guests"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Authorized Guest", "operationId": "searchSiteGuestAuthorization", "parameters": [{"example": "00000000-0000-0000-0000-000000000000", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"in": "query", "name": "auth_method", "schema": {"type": "string"}}, {"in": "query", "name": "ssid", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Guests"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "{guest_mac}": {"specs": {"delete": {"description": "Delete Guest Authorization", "operationId": "deleteSiteGuestAuthorization", "tags": ["Sites Guests"]}, "get": {"description": "Get Guest Authorization", "operationId": "getSiteGuestAuthorization", "tags": ["Sites Guests"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/guest_mac"}], "put": {"description": "Update Guest Authorization ", "operationId": "updateSiteGuestAuthorization", "tags": ["Sites Guests"]}}}}}, "insights": {"paths": {"client": {"paths": {"{client_mac}": {"paths": {"{metric}": {"specs": {"get": {"description": "Get Client Insight Metrics\nSee metrics possibilities at /api/v1/const/insight_metrics", "operationId": "getSiteInsightMetricsForClient", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/interval"}], "tags": ["Sites Insights"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/client_mac"}, {"$ref": "#/components/parameters/metric"}]}}}}}}, "device": {"paths": {"{device_mac}": {"paths": {"{metric}": {"specs": {"get": {"description": "Get AP Insight Metrics\nSee metrics possibilities at /api/v1/const/insight_metrics", "operationId": "getSiteInsightMetricsForDevice", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/interval"}], "tags": ["Sites Insights"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/metric"}, {"$ref": "#/components/parameters/device_mac"}]}}}}}}, "rogues": {"specs": {"get": {"description": "Get List of Site Rogue/Neighbor APs", "operationId": "listSiteRogueAPs", "parameters": [{"$ref": "#/components/parameters/rogue_type"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/interval"}], "tags": ["Sites Rogues"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"clients": {"specs": {"get": {"description": "Get List of Site Rogue Clients", "operationId": "listSiteRogueClients", "parameters": [{"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/interval"}], "tags": ["Sites Rogues"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "{metric}": {"specs": {"get": {"description": "Get Site Insight Metrics\nSee metrics possibilities at /api/v1/const/insight_metrics", "operationId": "getSiteInsightMetrics", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/interval"}], "tags": ["Sites Insights"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/metric"}]}}}}, "licenses": {"paths": {"usages": {"specs": {"get": {"description": "This shows license usage (i.e. needed) based on the features enabled for the site.", "operationId": "getSiteLicenseUsage", "tags": ["Sites Licenses"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "location": {"paths": {"coverage": {"specs": {"get": {"description": "Get Beam Coverage Overview", "operationId": "getSiteBeamCoverageOverview", "parameters": [{"description": "map_id (filter by map_id)", "example": "00000000-0000-0000-0000-000000000000", "in": "query", "name": "map_id", "schema": {"type": "string"}}, {"in": "query", "name": "type", "schema": {"default": "sdkclient", "enum": ["sdkclient", "client", "asset"], "type": "string"}}, {"description": "where the start time will be calculated (with end time is now)", "in": "query", "name": "duration", "schema": {"default": "1h", "enum": ["1d", "5h", "1h", "30m"], "type": "string"}}, {"$ref": "#/components/parameters/resolution"}, {"description": "client_type (as filter. optional)", "in": "query", "name": "client_type", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}], "tags": ["Sites Location"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "ml": {"paths": {"current": {"specs": {"get": {"description": "Get Machine Learning Current Stat\nFor each VBLE AP, it has ML model parameters (e.g. Path-loss-estimate, Intercept) as well as completion indicators (Level and PercentageComplete). For the completeness, ML takes N sample to finish its first level and use N*0.25 samples to complete each successive level. When a device is moved, the completeness will be reset as it has to re-learn.", "operationId": "getSiteMachineLearningCurrentStat", "parameters": [{"description": "map_id (as filter, optional)", "example": "00000000-0000-0000-0000-000000000000", "in": "query", "name": "map_id", "schema": {"type": "string"}}], "tags": ["Sites Location"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "defaults": {"specs": {"get": {"description": "Get Default PLF for Models", "operationId": "getSiteDefaultPlfForModels", "tags": ["Sites Location"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "device": {"paths": {"{device_id}": {"specs": {"delete": {"description": "Clear ML Overwrite for Device", "operationId": "clearSiteMlOverwriteForDevice", "tags": ["Sites Location"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "put": {"description": "Overwrite ML For Device", "operationId": "overwriteSiteMlForDevice", "tags": ["Sites Location"]}}}}}, "map": {"paths": {"{map_id}": {"specs": {"delete": {"description": "Clear ML Overwrite for Map", "operationId": "clearSiteMlOverwriteForMap", "tags": ["Sites Location"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "put": {"description": "Overwrite ML For Map", "operationId": "overwriteSiteMlForMap", "tags": ["Sites Location"]}}}}}, "reset": {"paths": {"map": {"paths": {"{map_id}": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "Reset ML Stats by Map", "operationId": "resetSiteMlStatsByMap", "tags": ["Sites Location"]}}}}}}}}}}}, "maps": {"specs": {"get": {"description": "Get List of Site Maps", "operationId": "listSiteMaps", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Maps"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site Map", "operationId": "createSiteMap", "tags": ["Sites Maps"]}}, "paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Import data from files is a multipart POST which has an file, an optional json, and an optional csv, to create floorplan, assign matching inventory to specific site, place ap if name or mac matches.\n\n# Note\nThis endpoint (at the site level), the AP must be already assigned to the site to be placed on the floorplan. If you want to place APs from the Org inventory, it is required to use the endpoint at the Org level [importOrgMaps](#operation/importOrgMaps)\n\n# CSV File Format\n```csv\nVendor AP name,Mist AP Mac\nUS Office AP-2,5c:5b:35:00:00:02\nUS Office AP-3,5c5b35000002\n``` ", "operationId": "importSiteMaps", "tags": ["Sites Maps"]}}}, "{map_id}": {"specs": {"delete": {"description": "Delete Site Map", "operationId": "deleteSiteMap", "tags": ["Sites Maps"]}, "get": {"description": "Get Site Map Details", "operationId": "getSiteMap", "tags": ["Sites Maps"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "put": {"description": "Update Site Map", "operationId": "updateSiteMap", "tags": ["Sites Maps"]}}, "paths": {"auto_orient": {"specs": {"delete": {"description": "This API is called to force stop auto placement for a given map", "operationId": "deleteSiteApAutoOrientation", "tags": ["Sites Maps Auto-orientation"]}, "parameters": [{"$ref": "#/components/parameters/map_id"}, {"$ref": "#/components/parameters/site_id"}], "post": {"description": "This API is called to trigger a map for auto orientation. For auto orient feature to work, BLE data needs to be collected from the APs on the map. This precess is not disruptive unlike FTM collection. Repeated POST to this endpoint while a map is still running will be rejected.\n\nList of devices to provide suggestions for is an optional parameter that can be given to this API. This will provide auto orient suggestions only for the devices specified. If no list of devices is provided, all APs asociated with that map are considered by default", "operationId": "startSiteApAutoOrientation", "tags": ["Sites Maps Auto-orientation"]}}}, "auto_placement": {"specs": {"delete": {"description": "This API is called to force stop auto placement for a given map", "operationId": "deleteSiteApAutoplacement", "tags": ["Sites Maps Auto-placement"]}, "get": {"description": "This API is called to view the current status of auto placement for a given map.\n\n\n#### Status Descriptions\n\n| Status | Description |\n| --- | --- |\n| `pending` | Autoplacement has not been requested for this map |\n| `inprogress` | Autoplacement is currently processing |\n| `done` | The autoplacement process has completed |\n| `data_needed` | Additional position data is required for autoplacement. Users should verify the requested anchor APs have a position on the map |\n| `invalid_model` | Autoplacement is not supported on the model of the APs on the map |\n| `invalid_version` | Autoplacement is not supported with the APs current firmware version |\n| `error` | There was an error in the autoplacement process |", "operationId": "getSiteApAutoPlacement", "tags": ["Sites Maps Auto-placement"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "This API is called to trigger a map for auto placement. For auto placement feature to work, RTT-FTM data need to be collected from the APs on the map. This scan is disruptive and therefore the user must be notified of service disrution during the functioning of auto placement Repeated POST to this endpoint while a map is still running will be rejected.\n\nList of devices to provide suggestions for is an optional parameter that can be given to this API. This will provide autoplacement suggestions only for the devices specified. If no list of devices is provided, all APs asociated with that map are considered by default", "operationId": "runSiteApAutoplacement", "tags": ["Sites Maps Auto-placement"]}}}, "clear_auto_orient": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "This API is used to destroy the autoorientations of a map or subset of APs on a map.", "operationId": "clearSiteApAutoOrient", "tags": ["Sites Maps Auto-orientation"]}}}, "clear_autoplacement": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "This API is used to destroy the cached autoplacement locations of a map or subset of APs on a map.", "operationId": "clearSiteApAutoplacement", "tags": ["Sites Maps Auto-placement"]}}}, "image": {"specs": {"delete": {"description": "Delete Site Map Image", "operationId": "deleteSiteMapImage", "tags": ["Sites Maps"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "Add image map is a multipart POST which has an file (Image) and an optional json parameter", "operationId": "addSiteMapImage", "tags": ["Sites Maps"]}}}, "replace": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "Replace Map Image\n\n\nThis works like an PUT where the image will be replaced. If transform is provided, all the locations of the objects on the map (AP, Zone, Vbeacon, Beacon) will be transformed as well (relative to the new Map)", "operationId": "replaceSiteMapImage", "tags": ["Sites Maps"]}}}, "set_map": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "This API can be used to assign a list of AP Macs associated with site_id to the specified map_id. Note that map_id must be associated with corresponding site_id. This API obeys the following rules \n1. if AP is unassigned to any Map, it gets associated with map_id \n2. Any moved APs are returned in the response \n3. If the AP is considered a locked AP, no action will be taken", "operationId": "bulkAssignSiteApsToMap", "tags": ["Sites Maps"]}}}, "use_auto_ap_values": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "This API is used to accept or reject the cached autoplacement and auto orientation values of a map or subset of APs on a map. A rejected AP will retain its current X,Y and orientation until accpeted.", "operationId": "confirmSiteApLocalizationData", "tags": ["Sites Maps Auto-placement"]}}}, "wayfinding": {"paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "This imports the vendor map meta data into the Map JSON. This is required by the SDK and App in order to access/render the vendor Map properly.", "operationId": "importSiteWayfindings", "tags": ["Sites Maps"]}}}}}}}}}, "mxedges": {"specs": {"get": {"description": "Get List of Site Mist Edges", "operationId": "listSiteMxEdges", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site Mist Edge", "operationId": "createSiteMxEdge", "tags": ["Sites MxEdges"]}}, "paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count Mist Edge Events", "operationId": "countSiteMxEdgeEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "mxedge_id", "enum": ["mxedge_id", "type", "mxcluster_id", "package"], "type": "string"}}, {"description": "mist edge id", "in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"description": "mist edge cluster id", "in": "query", "name": "mxcluster_id", "schema": {"type": "string"}}, {"description": "mist edge event type [Supported Events](/#operation/listGatewayApplications)", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "service running on mist edge(mxagent, tunterm etc)", "in": "query", "name": "service", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Site Mist Edge Events", "operationId": "searcSitehMistEdgeEvents", "parameters": [{"description": "mist edge id", "in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"description": "mist edge cluster id", "in": "query", "name": "mxcluster_id", "schema": {"type": "string"}}, {"description": "mist edge event type [Supported Events](/#operation/listGatewayApplications)", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "service running on mist edge(mxagent, tunterm etc)", "in": "query", "name": "service", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "{mxedge_id}": {"specs": {"delete": {"description": "Delete Site Mist Edge", "operationId": "deleteSiteMxEdge", "tags": ["Sites MxEdges"]}, "get": {"description": "get Site Mist Edge", "operationId": "getSiteMxEdge", "tags": ["Sites MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/mxedge_id"}], "put": {"description": "Update Site Mist Edge settings", "operationId": "updateSiteMxEdge", "tags": ["Sites MxEdges"]}}, "paths": {"support": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/mxedge_id"}], "post": {"description": "Support / Upload Mist Edge support files", "operationId": "uploadSiteMxEdgeSupportFiles", "tags": ["Sites MxEdges"]}}}}}}}, "mxtunnels": {"paths": {"{mxtunnel_id}": {"paths": {"preempt_aps": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/mxtunnel_id"}], "post": {"description": "To preempt AP\u2019s which are not connected to preferred peer to the preferred peer", "operationId": "preemptSitesMxTunnel", "tags": ["Sites MxTunnels"]}}}}}}}, "nac_clients": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of NAC Clients", "operationId": "countSiteNacClients", "parameters": [{"description": "NAC Policy Rule ID, if matched", "in": "query", "name": "distinct", "schema": {"default": "type", "enum": ["type", "last_nacrule_id", "auth_type", "last_vlan_id", "last_nas_vendor", "last_username", "last_ap", "mac", "last_ssid", "last_status", "mdm_compliance_status", "mdm_provider"], "type": "string"}}, {"description": "NAC Policy Rule ID, if matched", "in": "query", "name": "last_nacrule_id", "schema": {"type": "string"}}, {"description": "NAC Policy Rule Matched", "in": "query", "name": "nacrule_matched", "schema": {"type": "boolean"}}, {"description": "authentication type, e.g. \u201ceap-tls\u201d, \u201ceap-ttls\u201d, \u201ceap-teap\u201d, \u201cmab\u201d, \u201cdevice-auth\u201d", "in": "query", "name": "auth_type", "schema": {"type": "string"}}, {"description": "Vlan ID", "in": "query", "name": "last_vlan_id", "schema": {"type": "string"}}, {"description": "vendor of NAS device", "in": "query", "name": "last_nas_vendor", "schema": {"type": "string"}}, {"description": "SSO ID, if present and used", "in": "query", "name": "idp_id", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "last_ssid", "schema": {"type": "string"}}, {"description": "Username presented by the client", "in": "query", "name": "last_username", "schema": {"type": "string"}}, {"description": "start time, in epoch", "in": "query", "name": "timestamp", "schema": {"type": "number"}}, {"description": "AP MAC connected to by client", "in": "query", "name": "last_ap", "schema": {"type": "string"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Connection status of client i.e \u201cpermitted\u201d, \u201cdenied, \u201csession_ended\u201d", "in": "query", "name": "last_status", "schema": {"type": "string"}}, {"description": "Client type i.e. \u201cwireless\u201d, \u201cwired\u201d etc.", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "MDM compliancy of client i.e \u201ccompliant\u201d, \u201cnot compliant\u201d", "in": "query", "name": "mdm_compliance_status", "schema": {"type": "string"}}, {"description": "MDM provider of client\u2019s organisation eg \u201cintune\u201d, \u201cjamf\u201d", "in": "query", "name": "mdm_provider", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Sites Clients - NAC"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "events": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of NAC Client-Events", "operationId": "countSiteNacClientEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"enum": ["type", "nacrule_id", "dryrun_nacrule_id", "auth_type", "vlan", "nas_vendor", "username", "ap", "mac", "ssid"], "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Sites Clients - NAC"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search NAC Client Events", "operationId": "searcSitegNacClientEvents", "parameters": [{"description": "event type, e.g. NAC_CLIENT_PERMIT", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "NAC Policy Rule ID, if matched", "in": "query", "name": "nacrule_id", "schema": {"format": "uuid", "type": "string"}}, {"description": "NAC Policy Rule Matched", "in": "query", "name": "nacrule_matched", "schema": {"type": "boolean"}}, {"description": "NAC Policy Dry Run Rule ID, if present and matched", "in": "query", "name": "dryrun_nacrule_id", "schema": {"type": "string"}}, {"description": "True - if dryrun rule present and matched with priority, False - if not matched or not present", "in": "query", "name": "dryrun_nacrule_matched", "schema": {"type": "boolean"}}, {"description": "authentication type, e.g. \u201ceap-tls\u201d, \u201ceap-ttls\u201d, \u201ceap-teap\u201d, \u201cmab\u201d, \u201cdevice-auth\u201d", "in": "query", "name": "auth_type", "schema": {"type": "string"}}, {"description": "Vlan ID", "in": "query", "name": "vlan", "schema": {"type": "integer"}}, {"description": "vendor of NAS device", "in": "query", "name": "nas_vendor", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "bssid", "schema": {"type": "string"}}, {"description": "SSO ID, if present and used", "in": "query", "name": "idp_id", "schema": {"format": "uuid", "type": "string"}}, {"description": "IDP returned roles/groups for the user", "in": "query", "name": "idp_role", "schema": {"type": "string"}}, {"description": "Radius attributes returned by NAC to NAS Devive", "in": "query", "name": "resp_attrs", "schema": {"items": {"type": "string"}, "type": "array"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "Username presented by the client", "in": "query", "name": "username", "schema": {"type": "string"}}, {"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "AP random macMAC", "in": "query", "name": "random_mac", "schema": {"type": "boolean"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "start time, in epoch", "in": "query", "name": "timestamp", "schema": {"type": "number"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Sites Clients - NAC"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "search": {"specs": {"get": {"description": "Search Site NAC Clients", "operationId": "searchSiteNacClients", "parameters": [{"description": "NAC Policy Rule ID, if matched", "in": "query", "name": "last_nacrule_id", "schema": {"type": "string"}}, {"description": "NAC Policy Rule Matched", "in": "query", "name": "nacrule_matched", "schema": {"type": "boolean"}}, {"description": "authentication type, e.g. \u201ceap-tls\u201d, \u201ceap-ttls\u201d, \u201ceap-teap\u201d, \u201cmab\u201d, \u201cdevice-auth\u201d", "in": "query", "name": "auth_type", "schema": {"type": "string"}}, {"description": "Vlan ID", "in": "query", "name": "last_vlan_id", "schema": {"type": "string"}}, {"description": "vendor of NAS device", "in": "query", "name": "last_nas_vendor", "schema": {"type": "string"}}, {"description": "SSO ID, if present and used", "in": "query", "name": "idp_id", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "last_ssid", "schema": {"type": "string"}}, {"description": "Username presented by the client", "in": "query", "name": "last_username", "schema": {"type": "string"}}, {"description": "start time, in epoch", "in": "query", "name": "timestamp", "schema": {"type": "number"}}, {"description": "AP MAC connected to by client", "in": "query", "name": "last_ap", "schema": {"type": "string"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Connection status of client i.e \u201cpermitted\u201d, \u201cdenied, \u201csession_ended\u201d", "in": "query", "name": "last_status", "schema": {"type": "string"}}, {"description": "Client type i.e. \u201cwireless\u201d, \u201cwired\u201d etc.", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "MDM compliancy of client i.e \u201ccompliant\u201d, \u201cnot compliant\u201d", "in": "query", "name": "mdm_compliance_status", "schema": {"type": "string"}}, {"description": "MDM provider of client\u2019s organisation eg \u201cintune\u201d, \u201cjamf\u201d", "in": "query", "name": "mdm_provider", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Sites Clients - NAC"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "networks": {"paths": {"derived": {"specs": {"get": {"description": "Retrieves the list of Networks available for the Site", "operationId": "listSiteNetworksDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"default": false, "type": "boolean"}}], "tags": ["Sites Networks"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "networktemplates": {"paths": {"derived": {"specs": {"get": {"description": "Get derived Network Templates for Site", "operationId": "getSiteNetworkTemplateDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"type": "boolean"}}], "tags": ["Sites Network Templates"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "otherdevices": {"specs": {"get": {"description": "Get List of Site other devices (3rd party devices)", "operationId": "listSiteOtherDevices", "parameters": [{"in": "query", "name": "vendor", "schema": {"type": "string"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}, {"in": "query", "name": "serial", "schema": {"type": "string"}}, {"in": "query", "name": "model", "schema": {"type": "string"}}, {"in": "query", "name": "name", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Devices Others"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count Site OtherDevices Events", "operationId": "countSiteOtherDeviceEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "mac", "enum": ["mac", "type", "vendor", "site_id"], "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Sites Devices Others"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Site OtherDevices Events", "operationId": "searchSiteOtherDeviceEvents", "parameters": [{"description": "mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "mac of attached device", "in": "query", "name": "device_mac", "schema": {"type": "string"}}, {"description": "vendor name", "in": "query", "name": "vendor", "schema": {"type": "string"}}, {"description": "event type", "in": "query", "name": "type", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Sites Devices Others"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}}}, "pcaps": {"specs": {"get": {"description": "Get List of Site Packet Captures", "operationId": "listSitePacketCaptures", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"description": "optional client mac filter", "in": "query", "name": "client_mac", "schema": {"type": "string"}}], "tags": ["Sites Pcaps"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"capture": {"specs": {"delete": {"description": "Stop current capture", "operationId": "stopSitePacketCapture", "tags": ["Sites Pcaps"]}, "get": {"description": "Get Capturing status", "operationId": "getSiteCapturingStatus", "tags": ["Sites Pcaps"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Initiate a Packet Capture\n\nThe output will be available through websocket. As there can be multiple command issued against the same AP at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n subscribe: \"/sites/{site_id}/pcaps\"\n}\n```\n#### Response (Wireless/RadioTap)\n```json\n{\n \"event\": \"data\"\n \"channel\": \"/sites/:site_id/pcaps\"\n \"data\": {\n \"capture_id\": \"6b1be4fb-b239-44d9-9d3b-cb1ff3af1721\",\n \"lost_messages\": 0\n \"pcap_dict\": {\n \"channel_frequency\": 2412,\n \"channel\": \"1\",\n \"datarate\": \"1.0 Mbps\",\n \"rssi\": -75, \n \"dst\": \"78:bd:bc:ca:0b:0a\",\n \"src\": \"18:b8:1f:4c:91:c0\",\n \"bssid\": \"18:b8:1f:4c:91:c0\",\n \"frame_type\": \"Management\", \n \"frame_subtype\": \"Probe Response\", \n \"proto\": \"802.11\", \n \"ap_mac\": \"d4:20:b0:81:99:2e\", \n \"direction\": \"tx\", \n \"timestamp\": 1652246543, \n \"length\": 416.0,\n \"interface\": \"radiotap\",\n \"info\": \"1652246544.467733 1683216786us tsft 1.0 Mb/s 2412 MHz 11g -75dBm signal -82dBm noise antenna 0 Probe Response (ATTKmsWiVS) [1.0* 2.0* 5.5* 11.0* 18.0 24.0 36.0 54.0 Mbit] CH: 2, PRIVACY\\\\n\",\n }, \n \"pcap_raw\": \"1MOyoQIABAAAAAAAAAAAAP//AAABAAAAEEh7Yh5VBwCgAQAAoAEAAAAAKwBvCADAAQAAAIw7reCS2VNkAAAAABACbAmABLWuAAEAEBgAAwACAABQADoBeL28ygsKGLgfTJHAGLgfTJHAcIZ2WDlBJQAAAGQAERUACkFUVEttc1dpVlMBCIKEi5YkMEhsAwECBwZVUyABCx4gAQAjAhkAKgEEMgQMEhhgMBQBAAAPrAQBAAAPrAQBAAAPrAIMAAsFAQAbAABGBTIIAQAALRqtCR////8AAAAAAAAAAAAAAAAAAAAAAAAAAD0WAggVAAAAAAAAAAAAAAAAAAAAAAAAAH8IBAAIAAAAAEDdkwBQ8gQQSgABEBBEAAECEDsAAQMQRwAQn2481frn3KT+uGod2ERx+RAhAAtBcnJpcywgSW5jLhAjAApCR1cyMTAtNzAwECQACkJHVzIxMC03MDAQQgAKQkdXMjEwLTcwMBBUAAgABgBQ8gQAARARAA5BcnJpcyBXaXJlbGVzcxAIAAIgCBA8AAEBEEkABgA3KgABIN0JABAYAgEQHAAA3RgAUPICAQGEAAOkAAAnpAAAQkNeAGIyLwAzjakr\"\n}\n```\n\n#### vResponse (Wired)\n```json\n{\n \"event\": \"data\"\n \"channel\": \"/sites/67970e46-4e12-11e6-9188-0242ac110007/pcaps\"\n \"data\": {\n \"capture_id\": \"f039b1b4-a23e-48b2-906a-0da40524de73\", \n \"pcap_dict\": {\n \"dst_mac\": \"68:ec:c5:09:2e:87\",\n \"src_mac\": \"8c:3b:ad:e0:47:40\", \n \"vlan\": 1, \n \"src_ip\": \"34.224.147.117\", \n \"dst_ip\": \"192.168.1.55\",\n \"dst_port\": 51635, \n \"src_port\": 443,\n \"proto\": \"TCP\", \n \"ap_mac\": \"d4:20:b0:81:99:2e\",\n \"direction\": \"tx\", \n \"timestamp\": 1652247615, \n \"length\": 159.0, \n \"interface\": \"wired\",\n \"info\": \"1652247616.007409 IP ec2-34-224-147-117.compute-1.amazonaws.com.https > ip-192-168-1-55.ec2.internal.51635: Flags [P.], seq 2192123968:2192124057, ack 4035166782, win 12, options [nop,nop,TS val 597467050 ecr 740580660], length 89\\\\n\",\n }, \n \"pcap_raw\": \"1MOyoQIABAAAAAAAAAAAAP//AAABAAAAQEx7YhMzAACfAAAAnwAAAGjsxQkuh4w7reBHQIEAAAEIAEUAAI1bLEAAKAZ/CiLgk3XAqAE3AbvJs4KpKEDwg8I+gBgADFf9AAABAQgKI5yfqiwkXTQXAwMAVKY5JopoKQrVEn0/3ld4YntctGEH/rTZuwtCvzSncFw71QJveJi9uxHs57KC8w9Apph3YvXJrmWg7M37+o+YV0KH/xmr626s5Bkhb3QhKOu+NoNEmA==\"\n\n }\n}\n```\n\n#### Stop Response (Wired/Wireless)\n```json\n{\n \"event\": \"data\"\n \"channel\": \"/sites/67970e46-4e12-11e6-9188-0242ac110007/pcaps\"\n \"data\": {\n \"capture_id\": \"a2f7374d-6a70-41fd-8a3f-71e42573baaf\", \n \"lost_messages\": 0,\n \"pcap_dict\": null\n }\n}\n```", "operationId": "startSitePacketCapture", "tags": ["Sites Pcaps"]}}}, "{pcap_id}": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/pcap_id"}], "put": {"description": "Update or add notes to a completed packet capture", "operationId": "updateSitePacketCapture", "tags": ["Sites Pcaps"]}}}}}, "psks": {"specs": {"get": {"description": "Get List of Site PSKs", "operationId": "listSitePsks", "parameters": [{"in": "query", "name": "ssid", "schema": {"type": "string"}}, {"in": "query", "name": "role", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/name"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Psks"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site PSK", "operationId": "createSitePsk", "tags": ["Sites Psks"]}, "put": {"description": "Update multi PSKs", "operationId": "updateSitePsks", "tags": ["Sites Psks"]}}, "paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Import PSK from CSV file or JSON\n\n## CSV File Format\n```csv\nPSK Import CSV File Format:\nname,ssid,passphrase,usage,vlan_id,mac\nCommon,warehouse,foryoureyesonly,single,35,a31425f31278\nJustin,reception,visible,multi,1002\n```", "operationId": "importSitePsks", "tags": ["Sites Psks"]}}}, "{psk_id}": {"specs": {"delete": {"description": "Delete Site PSK", "operationId": "deleteSitePsk", "tags": ["Sites Psks"]}, "get": {"description": "Get Site PSK Details", "operationId": "getSitePsk", "tags": ["Sites Psks"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/psk_id"}], "put": {"description": "Update Site PSK", "operationId": "updateSitePsk", "tags": ["Sites Psks"]}}}}}, "rfdiags": {"specs": {"get": {"description": "List RF Glass Recording", "operationId": "getSiteSiteRfdiagRecording", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Rfdiags"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Start RF Glass Recording", "operationId": "startSiteRecording", "tags": ["Sites Rfdiags"]}}, "paths": {"{rfdiag_id}": {"specs": {"delete": {"description": "Delete Recording", "operationId": "deleteSiteRfdiagRecording", "tags": ["Sites Rfdiags"]}, "get": {"description": "Get RF Diage Recording Details", "operationId": "getSiteRfdiagRecording", "tags": ["Sites Rfdiags"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/rfdiag_id"}], "put": {"description": "Update Recording", "operationId": "updateSiteRfdiagRecording", "tags": ["Sites Rfdiags"]}}, "paths": {"download": {"specs": {"get": {"description": "Download Recording\nDownload raw_events blob", "operationId": "downloadSiteRfdiagRecording", "tags": ["Sites Rfdiags"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/rfdiag_id"}]}}, "stop": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/rfdiag_id"}], "post": {"description": "If the recording session is active for the given rfdiag_id, it will finish the recording. duration and end_time will be updated to reflect the correct values.", "operationId": "stopSiteRfdiagRecording", "tags": ["Sites Rfdiags"]}}}}}}}, "rftemplates": {"paths": {"derived": {"specs": {"get": {"description": "Get derived RF Templates for Site", "operationId": "getSiteRfTemplateDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"type": "boolean"}}], "tags": ["Sites RF Templates"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "rogues": {"paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count Rogue Events", "operationId": "countSiteRogueEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "bssid", "enum": ["bssid", "ssid", "ap", "type"], "type": "string"}}, {"$ref": "#/components/parameters/rogue_type"}, {"description": "ssid of the network detected as threat", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "bssid of the network detected as threat", "in": "query", "name": "bssid", "schema": {"type": "string"}}, {"description": "mac of the device that had strongest signal strength for ssid/bssid pair", "in": "query", "name": "ap_mac", "schema": {"type": "string"}}, {"description": "channel over which ap_mac heard ssid/bssid pair", "in": "query", "name": "channel", "schema": {"type": "string"}}, {"description": "whether the reporting AP see a wireless client (on LAN) connecting to it", "in": "query", "name": "seen_on_lan", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Rogues"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Rogue Events", "operationId": "searchSiteRogueEvents", "parameters": [{"$ref": "#/components/parameters/rogue_type"}, {"description": "ssid of the network detected as threat", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "bssid of the network detected as threat", "in": "query", "name": "bssid", "schema": {"type": "string"}}, {"description": "mac of the device that had strongest signal strength for ssid/bssid pair", "in": "query", "name": "ap_mac", "schema": {"type": "string"}}, {"description": "channel over which ap_mac heard ssid/bssid pair", "in": "query", "name": "channel", "schema": {"type": "integer"}}, {"description": "whether the reporting AP see a wireless client (on LAN) connecting to it", "in": "query", "name": "seen_on_lan", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Rogues"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "{rogue_bssid}": {"specs": {"get": {"description": "Get Rogue AP Details", "operationId": "getSiteRogueAP", "parameters": [], "tags": ["Sites Rogues"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/rogue_bssid"}]}, "paths": {"deauth_clients": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/rogue_bssid"}], "post": {"description": "Send Deauth frame to clients connected to a Rogue AP", "operationId": "deauthSiteWirelessClientsConnectedToARogue", "tags": ["Sites Rogues"]}}}}}}}, "rrm": {"paths": {"current": {"specs": {"get": {"description": "Get Current Channel Planning", "operationId": "getSiteCurrentChannelPlanning", "tags": ["Sites RRM"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"devices": {"paths": {"{device_id}": {"paths": {"band": {"paths": {"{band}": {"specs": {"get": {"description": "Get Current RRM Considerations for an AP on a Specific Band", "operationId": "getSiteCurrentRrmConsiderationsForAnApOnASpecificBand", "tags": ["Sites RRM"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}, {"description": "radio band", "in": "path", "name": "band", "required": true, "schema": {"enum": ["24", "5", "6"], "type": "string"}}]}}}}}}}}}}, "events": {"specs": {"get": {"description": "Get Site RRM Events", "operationId": "getSiteRrmEvents", "parameters": [{"in": "query", "name": "band", "required": true, "schema": {"enum": ["24", "5", "6"], "type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites RRM"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "optimize": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Optimize Site RRM", "operationId": "optimizeSiteRrm", "tags": ["Sites RRM"]}}}}}, "rssizones": {"specs": {"get": {"description": "Get List of Site RSSI Zone (RSSI-based)", "operationId": "listSiteRssiZones", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Rssizones"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create RSSI Zone", "operationId": "createSiteRssiZone", "tags": ["Sites Rssizones"]}}, "paths": {"{rssizone_id}": {"specs": {"delete": {"description": "Delete Site RSSI Zone", "operationId": "deleteSiteRssiZone", "tags": ["Sites Rssizones"]}, "get": {"description": "Get Site RSSI Zone details", "operationId": "getSiteRssiZone", "tags": ["Sites Rssizones"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/rssizone_id"}], "put": {"description": "Update Site RSSI Zone", "operationId": "updateSiteRssiZone", "tags": ["Sites Rssizones"]}}}}}, "servicepolicies": {"paths": {"derived": {"specs": {"get": {"description": "Retrieves the list of Service Policies available for the Site", "operationId": "listSiteServicePoliciesDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"default": false, "type": "boolean"}}], "tags": ["Sites Service Policies"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "services": {"paths": {"derived": {"specs": {"get": {"description": "Retrieves the list of Services available for the Site", "operationId": "listSiteServicesDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"default": false, "type": "boolean"}}], "tags": ["Sites Services"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "events": {"paths": {"count": {"specs": {"get": {"description": "Count Service Path Events", "operationId": "countSiteServicePathEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "type", "enum": ["type", "mac", "vpn_name", "vpn_path", "policy", "port_id", "model", "site_id"], "type": "string"}}, {"description": "Event type, e.g. GW_SERVICE_PATH_DOWN", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "Description of the event including the reason it is triggered", "in": "query", "name": "text", "schema": {"type": "string"}}, {"description": "Peer name", "in": "query", "name": "vpn_name", "schema": {"type": "string"}}, {"description": "Peer path name", "in": "query", "name": "vpn_path", "schema": {"type": "string"}}, {"description": "Service policy associated with that specific path", "in": "query", "name": "policy", "schema": {"type": "string"}}, {"description": "Network interface", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "Device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "Device firmware version", "in": "query", "name": "version", "schema": {"type": "string"}}, {"description": "Start time, in epoch", "in": "query", "name": "timestamp", "schema": {"type": "number"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}], "tags": ["Sites Services"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Service Path Events", "operationId": "searchSiteServicePathEvents", "parameters": [{"description": "Event type, e.g. GW_SERVICE_PATH_DOWN", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "Description of the event including the reason it is triggered", "in": "query", "name": "text", "schema": {"type": "string"}}, {"description": "Peer name", "in": "query", "name": "vpn_name", "schema": {"type": "string"}}, {"description": "Peer path name", "in": "query", "name": "vpn_path", "schema": {"type": "string"}}, {"description": "Service policy associated with that specific path", "in": "query", "name": "policy", "schema": {"type": "string"}}, {"description": "Network interface", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "Device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "Device firmware version", "in": "query", "name": "version", "schema": {"type": "string"}}, {"description": "Start time, in epoch", "in": "query", "name": "timestamp", "schema": {"type": "number"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}], "tags": ["Sites Services"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}}}, "setting": {"specs": {"get": {"description": "Get Site Settings", "operationId": "getSiteSetting", "tags": ["Sites Setting"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "put": {"description": "Update Site Settings", "operationId": "updateSiteSettings", "tags": ["Sites Setting"]}}, "paths": {"blacklist": {"specs": {"delete": {"description": "Delete Site Blacklist Station Clients", "operationId": "deleteSiteWirelessClientsBlocklist", "tags": ["Sites Setting"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "This endpoint is to provide list of client macs for annotation blacklist.\n\nRetrieve the current clients list `blacklist_url` under Site:Setting", "operationId": "createSiteWirelessClientsBlocklist", "tags": ["Sites Setting"]}}}, "jse": {"paths": {"info": {"specs": {"get": {"description": "Retrieves the list of JSE orgs associated with the account", "operationId": "getSiteJseInfo", "tags": ["Sites JSE"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "watched_station": {"specs": {"delete": {"description": "Delete Site Watched Station Clients", "operationId": "deleteSiteWatchedStations", "tags": ["Sites Setting"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "This endpoint is to provide list of client macs for annotation as watched station.\n\nRetrieve the current clients list from `watched_station_url` under Site:Setting", "operationId": "createSiteWatchedStations", "tags": ["Sites Setting"]}}}, "whitelist": {"specs": {"delete": {"description": "Delete Site Whitelist Station Clients", "operationId": "deleteSiteWirelessClientsAllowlist", "tags": ["Sites Setting"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "This endpoint is to provide list of client macs for annotation as whitelist.\n\nRetrieve the current clients list from `whitelist_url` under Site:Setting", "operationId": "createSiteWirelessClientsAllowlist", "tags": ["Sites Setting"]}}}}}, "sitetemplates": {"paths": {"derived": {"specs": {"get": {"description": "Get derived Site Templates for Site", "operationId": "getSiteSiteTemplateDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"type": "boolean"}}], "tags": ["Sites Site Templates"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "skyatp": {"paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Skyatp Events (WIP)", "operationId": "countSiteSkyatpEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "type", "enum": ["type", "mac", "device_mac", "threat_level"], "type": "string"}}, {"description": "event type, e.g. cc, fs, mw", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "client MAC", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "device MAC", "in": "query", "name": "device_mac", "schema": {"type": "string"}}, {"description": "threat level", "in": "query", "name": "threat_level", "schema": {"type": "integer"}}, {"$ref": "#/components/parameters/ip"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Skyatp"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Skyatp Events (WIP)", "operationId": "searchSiteSkyatpEvents", "parameters": [{"description": "event type, e.g. cc, fs, mw", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "client MAC", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "device MAC", "in": "query", "name": "device_mac", "schema": {"type": "string"}}, {"description": "threat level", "in": "query", "name": "threat_level", "schema": {"type": "integer"}}, {"$ref": "#/components/parameters/ip"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Skyatp"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}}}, "sle": {"paths": {"{scope}": {"paths": {"{scope_id}": {"paths": {"metric": {"paths": {"{metric}": {"paths": {"classifier": {"paths": {"{classifier}": {"paths": {"summary": {"specs": {"get": {"description": "Get SLE classifier details", "operationId": "getSiteSleClassifierDetails", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"enum": ["site", "ap", "switch", "gateway", "client"], "type": "string"}}, {"description": "* site_id if `scope`==`site`\n* device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway`\n* mac if `scope`==`client`", "in": "path", "name": "scope_id", "required": true, "schema": {"type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}, {"in": "path", "name": "classifier", "required": true, "schema": {"type": "string"}}]}}}}}}, "classifiers": {"specs": {"get": {"description": "Get the list of classifiers for a specific metric", "operationId": "getSiteSleMetricClassifiers", "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"enum": ["site", "ap", "switch", "gateway", "client"], "type": "string"}}, {"description": "* site_id if `scope`==`site`\n* device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway`\n* mac if `scope`==`client`", "in": "path", "name": "scope_id", "required": true, "schema": {"type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "histogram": {"specs": {"get": {"description": "Get the histogram for the SLE metric", "operationId": "getSiteSleHistogram", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"enum": ["site", "ap", "switch", "gateway", "client"], "type": "string"}}, {"description": "* site_id if `scope`==`site`\n* device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway`\n* mac if `scope`==`client`", "in": "path", "name": "scope_id", "required": true, "schema": {"type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impact-summary": {"specs": {"get": {"description": "Get impact summary counts optionally filtered by classifier and failure type\n \n* Wireless SLE Fields: `wlan`, `device_type`, `device_os` ,`band`, `ap`, `server`, `mxedge`\n* Wired SLE Fields: `switch`, `client`, `vlan`, `interface`, `chassis`\n* WAN SLE Fields: `gateway`, `client`, `interface`, `chassis`, `peer_path`, `gateway_zones`", "operationId": "getSiteSleImpactSummary", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "fields", "schema": {"enum": ["wlan", "device_type", "device_os", "band", "ap", "server", "mxedge", "switch", "client", "vlan", "interface", "chassis", "gateway", "peer_path", "gateway_zones"], "type": "string"}}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"enum": ["site", "ap", "switch", "gateway", "client"], "type": "string"}}, {"description": "* site_id if `scope`==`site`\n* device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway`\n* mac if `scope`==`client`", "in": "path", "name": "scope_id", "required": true, "schema": {"type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impacted-applications": {"specs": {"get": {"description": "For WAN SLEs. Get list of impacted interfaces optionally filtered by classifier and failure type", "operationId": "getSiteSleImpactedApplications", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"enum": ["site", "switch", "gateway"], "type": "string"}}, {"in": "path", "name": "scope_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impacted-aps": {"specs": {"get": {"description": "For Wireless SLEs. Get list of impacted APs optionally filtered by classifier and failure type", "operationId": "getSiteSleImpactedAps", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"enum": ["site"], "type": "string"}}, {"in": "path", "name": "scope_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impacted-chassis": {"specs": {"get": {"description": "For Wired and WAN SLEs. Get list of impacted interfaces optionally filtered by classifier and failure type", "operationId": "getSiteSleImpactedChassis", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"enum": ["site", "switch", "gateway"], "type": "string"}}, {"in": "path", "name": "scope_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impacted-clients": {"specs": {"get": {"description": "For Wired SLEs. Get list of impacted interfaces optionally filtered by classifier and failure type", "operationId": "getSiteSleImpactedWiredClients", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"enum": ["site", "switch", "gateway"], "type": "string"}}, {"in": "path", "name": "scope_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impacted-gateways": {"specs": {"get": {"description": "For WAN SLEs. Get list of impacted interfaces optionally filtered by classifier and failure type", "operationId": "getSiteSleImpactedGateways", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"enum": ["site"], "type": "string"}}, {"in": "path", "name": "scope_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impacted-interfaces": {"specs": {"get": {"description": "For Wired and WAN SLEs. Get list of impacted interfaces optionally filtered by classifier and failure type", "operationId": "getSiteSleImpactedInterfaces", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"enum": ["site", "switch", "gateway"], "type": "string"}}, {"in": "path", "name": "scope_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impacted-switches": {"specs": {"get": {"description": "For Wired SLEs. Get list of impacted switches optionally filtered by classifier and failure type", "operationId": "getSiteSleImpactedSwitches", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"enum": ["site"], "type": "string"}}, {"in": "path", "name": "scope_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impacted-users": {"specs": {"get": {"description": "For Wireless SLEs. Get list of impacted wireless users optionally filtered by classifier and failure type", "operationId": "getSiteSleImpactedWirelessClients", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"enum": ["site", "ap"], "type": "string"}}, {"in": "path", "name": "scope_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "summary": {"specs": {"get": {"description": " Get the summary for the SLE metric", "operationId": "getSiteSleSummary", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"enum": ["site", "ap", "switch", "gateway", "client"], "type": "string"}}, {"description": "* site_id if `scope`==`site`\n* device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway`\n* mac if `scope`==`client`", "in": "path", "name": "scope_id", "required": true, "schema": {"type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "threshold": {"specs": {"get": {"description": "Get the SLE threshold", "operationId": "getSiteSleThreshold", "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"enum": ["site", "ap", "switch", "gateway", "client"], "type": "string"}}, {"description": "* site_id if `scope`==`site`\n* device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway`\n* mac if `scope`==`client`", "in": "path", "name": "scope_id", "required": true, "schema": {"type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}], "post": {"description": "Replace the SLE threshold", "operationId": "replaceSiteSleThreshold", "tags": ["Sites SLEs"]}, "put": {"description": "Update the SLE threshold", "operationId": "updateSiteSleThreshold", "tags": ["Sites SLEs"]}}}}}}}, "metrics": {"specs": {"get": {"description": "Get the list of metrics for the given scope", "operationId": "getSiteSlesMetrics", "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"enum": ["site", "ap", "switch", "gateway", "client"], "type": "string"}}, {"description": "* site_id if `scope`==`site`\n* device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway`\n* mac if `scope`==`client`", "in": "path", "name": "scope_id", "required": true, "schema": {"type": "string"}}]}}}}}}}}, "ssr": {"paths": {"upgrade": {"paths": {"{upgrade_id}": {"specs": {"get": {"description": "Get Specific Site SSR Upgrade", "operationId": "getSiteSsrUpgrade", "tags": ["Sites Devices Upgrades"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/upgrade_id"}]}}}}, "{device_id}": {"paths": {"upgrade": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Upgrade Site SSR device", "operationId": "upgradeSiteSsr", "tags": ["Sites Devices Upgrades"]}}}}}}}, "stats": {"specs": {"get": {"description": "Get Site Stats", "operationId": "getSiteStats", "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"apps": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Applications", "operationId": "countSiteApps", "parameters": [{"description": "Default for wireless devices is `ap`. Default for wired devices is `device_mac`", "in": "query", "name": "distinct", "schema": {"enum": ["ap", "wcid", "ssid", "wlan_id app", "device_mac", "src_ip", "port_id", "app", "category", "service"], "type": "string"}}, {"description": "MAC of the device", "in": "query", "name": "device_mac", "schema": {"type": "string"}}, {"description": "Application name", "in": "query", "name": "app", "schema": {"type": "string"}}, {"description": "If a device is wired or wireless. Default is False.", "in": "query", "name": "wired", "schema": {"type": "string"}}], "tags": ["Sites Applications"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "assets": {"specs": {"get": {"description": "Get List of Site Assets Stats", "operationId": "listSiteAssetsStats", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"asset_id": {"specs": {"get": {"description": "Get Site Asset Details", "operationId": "getSiteAssetStats", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "count": {"specs": {"get": {"description": "Count Asset by distinct field", "operationId": "countSiteAssets", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "map_id", "enum": ["mac", "map_id", "ibeacon_uuid", "ibeacon_major", "ibeacon_minor", "eddystone_uid_namespace", "eddystone_uid_instance", "eddystone_url", "by", "name", "device_name"], "type": "string"}}], "tags": ["Sites Assets"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Assets Search", "operationId": "searchSiteAssets", "parameters": [{"in": "query", "name": "mac", "schema": {"type": "string"}}, {"in": "query", "name": "map_id", "schema": {"format": "uuid", "type": "string"}}, {"in": "query", "name": "ibeacon_uuid", "schema": {"format": "uuid", "type": "string"}}, {"in": "query", "name": "ibeacon_major", "schema": {"type": "integer"}}, {"in": "query", "name": "ibeacon_minor", "schema": {"type": "integer"}}, {"in": "query", "name": "eddystone_uid_namespace", "schema": {"type": "string"}}, {"in": "query", "name": "eddystone_uid_instance", "schema": {"type": "string"}}, {"in": "query", "name": "eddystone_url", "schema": {"type": "string"}}, {"in": "query", "name": "device_name", "schema": {"type": "string"}}, {"in": "query", "name": "by", "schema": {"type": "string"}}, {"in": "query", "name": "name", "schema": {"type": "string"}}, {"in": "query", "name": "ap_mac", "schema": {"type": "string"}}, {"in": "query", "name": "beam", "schema": {"type": "string"}}, {"in": "query", "name": "rssi", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Assets"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "beacons": {"specs": {"get": {"description": "Get List of Site Beacons Stats", "operationId": "listSiteBeaconsStats", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "bgp_peers": {"paths": {"count": {"specs": {"get": {"description": "Count BGP Stats", "operationId": "countSiteBgpStats", "parameters": [{"in": "query", "name": "state", "schema": {"type": "string"}}, {"in": "query", "name": "distinct", "schema": {"type": "string"}}], "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search BGP Stats", "operationId": "searchSiteBgpStats", "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "calls": {"paths": {"client": {"paths": {"{client_mac}": {"paths": {"troubleshoot": {"specs": {"get": {"description": "Troubleshoot a call", "operationId": "troubleshootSiteCall", "parameters": [{"description": "meeting_id", "in": "query", "name": "meeting_id", "required": true, "schema": {"type": "string"}}, {"description": "device identifier", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Third party app name", "in": "query", "name": "app", "schema": {"example": "zoom", "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Sites Calls"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/client_mac"}]}}}}}}, "count": {"specs": {"get": {"description": "Count by Distinct Attributes of Calls", "operationId": "countSiteCalls", "parameters": [{"in": "query", "name": "distrinct", "schema": {"default": "mac", "enum": ["mac"], "type": "string"}}, {"description": "feedback rating (e.g. \"rating=1\" or \"rating=1,2\")", "in": "query", "name": "rating", "schema": {"maximum": 5, "minimum": 1, "type": "integer"}}, {"in": "query", "name": "app", "schema": {"type": "string"}}, {"in": "query", "name": "start", "schema": {"type": "string"}}, {"in": "query", "name": "end", "schema": {"type": "string"}}], "tags": ["Sites Calls"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Calls", "operationId": "searchSiteCalls", "parameters": [{"description": "device identifier", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Third party app name", "in": "query", "name": "app", "schema": {"example": "zoom", "type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Calls"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "clients": {"specs": {"get": {"description": "Get List of Site All Clients Stats Details", "operationId": "listSiteWirelessClientsStats", "parameters": [{"in": "query", "name": "wired", "schema": {"default": false, "type": "boolean"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"{client_mac}": {"specs": {"get": {"description": "Get Site Client Stats Details", "operationId": "getSiteWirelessClientStats", "parameters": [{"in": "query", "name": "wired", "schema": {"default": false, "type": "boolean"}}], "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/client_mac"}]}}}}, "devices": {"specs": {"get": {"description": "Get List of Site Devices Stats", "operationId": "listSiteDevicesStats", "parameters": [{"in": "query", "name": "type", "schema": {"default": "ap", "enum": ["ap", "switch", "gateway", "all"], "type": "string"}}, {"in": "query", "name": "status", "schema": {"default": "all", "enum": ["all", "connected", "disconnected"], "type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"{device_id}": {"specs": {"get": {"description": "Get Site Device Stats Details", "operationId": "getSiteDeviceStats", "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}]}, "paths": {"clients": {"specs": {"get": {"description": "Get wireless client stat by Device", "operationId": "getSiteAllClientsStatsByDevice", "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}]}}}}}}, "discovered_assets": {"specs": {"get": {"description": "Get List of Site Discovered BLE Assets that doesn\u2019t match any of the Asset / Assetfilters", "operationId": "listSiteDiscoveredAssets", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "discovered_switch_metrics": {"paths": {"search": {"specs": {"get": {"description": "Search Discovered Switch Metrics", "operationId": "searchSiteDiscoveredSwitchesMetrics", "parameters": [{"description": "metric scope, optional", "in": "query", "name": "scope", "schema": {"default": "site", "enum": ["site", "switch"], "type": "string"}}, {"description": "metric type, inactive_wired_vlans/switch_ap_affinity/poe_compliance/version_compliance, optional", "in": "query", "name": "type", "schema": {"enum": ["inactive_wired_vlans", "switch_ap_affinity", "poe_compliance", "version_compliance"], "type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "discovered_switches": {"paths": {"count": {"specs": {"get": {"description": "Count Discovered Switches", "operationId": "countSiteDiscoveredSwitches", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "system_name", "enum": ["system_name", "version", "model", "mgmt_addr"], "type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "metrics": {"specs": {"get": {"description": "Discovered switches related metrics, lists related switch system names & details if not compliant", "operationId": "getSiteDiscoveredSwitchesMetrics", "parameters": [{"description": "configurable # ap per switch threshold, default 12", "in": "query", "name": "threshold", "schema": {"type": "string"}}, {"description": "system name for switch level metrics, optional", "in": "query", "name": "system_name", "schema": {"type": "string"}}], "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Discovered Switches", "operationId": "searchSiteDiscoveredSwitches", "parameters": [{"in": "query", "name": "adopted", "schema": {"type": "boolean"}}, {"in": "query", "name": "system_name", "schema": {"type": "string"}}, {"in": "query", "name": "hostname", "schema": {"type": "string"}}, {"in": "query", "name": "vendor", "schema": {"type": "string"}}, {"in": "query", "name": "model", "schema": {"type": "string"}}, {"in": "query", "name": "version", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "filtered_assets": {"specs": {"get": {"description": "Get a list of BLE beacons that matches Asset or AssetFilter", "operationId": "getSiteAssetsOfInterest", "parameters": [{"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Assets"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "gateways": {"paths": {"metrics": {"specs": {"get": {"description": "Get Site Gateway Metrics", "operationId": "getSiteGatewayMetrics", "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "maps": {"paths": {"{map_id}": {"paths": {"clients": {"specs": {"get": {"description": "Get Site Clients Stats By Map", "operationId": "getSiteWirelessClientsStatsByMap", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}]}}, "discovered_assets": {"specs": {"get": {"description": "Get a list of BLE beacons that we discovered (whether they\u2019re defined as assets or not)", "operationId": "getSiteDiscoveredAssetByMap", "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}]}}, "sdkclients": {"specs": {"get": {"description": "Get SdkClient Stats By Map", "operationId": "getSiteSdkStatsByMap", "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}]}}, "unconnected_clients": {"specs": {"get": {"description": "Get List of Site Unconnected Client Location", "operationId": "listSiteUnconnectedClientStats", "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}]}}}}}}, "mxedges": {"specs": {"get": {"description": "Get List of Site MxEdges Stats", "operationId": "listSiteMxEdgesStats", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"{mxedge_id}": {"specs": {"get": {"description": "Get One Site MxEdge Stats", "operationId": "getSiteMxEdgeStats", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/mxedge_id"}]}}}}, "ports": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Switch/Gateway Ports", "operationId": "countSiteSwOrGwPorts", "parameters": [{"description": "port_id, port_mac, full_duplex, mac, neighbor_macneighbor_port_desc, neighbor_system_name, poe_disabled, poe_mode, poe_on, speed, up", "in": "query", "name": "distinct", "schema": {"default": "mac", "enum": ["port_id", "port_mac", "full_duplex", "mac", "neighbor_mac", "neighbor_port_desc", "neighbor_system_name", "poe_disabled", "poe_mode", "poe_on", "speed", "up"], "type": "string"}}, {"description": "indicates full or half duplex", "in": "query", "name": "full_duplex", "schema": {"type": "boolean"}}, {"description": "device identifier", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Chassis identifier of the chassis type listed", "in": "query", "name": "neighbor_mac", "schema": {"type": "string"}}, {"description": "Description supplied by the system on the interface E.g. \u201cGigabitEthernet2/0/39\u201d", "in": "query", "name": "neighbor_port_desc", "schema": {"type": "string"}}, {"description": "Name supplied by the system on the interface E.g. neighbor system name E.g. \u201cKumar-Acc-SW.mist.local\u201d", "in": "query", "name": "neighbor_system_name", "schema": {"type": "string"}}, {"description": "is the POE configured not be disabled.", "in": "query", "name": "poe_disabled", "schema": {"type": "boolean"}}, {"description": "poe mode depending on class E.g. \u201c802.3at\u201d", "in": "query", "name": "poe_mode", "schema": {"type": "string"}}, {"description": "is the device attached to POE", "in": "query", "name": "poe_on", "schema": {"type": "boolean"}}, {"description": "interface name", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "interface mac address", "in": "query", "name": "port_mac", "schema": {"type": "string"}}, {"description": "Amount of power being used by the interface at the time the command is executed. Unit in watts.", "in": "query", "name": "power_draw", "schema": {"type": "number"}}, {"description": "Output packets", "in": "query", "name": "tx_pkts", "schema": {"type": "integer"}}, {"description": "Input packets", "in": "query", "name": "rx_pkts", "schema": {"type": "integer"}}, {"description": "Input bytes", "in": "query", "name": "rx_bytes", "schema": {"type": "integer"}}, {"description": "Output rate", "in": "query", "name": "tx_bps", "schema": {"type": "integer"}}, {"description": "Input rate", "in": "query", "name": "rx_bps", "schema": {"type": "integer"}}, {"description": "Multicast output packets", "in": "query", "name": "tx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast output packets", "in": "query", "name": "tx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "Multicast input packets", "in": "query", "name": "rx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast input packets", "in": "query", "name": "rx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "port speed", "in": "query", "name": "speed", "schema": {"type": "integer"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_state", "schema": {"enum": ["forwarding", "blocking", "learning", "listening", "disabled"], "type": "string"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_role", "schema": {"enum": ["designated", "backup", "alternate", "root", "root-prevented"], "type": "string"}}, {"description": "if `up`==`true` && has Authenticator role", "in": "query", "name": "auth_state", "schema": {"enum": ["init", "authenticated", "authenticating", "held"], "type": "string"}}, {"description": "indicates if interface is up", "in": "query", "name": "up", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Switch / Gateway Ports", "operationId": "searchSiteSwOrGwPorts", "parameters": [{"description": "indicates full or half duplex", "in": "query", "name": "full_duplex", "schema": {"type": "boolean"}}, {"description": "device identifier", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "device type", "in": "query", "name": "type", "schema": {"enum": ["ap", "ble", "switch", "gateway", "mxedge", "nac"], "type": "string"}}, {"description": "Chassis identifier of the chassis type listed", "in": "query", "name": "neighbor_mac", "schema": {"type": "string"}}, {"description": "Description supplied by the system on the interface E.g. \u201cGigabitEthernet2/0/39\u201d", "in": "query", "name": "neighbor_port_desc", "schema": {"type": "string"}}, {"description": "Name supplied by the system on the interface E.g. neighbor system name E.g. \u201cKumar-Acc-SW.mist.local\u201d", "in": "query", "name": "neighbor_system_name", "schema": {"type": "string"}}, {"description": "is the POE configured not be disabled.", "in": "query", "name": "poe_disabled", "schema": {"type": "boolean"}}, {"description": "poe mode depending on class E.g. \u201c802.3at\u201d", "in": "query", "name": "poe_mode", "schema": {"type": "string"}}, {"description": "is the device attached to POE", "in": "query", "name": "poe_on", "schema": {"type": "boolean"}}, {"description": "interface name", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "interface mac address", "in": "query", "name": "port_mac", "schema": {"type": "string"}}, {"description": "Amount of power being used by the interface at the time the command is executed. Unit in watts.", "in": "query", "name": "power_draw", "schema": {"type": "number"}}, {"description": "Output packets", "in": "query", "name": "tx_pkts", "schema": {"type": "integer"}}, {"description": "Input packets", "in": "query", "name": "rx_pkts", "schema": {"type": "integer"}}, {"description": "Input bytes", "in": "query", "name": "rx_bytes", "schema": {"type": "integer"}}, {"description": "Output rate", "in": "query", "name": "tx_bps", "schema": {"type": "integer"}}, {"description": "Input rate", "in": "query", "name": "rx_bps", "schema": {"type": "integer"}}, {"description": "Output errors", "in": "query", "name": "tx_errors", "schema": {"type": "integer"}}, {"description": "Input errors", "in": "query", "name": "rx_errors", "schema": {"type": "integer"}}, {"description": "Multicast output packets", "in": "query", "name": "tx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast output packets", "in": "query", "name": "tx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "Multicast input packets", "in": "query", "name": "rx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast input packets", "in": "query", "name": "rx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "port speed", "in": "query", "name": "speed", "schema": {"type": "integer"}}, {"description": "Limit on number of dynamically learned macs", "in": "query", "name": "mac_limit", "schema": {"type": "integer"}}, {"description": "Number of mac addresses in the forwarding table", "in": "query", "name": "mac_count", "schema": {"type": "integer"}}, {"description": "indicates if interface is up", "in": "query", "name": "up", "schema": {"type": "boolean"}}, {"description": "indicates if interface is active/inactive", "in": "query", "name": "active", "schema": {"type": "boolean"}}, {"description": "Last sampled jitter of the interface", "in": "query", "name": "jitter", "schema": {"type": "number"}}, {"description": "Last sampled loss of the interface", "in": "query", "name": "loss", "schema": {"type": "number"}}, {"description": "Last sampled latency of the interface", "in": "query", "name": "latency", "schema": {"type": "number"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_state", "schema": {"enum": ["forwarding", "blocking", "learning", "listening", "disabled"], "type": "string"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_role", "schema": {"enum": ["designated", "backup", "alternate", "root", "root-prevented"], "type": "string"}}, {"description": "Optic Slot Partnumber, Check for null/empty", "in": "query", "name": "xcvr_part_number", "schema": {"type": "string"}}, {"description": "if `up`==`true` && has Authenticator role", "in": "query", "name": "auth_state", "schema": {"enum": ["init", "authenticated", "authenticating", "held"], "type": "string"}}, {"description": "LTE IMSI value, Check for null/empty", "in": "query", "name": "lte_imsi", "schema": {"type": "string"}}, {"description": "LTE ICCID value, Check for null/empty", "in": "query", "name": "lte_iccid", "schema": {"type": "string"}}, {"description": "LTE IMEI value, Check for null/empty", "in": "query", "name": "lte_imei", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "sdkclients": {"paths": {"{sdkclient_id}": {"specs": {"get": {"description": "Get Detail Stats of a SdkClient", "operationId": "getSiteSdkStats", "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/sdkclient_id"}]}}}}, "switch_ports": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Switch/Gateway Ports", "operationId": "countSiteSwitchPorts", "parameters": [{"description": "port_id, port_mac, full_duplex, mac, neighbor_macneighbor_port_desc, neighbor_system_name, poe_disabled, poe_mode, poe_on, speed, up", "in": "query", "name": "distinct", "schema": {"default": "mac", "enum": ["port_id", "port_mac", "full_duplex", "mac", "neighbor_mac", "neighbor_port_desc", "neighbor_system_name", "poe_disabled", "poe_mode", "poe_on", "speed", "up"], "type": "string"}}, {"description": "indicates full or half duplex", "in": "query", "name": "full_duplex", "schema": {"type": "boolean"}}, {"description": "device identifier", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Chassis identifier of the chassis type listed", "in": "query", "name": "neighbor_mac", "schema": {"type": "string"}}, {"description": "Description supplied by the system on the interface E.g. \u201cGigabitEthernet2/0/39\u201d", "in": "query", "name": "neighbor_port_desc", "schema": {"type": "string"}}, {"description": "Name supplied by the system on the interface E.g. neighbor system name E.g. \u201cKumar-Acc-SW.mist.local\u201d", "in": "query", "name": "neighbor_system_name", "schema": {"type": "string"}}, {"description": "is the POE configured not be disabled.", "in": "query", "name": "poe_disabled", "schema": {"type": "boolean"}}, {"description": "poe mode depending on class E.g. \u201c802.3at\u201d", "in": "query", "name": "poe_mode", "schema": {"type": "string"}}, {"description": "is the device attached to POE", "in": "query", "name": "poe_on", "schema": {"type": "boolean"}}, {"description": "interface name", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "interface mac address", "in": "query", "name": "port_mac", "schema": {"type": "string"}}, {"description": "Amount of power being used by the interface at the time the command is executed. Unit in watts.", "in": "query", "name": "power_draw", "schema": {"type": "number"}}, {"description": "Output packets", "in": "query", "name": "tx_pkts", "schema": {"type": "integer"}}, {"description": "Input packets", "in": "query", "name": "rx_pkts", "schema": {"type": "integer"}}, {"description": "Input bytes", "in": "query", "name": "rx_bytes", "schema": {"type": "integer"}}, {"description": "Output rate", "in": "query", "name": "tx_bps", "schema": {"type": "integer"}}, {"description": "Input rate", "in": "query", "name": "rx_bps", "schema": {"type": "integer"}}, {"description": "Multicast output packets", "in": "query", "name": "tx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast output packets", "in": "query", "name": "tx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "Multicast input packets", "in": "query", "name": "rx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast input packets", "in": "query", "name": "rx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "port speed", "in": "query", "name": "speed", "schema": {"type": "integer"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_state", "schema": {"enum": ["forwarding", "blocking", "learning", "listening", "disabled"], "type": "string"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_role", "schema": {"enum": ["designated", "backup", "alternate", "root", "root-prevented"], "type": "string"}}, {"description": "if `up`==`true`", "in": "query", "name": "auth_state", "schema": {"enum": ["init", "authenticated", "authenticating", "held"], "type": "string"}}, {"description": "indicates if interface is up", "in": "query", "name": "up", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Switch / Gateway Ports", "operationId": "searchSiteSwitchPorts", "parameters": [{"description": "indicates full or half duplex", "in": "query", "name": "full_duplex", "schema": {"type": "boolean"}}, {"description": "device identifier", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Chassis identifier of the chassis type listed", "in": "query", "name": "neighbor_mac", "schema": {"type": "string"}}, {"description": "Description supplied by the system on the interface E.g. \u201cGigabitEthernet2/0/39\u201d", "in": "query", "name": "neighbor_port_desc", "schema": {"type": "string"}}, {"description": "Name supplied by the system on the interface E.g. neighbor system name E.g. \u201cKumar-Acc-SW.mist.local\u201d", "in": "query", "name": "neighbor_system_name", "schema": {"type": "string"}}, {"description": "is the POE configured not be disabled.", "in": "query", "name": "poe_disabled", "schema": {"type": "boolean"}}, {"description": "poe mode depending on class E.g. \u201c802.3at\u201d", "in": "query", "name": "poe_mode", "schema": {"type": "string"}}, {"description": "is the device attached to POE", "in": "query", "name": "poe_on", "schema": {"type": "boolean"}}, {"description": "interface name", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "interface mac address", "in": "query", "name": "port_mac", "schema": {"type": "string"}}, {"description": "Amount of power being used by the interface at the time the command is executed. Unit in watts.", "in": "query", "name": "power_draw", "schema": {"type": "number"}}, {"description": "Output packets", "in": "query", "name": "tx_pkts", "schema": {"type": "integer"}}, {"description": "Input packets", "in": "query", "name": "rx_pkts", "schema": {"type": "integer"}}, {"description": "Input bytes", "in": "query", "name": "rx_bytes", "schema": {"type": "integer"}}, {"description": "Output rate", "in": "query", "name": "tx_bps", "schema": {"type": "integer"}}, {"description": "Input rate", "in": "query", "name": "rx_bps", "schema": {"type": "integer"}}, {"description": "Multicast output packets", "in": "query", "name": "tx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast output packets", "in": "query", "name": "tx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "Multicast input packets", "in": "query", "name": "rx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast input packets", "in": "query", "name": "rx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "port speed", "in": "query", "name": "speed", "schema": {"type": "integer"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_state", "schema": {"enum": ["forwarding", "blocking", "learning", "listening", "disabled"], "type": "string"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_role", "schema": {"enum": ["designated", "backup", "alternate", "root", "root-prevented"], "type": "string"}}, {"description": "if `up`==`true` && has Authenticator role", "in": "query", "name": "auth_state", "schema": {"enum": ["init", "authenticated", "authenticating", "held"], "type": "string"}}, {"description": "indicates if interface is up", "in": "query", "name": "up", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "switches": {"paths": {"metrics": {"specs": {"get": {"description": "Get version compliance metrics for managed or monitored switches\n", "operationId": "getSiteSwitchesMetrics", "parameters": [{"in": "query", "name": "type", "schema": {"enum": ["active_ports_summary"], "type": "string"}}, {"in": "query", "name": "scope", "schema": {"enum": ["site", "switch"], "type": "string"}}, {"description": "switch mac, used only with metric `type`==`active_ports_summary`", "in": "query", "name": "switch_mac", "schema": {"type": "string"}}], "tags": ["Sites Devices - Wired"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "wxrules": {"specs": {"get": {"description": "Get Wxlan Rule usage", "operationId": "getSiteWxRulesUsage", "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "zones": {"specs": {"get": {"description": "Get List of Site Zones Stats", "operationId": "listSiteZonesStats", "parameters": [{"example": "00000000-0000-0000-0000-000000000000", "in": "query", "name": "map_id", "schema": {"type": "string"}}], "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "{zone_type}": {"paths": {"{zone_id}": {"specs": {"get": {"description": "Get Detail Zone Stats", "operationId": "getSiteZoneStats", "tags": ["Sites Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/zone_type"}, {"$ref": "#/components/parameters/zone_id"}]}}}}}}, "subscriptions": {"specs": {"delete": {"description": "Unsubscribe to Site Alarms", "operationId": "UnsubscribeSiteAlarms", "tags": ["Sites Subscriptions"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Subscribe to Site Alarms", "operationId": "SubscribeSiteAlarms", "tags": ["Sites Subscriptions"]}}}, "synthetic_test": {"specs": {"get": {"description": "Get Synthetic Testing Status", "operationId": "getSiteSyntheticTestStatus", "tags": ["Sites Synthetic Tests"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Trigger Synthetic Testing", "operationId": "triggerSiteSyntheticTest", "tags": ["Sites Synthetic Tests"]}}}, "uisettings": {"specs": {"get": {"description": "Site UI settings", "operationId": "listSiteUiSettings", "tags": ["Sites UI Settings"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Site UI settings", "operationId": "createSiteUiSettings", "tags": ["Sites UI Settings"]}}, "paths": {"derived": {"specs": {"get": {"description": "Get both site UI settings(for_site=true) and org UI settings (for_site=false)", "operationId": "getSiteUiSettingDerived", "tags": ["Sites UI Settings"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "{uisetting_id}": {"specs": {"delete": {"description": "Site UI settings", "operationId": "deleteSiteUiSetting", "tags": ["Sites UI Settings"]}, "get": {"description": "Site UI settings", "operationId": "getSiteUiSetting", "tags": ["Sites UI Settings"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/uisetting_id"}], "post": {"description": "Site UI settings", "operationId": "updateSiteUiSetting", "tags": ["Sites UI Settings"]}}}}}, "vbeacons": {"specs": {"get": {"description": "Get List of Site Virtual Beacons", "operationId": "listSiteVBeacons", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites vBeacons"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Virtual Beacon", "operationId": "createSiteVBeacon", "tags": ["Sites vBeacons"]}}, "paths": {"{vbeacon_id}": {"specs": {"delete": {"description": "Delete Site Virtual Beacon", "operationId": "deleteSiteVBeacon", "tags": ["Sites vBeacons"]}, "get": {"description": "Get Site Virtual Beacon Details", "operationId": "getSiteVBeacon", "tags": ["Sites vBeacons"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/vbeacon_id"}], "put": {"description": "Update Site Virtual Beacon", "operationId": "updateSiteVBeacon", "tags": ["Sites vBeacons"]}}}}}, "vpns": {"paths": {"derived": {"specs": {"get": {"description": "VPN object represents an overlay network where gateways can participate in and optionally expose routes to.", "operationId": "listSiteVpnsDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"default": false, "type": "boolean"}}], "tags": ["Sites VPNs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "wan_client": {"paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Site WAN Client-Events\n", "operationId": "countSiteWanClientEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "type", "enum": ["type", "hostname", "ip", "mfg", "mac"], "type": "string"}}], "tags": ["Sites Clients - Wan"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}}}, "wan_clients": {"paths": {"count": {"specs": {"get": {"description": "Count Site WAN Clients", "operationId": "countSiteWanClients", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "mac", "enum": ["hostname", "ip", "mfg", "mac"], "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Sites Clients - Wan"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "events": {"paths": {"search": {"specs": {"get": {"description": "Search Site WAN Client Events", "operationId": "searchSiteWanClientEvents", "parameters": [{"description": "Event type, e.g. CLIENT_IP_ASSIGNED, CLIENT_IP_RENEWED, CLIENT_IP_EXPIRED", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "partial / full MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "client IP", "in": "query", "name": "ip", "schema": {"type": "string"}}, {"description": "Manufacture", "in": "query", "name": "mfg", "schema": {"type": "string"}}, {"description": "nacrule_id", "in": "query", "name": "nacrule_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Sites Clients - Wan"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "search": {"specs": {"get": {"description": "Search Site WAN Clients", "operationId": "searchSiteWanClients", "parameters": [{"description": "partial / full MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "client IP", "in": "query", "name": "ip", "schema": {"type": "string"}}, {"description": "Manufacture", "in": "query", "name": "mfg", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Sites Clients - Wan"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "webhooks": {"specs": {"get": {"description": "Get List of Site Webhooks", "operationId": "listSiteWebhooks", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Webhooks"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Webhook defines a webhook, modeled after [github\u2019s model](https://developer.github.com/webhooks/).\n\nThere is two types of webhooks:\n* webhooks ([examples](https://www.postman.com/juniper-mist/workspace/mist-systems-s-public-workspace/folder/224925-be01e694-7253-4195-8563-78e2a745e114))\n* raw data webhooks ([examples](https://www.postman.com/juniper-mist/workspace/mist-systems-s-public-workspace/folder/224925-e2d5d5f8-4bdb-4efc-93e4-90f4b33d0b2b))\n\n##### Webhooks\nWebhooks can be configured at the org level (subset of topics only) and at the site level. It is possible to have multiple topics in the same webhook configuration and/or to have multiple webhooks configured at the same time.\n\n##### Client Raw Data Webhooks\nRaw data webhooks are a special subset of webhooks that provide insight into raw data packets emitted by a client, identified by their advertising MAC address (assets, discovered ble, connected wifi, unconnected wifi). The data that client raw data webhooks encompasses are reporting AP information, RSSI Data, and any special packets/telemetry packets that the client may emit. Note that client raw webhooks are the raw data coming from the client and do not contain the X,Y location data of the client. In order to get the location data for a client please see our location webhooks. Clients can be identified uniquely across these client raw data topics and location webhook topic using MAC address as the Unique identifier (client identifier).\n\n###### Client Raw Data Webhooks Topics\nTopics that correspond to client raw data for different client types. \n* `asset-raw-rssi` - Raw data from packets emitted by named and filtered assets \n* `discovered-raw-rssi` - Raw data from packets emitted by passive BLE devices \n* `wifi-conn-raw` - Raw data from packets emitted by connected devices \n* `wifi-unconn-raw` - Raw data from packets emitted by unconnected devices (passive)\n\n###### Rules for configuring client raw data webhooks\n1. Only one instance of a webhook object containing a client raw data webhook topic is allowed. (a site level entry will override an org level entry for the client raw data webhook topic in question)\n2. Only one client raw data webhook topic is allowed per `http-post` message to webhooks api\n", "operationId": "createSiteWebhook", "tags": ["Sites Webhooks"]}}, "paths": {"{webhook_id}": {"specs": {"delete": {"description": "Delete Site Webhook", "operationId": "deleteSiteWebhook", "tags": ["Sites Webhooks"]}, "get": {"description": "Get Site Webhook Details", "operationId": "getSiteWebhook", "tags": ["Sites Webhooks"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/webhook_id"}], "put": {"description": "Update Site Webhook", "operationId": "updateSiteWebhook", "tags": ["Sites Webhooks"]}}, "paths": {"events": {"paths": {"search": {"specs": {"get": {"description": "Search webhooks deliveries\n\nTo get a list of webhook deliveries in error, use the query parameter `?error=*`", "operationId": "searchSiteWebhooksDeliveries", "parameters": [{"in": "query", "name": "status_code", "schema": {"type": "integer"}}, {"in": "query", "name": "error", "schema": {"type": "string"}}, {"description": "webhook topic", "in": "query", "name": "topic", "schema": {"enum": ["alarms", "audits", "device-updowns", "occupancy-alerts", "ping"], "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Webhooks"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/webhook_id"}]}}}}, "ping": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/webhook_id"}], "post": {"description": "send a Ping event to the webhook", "operationId": "pingSiteWebhook", "tags": ["Sites Webhooks"]}}}}}}}, "wired_clients": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Clients", "operationId": "countSiteWiredClients", "parameters": [{"in": "query", "name": "distinct", "schema": {"default": "mac", "enum": ["port_id", "vlan", "mac"], "type": "string"}}, {"description": "client mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "device mac", "in": "query", "name": "device_mac", "schema": {"type": "string"}}, {"description": "port id", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "vlan", "in": "query", "name": "vlan", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wired"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Wired Clients", "operationId": "searchSiteWiredClients", "parameters": [{"description": "device mac", "in": "query", "name": "device_mac", "schema": {"type": "string"}}, {"description": "client mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "client ip", "in": "query", "name": "ip", "schema": {"type": "string"}}, {"description": "port id", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "vlan", "in": "query", "name": "vlan", "schema": {"type": "string"}}, {"description": "manufacture", "in": "query", "name": "manufacture", "schema": {"type": "string"}}, {"description": "single entry of hostname/mac", "in": "query", "name": "text", "schema": {"type": "string"}}, {"description": "nacrule_id", "in": "query", "name": "nacrule_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wired"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "wlans": {"specs": {"get": {"description": "Get List of Site WLANs", "operationId": "listSiteWlans", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Wlans"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site WLAN", "operationId": "createSiteWlan", "tags": ["Sites Wlans"]}}, "paths": {"derived": {"specs": {"get": {"description": "Get Wlans Derived", "operationId": "listSiteWlanDerived", "parameters": [{"description": "whether to resolve SITE_VARS", "example": true, "in": "query", "name": "resolve", "schema": {"default": false, "type": "boolean"}}, {"description": "filter by WLAN ID", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}], "tags": ["Sites Wlans"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "{wlan_id}": {"specs": {"delete": {"description": "Delete Site WLAN", "operationId": "deleteSiteWlan", "tags": ["Sites Wlans"]}, "get": {"description": "Get Site WLAN", "operationId": "getSiteWlan", "tags": ["Sites Wlans"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/wlan_id"}], "put": {"description": "Update Site WLAN", "operationId": "updateSiteWlan", "tags": ["Sites Wlans"]}}, "paths": {"portal_image": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/wlan_id"}], "post": {"description": "Wlan Portal Image Upload", "operationId": "uploadSiteWlanPortalImage", "tags": ["Sites Wlans"]}}}, "portal_template": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/wlan_id"}], "put": {"description": "Update a Portal Template\n\n#### Sponsor Email Template\nSponsor Email Template supports following template variables:\n\n| **Name** | **Description** |\n| --- | --- |\n| approve_url | Renders URL to approve the request; optionally &minutes=N query param can be appended to change the Authorization period of the guest, where N is a valid integer denoting number of minutes a guest remains authorized |\n| deny_url | Renders URL to reject the request |\n| guest_email | Renders Email ID of the guest |\n| guest_name | Renders Name of the guest |\n| field1 | Renders value of the Custom Field 1 |\n| field2 | Renders value of the Custom Field 2 |\n| company | Renders value of the Company field |\n| sponsor_link_validity_duration | Renders validity time of the request (i.e. Approve/Deny URL) |\n| auth_expire_minutes | Renders Wlan-level configured Guest Authorization Expiration time period (in minutes), If not configured then default (1 day in minutes) |", "operationId": "updateSiteWlanPortalTemplate", "tags": ["Sites Wlans"]}}}}}}}, "wxrules": {"specs": {"get": {"description": "Get List of Site WxLan Rules", "operationId": "listSiteWxRules", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites WxRules"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site WxLan Rule", "operationId": "createSiteWxRule", "tags": ["Sites WxRules"]}}, "paths": {"derived": {"specs": {"get": {"description": "Get Site WxLan Rule Derived", "operationId": "getSiteWxRulesDerived", "tags": ["Sites WxRules"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "{wxrules_id}": {"specs": {"delete": {"description": "Delete Site WxLan Rule", "operationId": "deleteSiteWxRule", "tags": ["Sites WxRules"]}, "get": {"description": "Get Site WxLan Rule Details", "operationId": "getSiteWxRule", "tags": ["Sites WxRules"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/wxrules_id"}], "put": {"description": "Update Site WxLan Rule", "operationId": "updateSiteWxRule", "tags": ["Sites WxRules"]}}}}}, "wxtags": {"specs": {"get": {"description": "Get List of Site WxTags", "operationId": "listSiteWxTags", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites WxTags"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site WxTag", "operationId": "createSiteWxTag", "tags": ["Sites WxTags"]}}, "paths": {"apps": {"specs": {"get": {"description": "Get Application List", "operationId": "getSiteApplicationList", "tags": ["Sites WxTags"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "{wxtag_id}": {"specs": {"delete": {"description": "Delete Site WxTag", "operationId": "deleteSiteWxTag", "tags": ["Sites WxTags"]}, "get": {"description": "Get Site WxTag Details", "operationId": "getSiteWxTag", "tags": ["Sites WxTags"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/wxtag_id"}], "put": {"description": "Update Site WxTag", "operationId": "updateSiteWxTag", "tags": ["Sites WxTags"]}}, "paths": {"clients": {"specs": {"get": {"description": "Get Current Matching Clients of a WXLAN Tag", "operationId": "getSiteCurrentMatchingClientsOfAWxTag", "tags": ["Sites WxTags"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/wxtag_id"}]}}}}}}, "wxtunnels": {"specs": {"get": {"description": "Get List of Site WxLan Tunnels", "operationId": "listSiteWxTunnels", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites WxTunnels"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site WxLan Tunnel", "operationId": "createSiteWxTunnel", "tags": ["Sites WxTunnels"]}}, "paths": {"{wxtunnel_id}": {"specs": {"delete": {"description": "Delete Site WxLan Tunnel", "operationId": "deleteSiteWxTunnel", "tags": ["Sites WxTunnels"]}, "get": {"description": "Get Site WxLan tunnel Details", "operationId": "getSiteWxTunnel", "tags": ["Sites WxTunnels"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/wxtunnel_id"}], "put": {"description": "Update Site WxLan Tunnel", "operationId": "updateSiteWxTunnel", "tags": ["Sites WxTunnels"]}}}}}, "zones": {"specs": {"get": {"description": "Get List of Site Zones", "operationId": "listSiteZones", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Zones"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site Zone ", "operationId": "createSiteZone", "tags": ["Sites Zones"]}}, "paths": {"{zone_id}": {"specs": {"delete": {"description": "Delete Site Zone", "operationId": "deleteSiteZone", "tags": ["Sites Zones"]}, "get": {"description": "Get Site Zone Details", "operationId": "getSiteZone", "tags": ["Sites Zones"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/zone_id"}], "put": {"description": "Update Site Zone", "operationId": "updateSiteZone", "tags": ["Sites Zones"]}}}}}, "{zone_type}": {"paths": {"count": {"specs": {"get": {"description": "Count Site Zone Sessions", "operationId": "countSiteZoneSessions", "parameters": [{"example": "scope_id", "in": "query", "name": "distinct", "schema": {"default": "scope_id", "enum": ["user_type", "user", "scope_id", "scope"], "type": "string"}}, {"description": "user type", "in": "query", "name": "user_type", "schema": {"default": "client", "enum": ["client", "sdkclient", "asset"], "type": "string"}}, {"description": "client MAC / Asset MAC / SDK UUID", "in": "query", "name": "user", "schema": {"type": "string"}}, {"description": "if `scope`==`map`/`zone`/`rssizone`, the scope id", "in": "query", "name": "scope_id", "schema": {"type": "string"}}, {"description": "scope", "in": "query", "name": "scope", "schema": {"default": "site", "enum": ["site", "map", "zone", "rssizone"], "type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Zones"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/zone_type"}]}}, "visits": {"paths": {"search": {"specs": {"get": {"description": "Search Zone Sessions", "operationId": "searchSiteZoneSessions", "parameters": [{"description": "user type, client (default) / sdkclient / asset", "in": "query", "name": "user_type", "schema": {"default": "client", "enum": ["client", "sdkclient", "asset"], "type": "string"}}, {"description": "client MAC / Asset MAC / SDK UUID", "in": "query", "name": "user", "schema": {"type": "string"}}, {"description": "if `scope`==`map`/`zone`/`rssizone`, the scope id", "in": "query", "name": "scope_id", "schema": {"type": "string"}}, {"description": "scope", "in": "query", "name": "scope", "schema": {"default": "site", "enum": ["site", "map", "zone", "rssizone"], "type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Zones"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/zone_type"}]}}}}}}}}}}, "utils": {"paths": {"test_telstra": {"specs": {"post": {"description": "Allows validation of Telstra sms gateway credentials.\n\nIn case of success, a text message confirming successful setup should be received. In case of error, telstra error message are returned.", "operationId": "testSiteWlanTelstraSetup", "tags": ["Sites Wlans"]}}}, "test_twilio": {"specs": {"post": {"description": "Allows validation of twilio setup\nIn case of success, a text message confirming successful setup should be received. In case of error, twilio error code and message are returned.", "operationId": "testSiteWlanTwilioSetup", "tags": ["Sites Wlans"]}}}}}}}}}, "webhook_example": {"paths": {"_alarm_": {"specs": {"parameters": [], "post": {"description": "Webhook sample for `alarm` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "alarms", "tags": ["Webhook Samples"]}}}, "_asset_raw_": {"specs": {"parameters": [], "post": {"description": "Webhook sample for `asset_raw` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages\n\n**will be deprecated after 03/31/2024**", "operationId": "assetRaw", "tags": ["Webhook Samples"]}}}, "_audit_": {"specs": {"parameters": [], "post": {"description": "Webhook sample for `audit` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "audits", "tags": ["Webhook Samples"]}}}, "_client_info_": {"specs": {"parameters": [], "post": {"description": "Webhook sample for `client_info` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages\n", "operationId": "clientInfo", "tags": ["Webhook Samples"]}}}, "_client_join_": {"specs": {"parameters": [], "post": {"description": "Webhook sample for `client_join` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages\n", "operationId": "clientJoin", "tags": ["Webhook Samples"]}}}, "_client_latency_": {"specs": {"parameters": [], "post": {"description": "Webhook sample for `client-latency` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "client_latency", "tags": ["Webhook Samples"]}}}, "_client_sessions_": {"specs": {"parameters": [], "post": {"description": "Webhook sample for `client_sessions` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages\n", "operationId": "clientSessions", "tags": ["Webhook Samples"]}}}, "_device_events_": {"specs": {"parameters": [], "post": {"description": "Webhook sample for `device_events` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages\n", "operationId": "deviceEvents", "tags": ["Webhook Samples"]}}}, "_device_updowns_": {"specs": {"parameters": [], "post": {"description": "Webhook sample for `device_updowns` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages\n", "operationId": "deviceUpDown", "tags": ["Webhook Samples"]}}}, "_discovered_raw_rssi_": {"specs": {"parameters": [], "post": {"description": "Webhook sample for `discovered-raw-rssi` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages\n", "operationId": "discovered-raw-rssi", "tags": ["Webhook Samples"]}}}, "_location_": {"specs": {"parameters": [], "post": {"description": "Webhook sample for `location` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages\n", "operationId": "location", "tags": ["Webhook Samples"]}}}, "_nac_accounting_": {"specs": {"parameters": [], "post": {"description": "Webhook sample for `nac-accounting` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages\n", "operationId": "nacAccounting", "tags": ["Webhook Samples"]}}}, "_nac_events_": {"specs": {"parameters": [], "post": {"description": "Example Delivery of nac-events", "operationId": "nac-events", "tags": ["Webhook Samples"]}}}, "_occupancy_alerts_": {"specs": {"parameters": [], "post": {"description": "Webhook sample for `occupancy_alerts` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages\n", "operationId": "occupancyAlerts", "tags": ["Webhook Samples"]}}}, "_ping_": {"specs": {"parameters": [], "post": {"description": "Webhook sample for `ping` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages\n", "operationId": "ping", "tags": ["Webhook Samples"]}}}, "_sdkclient_scan_data": {"specs": {"parameters": [], "post": {"description": "Webhook sample for `sdkclient_scan_data` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages\n", "operationId": "sdkclientScanData", "tags": ["Webhook Samples"]}}}, "_site_sle_": {"specs": {"parameters": [], "post": {"description": "Webhook sample for `site-sle` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "site-sle", "tags": ["Webhook Samples"]}}}, "_zone_": {"specs": {"parameters": [], "post": {"description": "Webhook sample for `zone` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages\n", "operationId": "zone", "tags": ["Webhook Samples"]}}}}}}, "components": {"parameters": {"admin_id": {"in": "path", "name": "admin_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "alarm_id": {"in": "path", "name": "alarm_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "alarmtemplate_id": {"in": "path", "name": "alarmtemplate_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "apitoken_id": {"in": "path", "name": "apitoken_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "aptemplate_id": {"in": "path", "name": "aptemplate_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, "asset_id": {"in": "path", "name": "asset_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "assetfilter_id": {"in": "path", "name": "assetfilter_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "beacon_id": {"in": "path", "name": "beacon_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "client_mac": {"in": "path", "name": "client_mac", "required": true, "schema": {"example": "0000000000ab", "pattern": "^[0-9a-fA-F]{12}$", "type": "string"}}, "country_code": {"description": "country code, in two-character", "in": "query", "name": "country_code", "schema": {"example": "US", "pattern": "^[a-zA-Z]{2}$", "type": "string"}}, "device_id": {"in": "path", "name": "device_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "device_mac": {"in": "path", "name": "device_mac", "required": true, "schema": {"example": "0000000000ab", "pattern": "^[0-9a-fA-F]{12}$", "type": "string"}}, "deviceprofile_id": {"in": "path", "name": "deviceprofile_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "duration": {"description": "duration like 7d, 2w", "in": "query", "name": "duration", "required": false, "schema": {"default": "1d", "example": "10m", "type": "string"}}, "end": {"description": "end datetime, can be epoch or relative time like -1d, -2h; now if not specified", "in": "query", "name": "end", "schema": {"type": "integer"}}, "evpn_topology_id": {"in": "path", "name": "evpn_topology_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "fields": {"description": "list of additional fields requests, comma separeted, or `fields=*` for all of them", "in": "query", "name": "fields", "required": false, "schema": {"example": "field1,field2", "type": "string"}}, "gatewaytemplate_id": {"in": "path", "name": "gatewaytemplate_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "guest_mac": {"in": "path", "name": "guest_mac", "required": true, "schema": {"example": "0000000000ab", "pattern": "^[0-9a-fA-F]{12}$", "type": "string"}}, "idpprofile_id": {"in": "path", "name": "idpprofile_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "image_name": {"in": "path", "name": "image_name", "required": true, "schema": {"type": "string"}}, "interval": {"description": "Aggregation works by giving a time range plus interval (e.g. 1d, 1h, 10m) where aggregation function would be applied to.", "in": "query", "name": "interval", "required": false, "schema": {"example": "10m", "type": "string"}}, "invite_id": {"in": "path", "name": "invite_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "ip": {"in": "query", "name": "ip_address", "required": false, "schema": {"example": "192.168.1.1", "format": "ipv4", "type": "string"}}, "limit": {"in": "query", "name": "limit", "required": false, "schema": {"default": 100, "minimum": 0, "type": "integer"}}, "map_id": {"in": "path", "name": "map_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "metric": {"description": "see /api/v1/const/insight_metrics for available metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}, "msp_id": {"in": "path", "name": "msp_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "mxcluster_id": {"in": "path", "name": "mxcluster_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "mxedge_id": {"in": "path", "name": "mxedge_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "mxtunnel_id": {"in": "path", "name": "mxtunnel_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "naccrl_id": {"in": "path", "name": "naccrl_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, "nacrule_id": {"in": "path", "name": "nacrule_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "nactag_id": {"in": "path", "name": "nactag_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "name": {"in": "query", "name": "name", "required": false, "schema": {"default": "", "type": "string"}}, "network_id": {"in": "path", "name": "network_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "networktemplate_id": {"in": "path", "name": "networktemplate_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "org_id": {"in": "path", "name": "org_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "orggroup_id": {"in": "path", "name": "orggroup_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "page": {"in": "query", "name": "page", "required": false, "schema": {"default": 1, "minimum": 1, "type": "integer"}}, "pcap_id": {"in": "path", "name": "pcap_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, "psk_id": {"description": "PSK ID", "in": "path", "name": "psk_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "psk_id_query": {"description": "PSK ID", "in": "query", "name": "psk_id", "required": false, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "pskportal_id": {"in": "path", "name": "pskportal_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "q": {"description": "search string", "in": "query", "name": "q", "schema": {"default": "", "example": "search", "type": "string"}}, "resolution": {"in": "query", "name": "resolution", "schema": {"default": "default", "enum": ["default", "fine"], "type": "string"}}, "rfdiag_id": {"in": "path", "name": "rfdiag_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "rftemplate_id": {"in": "path", "name": "rftemplate_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "rogue_bssid": {"in": "path", "name": "rogue_bssid", "required": true, "schema": {"example": "0000000000ab", "pattern": "^[0-9a-fA-F]{12}$", "type": "string"}}, "rogue_type": {"in": "query", "name": "type", "schema": {"enum": ["honeypot", "lan", "others", "spoof"], "type": "string"}}, "rssizone_id": {"in": "path", "name": "rssizone_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "sdkclient_id": {"in": "path", "name": "sdkclient_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "sdkinvite_id": {"in": "path", "name": "sdkinvite_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "sdktemplate_id": {"in": "path", "name": "sdktemplate_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "secpolicy_id": {"in": "path", "name": "secpolicy_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "secret": {"in": "path", "name": "secret", "required": true, "schema": {"type": "string"}}, "service_id": {"in": "path", "name": "service_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "servicepolicy_id": {"in": "path", "name": "servicepolicy_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "site_id": {"in": "path", "name": "site_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "site_name": {"in": "path", "name": "site_name", "required": true, "schema": {"type": "string"}}, "sitegroup_id": {"in": "path", "name": "sitegroup_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "sitetemplate_id": {"in": "path", "name": "sitetemplate_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "sso_id": {"in": "path", "name": "sso_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "ssorole_id": {"in": "path", "name": "ssorole_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "start": {"description": "start datetime, can be epoch or relative time like -1d, -1w; -1d if not specified", "in": "query", "name": "start", "schema": {"type": "integer"}}, "template_id": {"in": "path", "name": "template_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "ticket_id": {"in": "path", "name": "ticket_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "token": {"in": "path", "name": "token", "required": true, "schema": {"type": "string"}}, "uisetting_id": {"in": "path", "name": "uisetting_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "upgrade_id": {"in": "path", "name": "upgrade_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "vbeacon_id": {"in": "path", "name": "vbeacon_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "vpn_id": {"in": "path", "name": "vpn_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "webhook_id": {"in": "path", "name": "webhook_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "wlan_id": {"in": "path", "name": "wlan_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "wxrules_id": {"in": "path", "name": "wxrules_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "wxtag_id": {"in": "path", "name": "wxtag_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "wxtunnel_id": {"in": "path", "name": "wxtunnel_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "zone_id": {"in": "path", "name": "zone_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "zone_type": {"in": "path", "name": "zone_type", "required": true, "schema": {"enum": ["zones", "rssizones"], "type": "string"}}}}} \ No newline at end of file +{"paths": {"api": {"paths": {"v1": {"paths": {"const": {"paths": {"alarm_defs": {"specs": {"get": {"description": "Get List of brief definitions of all the supported alarm types. The\nexample field contains an example payload as you would recieve in the\nalarm webhook output.\n\n\nHA cluster node names will be specified in the `node` field, if applicable.", "operationId": "listAlarmDefinitions", "tags": ["Constants Definitions"]}}}, "ap_channels": {"specs": {"get": {"description": "Get List of List of Available channels per country code", "operationId": "listApChannels", "parameters": [{"$ref": "#/components/parameters/country_code"}], "tags": ["Constants Misc"]}}}, "ap_led_status": {"specs": {"get": {"description": "Get List of AP LED definition", "operationId": "listApLedDefinition", "tags": ["Constants Definitions"]}}}, "app_categories": {"specs": {"get": {"description": "Get List of definitions of all the supported Application Categories. The example field contains an example payload as you would recieve in the alarm webhook output.", "operationId": "listAppCategoryDefinitions", "tags": ["Constants Definitions"]}}}, "app_subcategories": {"specs": {"get": {"description": "Get List of definitions of all the supported Application sub-categories. The example field contains an example payload as you would recieve in the alarm webhook output.", "operationId": "listAppSubCategoryDefinitions", "tags": ["Constants Definitions"]}}}, "applications": {"specs": {"get": {"description": "Get List of a list of applications that Juniper-Mist APs recognize", "operationId": "listApplications", "tags": ["Constants Misc"]}}}, "client_events": {"specs": {"get": {"description": "Get List of List of available Client Events", "operationId": "listClientEventsDefinitions", "tags": ["Constants Events"]}}}, "countries": {"specs": {"get": {"description": "Get List of List of available Country Codes", "operationId": "listCountryCodes", "tags": ["Constants Misc"]}}}, "default_gateway_config": {"specs": {"get": {"description": "Generate Default Gateway Config", "operationId": "getGatewayDefaultConfig", "parameters": [{"description": "model the default gateway config is intended (as the default LAN/WAN port can differ)", "in": "query", "name": "model", "required": true, "schema": {"type": "string"}}, {"description": "whether the config is intended for HA", "in": "query", "name": "ha", "schema": {"type": "string"}}], "tags": ["Constants Misc"]}}}, "device_events": {"specs": {"get": {"description": "Get list of available Device Events", "operationId": "listDeviceEventsDefinitions", "tags": ["Constants Events"]}}}, "device_models": {"specs": {"get": {"description": "Get list of AP device models for the Mist Site", "operationId": "listDeviceModels", "tags": ["Constants Models"]}}}, "gateway_applications": {"specs": {"get": {"description": "Get the full list of applications that we recognize", "operationId": "listGatewayApplications", "tags": ["Constants Misc"]}}}, "insight_metrics": {"specs": {"get": {"description": "List Insight Metrics", "operationId": "listInsightMetrics", "tags": ["Constants Misc"]}}}, "languages": {"specs": {"get": {"description": "Get List of Languages", "operationId": "listSiteLanguages", "tags": ["Constants Misc"]}}}, "license_types": {"specs": {"get": {"description": "Get License Types", "operationId": "getLicenseTypes", "tags": ["Constants Misc"]}}}, "mxedge_events": {"specs": {"get": {"description": "Get List of available MX Edge Events", "operationId": "listMxEdgeEventsDefinitions", "tags": ["Constants Events"]}}}, "mxedge_models": {"specs": {"get": {"description": "Get List of available Mx Edge models", "operationId": "listMxEdgeModels", "tags": ["Constants Models"]}}}, "nac_events": {"specs": {"get": {"description": "Get List of List of available NAC Client Events", "operationId": "listNacEventsDefinitions", "tags": ["Constants Events"]}}}, "otherdevice_events": {"specs": {"get": {"description": "Supported Events Type", "operationId": "listOtherDeviceEventsDefinitions", "tags": ["Constants Events"]}}}, "otherdevice_models": {"specs": {"get": {"description": "Supported OtherDevice Models", "operationId": "listSupportedOtherDeviceModels", "tags": ["Constants Models"]}}}, "system_events": {"specs": {"get": {"description": "Get List of List of available System Events", "operationId": "listSystemEventsDefinitions", "tags": ["Constants Events"]}}}, "traffic_types": {"specs": {"get": {"description": "Get List of identified traffic", "operationId": "listTrafficTypes", "tags": ["Constants Misc"]}}}}}, "installer": {"paths": {"orgs": {"paths": {"{org_id}": {"paths": {"alarmtemplates": {"specs": {"get": {"description": "Get List of alarm templates", "operationId": "listInstallerAlarmTemplates", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "deviceprofiles": {"specs": {"get": {"description": "Get List of Device Profiles", "operationId": "listInstallerDeviceProfiles", "parameters": [{"in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/device_type"}}], "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "devices": {"specs": {"get": {"description": "Get List of recently claimed devices", "operationId": "listInstallerListOfRenctlyClaimedDevices", "parameters": [{"description": "Device Model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "Site Name", "in": "query", "name": "site_name", "schema": {"type": "string"}}, {"description": "Site ID", "in": "query", "name": "site_id", "schema": {"format": "uuid", "type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "This mirrors `POST /api/v1/orgs/{org_id}/inventory` (see Inventory API)", "operationId": "claimInstallerDevices", "tags": ["Installer"]}}, "paths": {"{device_mac}": {"specs": {"delete": {"description": "Unassign recently claimed devices", "operationId": "unassignInstallerRecentlyClaimedDevice", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/device_mac"}], "put": {"description": "Provision or Replace a device \n\nIf replacing_mac is in the request payload, other attributes are ignored, we attempt to replace existing device (with mac replacing_mac) with the inventory device being configured. The replacement device must be in the inventory but not assigned, and the replacing_mac device must be assigned to a site, and satisfy grace period requirements. The Device replaced will become unassigned.", "operationId": "provisionInstallerDevices", "tags": ["Installer"]}}, "paths": {"locate": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/device_mac"}], "post": {"description": "Locate a Device by blinking it\u2019s LED, it\u2019s a persisted state that has to be stopped by calling Stop Locating API", "operationId": "startInstallerLocateDevice", "tags": ["Installer"]}}}, "unlocate": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/device_mac"}], "post": {"description": "Stop it", "operationId": "stopInstallerLocateDevice", "tags": ["Installer"]}}}, "{image_name}": {"specs": {"delete": {"description": "delete image", "operationId": "deleteInstallerDeviceImage", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/image_name"}, {"$ref": "#/components/parameters/device_mac"}], "post": {"description": "Add image", "operationId": "addInstallerDeviceImage", "tags": ["Installer"]}}}}}, "{fpc0_mac}": {"paths": {"vc": {"specs": {"get": {"description": "Get VC Status\n\nThe API returns a combined view of the VC status which includes topology and stats", "operationId": "getInstallerDeviceVirtualChassis", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"description": "FPC0 MAC Address", "in": "path", "name": "fpc0_mac", "required": true, "schema": {"type": "string"}}], "post": {"description": "For models (e.g. EX3400 and up) having dedicated VC ports, it is easier to form a VC by just connecting cables with the dedicated VC ports. Cloud will detect the new VC and update the inventory.\n\nIn case that the user would like to choose the dedicated switch as a VC master. Or for EX2300-C-12P and EX2300-C-12T which doesn\u2019t have dedicated VC ports, below are procedures to automate the VC creation:\n\n1. Power on the switch that is choosen as the VC master first. And the powering on the other member switches.\n2. Claim or adopt all these switches under the same organization\u2019s Inventory\n3. Assign these switches into the same Site\n4. Invoke vc command on the switch choosen to be the VC master. For EX2300-C-12P, VC ports will be created automatically.\n5. Connect the cables to the VC ports for these switches\n6. Wait for the VC to be formed. The Org\u2019s inventory will be updated for the new VC.", "operationId": "createInstallerVirtualChassis", "tags": ["Installer"]}, "put": {"description": "The VC creation and adding member switch API will update the device\u2019s virtual chassis config which is applied after VC is formed to create JUNOS pre-provisioned virtual chassis configuration.\n\n## Change to use preprovisioned VC\nTo switch the VC to use preprovisioned VC, enable preprovisioned in virtual_chassis config. Both vc_role master and backup will be matched to routing-engine role in Junos preprovisioned VC config.\n\nIn this config, fpc0 has to be the same as the mac of device_id. Use renumber if you want to replace fpc0 which involves device_id change.\n\nNotice: to configure preprovisioned VC, every member of the VC must be in the inventory.\n\n## Add new members\nFor models (e.g. EX4300 and up) having dedicated VC ports, it is easier to add new member switches into a VC by just connecting cables with the dedicated VC ports. Cloud will detect the new members and update the inventory.\n\nFor EX2300 VC, adding new members requires to follow the procedures below:\n1. Powering on the new member switches and ensuring cables are not connected to any VC ports.\n2. Claim or adopt all new member switches under the VC\u2019s organization Inventory\n3. Assign all new member switches to the same Site as the VC\n4. Invoke vc command to add switches to the VC.\n5. Connect the cables to the VC ports for these switches\n6. After a while, the Org\u2019s Inventory shows this new switches has been added into the VC.\n\n## Removing member switch\nTo remove a member switch from the VC, following the procedures below:\n\n1. Ensuring the VC is connected to the cloud first\n2. Unplug the cable from the VC port of the switch\n3. Waiting for the VC state (vc_state) of this switch is changed to not-present\n4. Invoke update_vc with remove to remove this switch from the VC\n5. The Org\u2019s Inventory shows the switch is removed.\n\nPlease notice that member ID 0 (fpc0) cannot be removed. When a VC has two switches left, unpluging the cable may result in the situation that fpc0 becomes a line card (LC). When this situation is happened, please re-plug in the cable, wait for both switches becoming present (show virtual-chassis) and then removing the cable again.\n\n## Renumber a member switch\nWhen a member switch doesn\u2019t work properly and needed to be replaced, the renumber API could be used. The following two types of renumber are supported:\n\n1. Replace a non-fpc0 member switch\n2. Replace fpc0. When fpc0 is relaced, PAPI device config and JUNOS config will be both updated.\n\nFor renumber to work, the following procedures are needed: \n1. Ensuring the VC is connected to the cloud and the state of the member switch to be replaced must be non present. \n2. Adding the new member switch to the VC \n3. Waiting for the VC state (vc_state) of this VC to be updated to API server \n4. Invoke vc with renumber to replace the new member switch from fpc X to\n\n## Perprovision VC members\nBy specifying \u201cpreprovision\u201d op, you can convert the current VC to pre-provisioned mode, update VC members as well as specify vc_ports when adding new members for device models without dedicated vc ports. Use renumber for fpc0 replacement which involves device_id change.\n\nNote: \n1. vc_ports is used for adding new members and not needed if * the device model has dedicated vc ports, or * no new member is added \n2. New VC members to be added should exist in the same Site as the VC\n\nUpdate Device\u2019s VC config can achieve similar purpose by directly modifying current virtual_chassis config. However, it cannot fulfill requests to enabling vc_ports on new members that are yet to belong to current VC.", "operationId": "updateInstallerVirtualChassisMember", "tags": ["Installer"]}}}}}}}, "rftemplates": {"specs": {"get": {"description": "Get List of RF Templates", "operationId": "listInstallerRfTemplatesNames", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "sitegroups": {"specs": {"get": {"description": "Get List of Site Groups", "operationId": "listInstallerSiteGroups", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "sites": {"specs": {"get": {"description": "Get List of Sites", "operationId": "listInstallerSites", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"{site_name}": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/site_name"}], "put": {"description": "Often the Installers are asked to assign Devices to Sites. The Sites can either be pre-created or created/modified by the Installer. If this is an update, the same grace period also applies.", "operationId": "createOrUpdateInstallerSites", "tags": ["Installer"]}}, "paths": {"maps": {"specs": {"get": {"description": "Get List of Maps", "operationId": "listInstallerMaps", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/site_name"}]}, "paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/site_name"}], "post": {"description": "Import data from files is a multipart POST which has an file, an optional json, and an optional csv, to create floorplan, assign & place ap if name or mac matches", "operationId": "importInstallerMap", "tags": ["Installer"]}}}, "{map_id}": {"specs": {"delete": {"description": "Delete Map", "operationId": "deleteInstallerMap", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/site_name"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "Create a MAP", "operationId": "createInstallerMap", "tags": ["Installer"]}, "put": {"description": "Update map", "operationId": "updateInstallerMap", "tags": ["Installer"]}}}}}}}}}}}}}, "sites": {"paths": {"{site_name}": {"paths": {"optimize": {"specs": {"get": {"description": "After installation is considered complete (APs are placed on maps, all powered up), you can trigger an optimize operation where RRM will kick in (and maybe other things in the future) before it\u2019s automatically scheduled.", "operationId": "optimizeInstallerRrm", "tags": ["Installer"]}, "parameters": [{"$ref": "#/components/parameters/site_name"}]}}}}}}}}, "invite": {"paths": {"verify": {"paths": {"{token}": {"specs": {"parameters": [{"$ref": "#/components/parameters/token"}], "post": {"description": "**Note**: another call to ```GET /api/v1/self``` is required to see the new set of privileges", "operationId": "verifyAdminInvite", "tags": ["Admins"]}}}}}}}, "login": {"specs": {"post": {"description": "Log in with email/password.\nWhen 2FA is enabled, there are two ways to login:\n1. login with two_factor token (with Google Authenticator, etc) \n2. login with email/password, generate the token, and use /login/two_factor with the token", "operationId": "login", "tags": ["Admins Login"]}}, "paths": {"lookup": {"specs": {"post": {"description": "Login Lookup", "operationId": "lookup", "tags": ["Admins Lookup"]}}}, "oauth": {"paths": {"{provider}": {"specs": {"delete": {"description": "Unlink OAuth2 Provider", "operationId": "unlinkOauth2Provider", "tags": ["Admins Login - OAuth2"]}, "get": {"description": "Obtain Authorization URL for Login", "operationId": "getOauth2AuthorizationUrlForLogin", "parameters": [{"description": "callback URL", "in": "query", "name": "forward", "schema": {"example": "http://manage.mist.com/oauth/callback.html", "type": "string"}}], "tags": ["Admins Login - OAuth2"]}, "parameters": [{"in": "path", "name": "provider", "required": true, "schema": {"description": "Oauth2 provider name", "type": "string"}}], "post": {"description": "Login via OAuth2", "operationId": "loginOauth2", "tags": ["Admins Login - OAuth2"]}}}}}, "two_factor": {"specs": {"post": {"description": "Send 2FA Code", "operationId": "twoFactor", "tags": ["Admins Login"]}}}}}, "logout": {"specs": {"post": {"description": "Logout", "operationId": "logout", "tags": ["Admins Logout"]}}}, "mobile": {"paths": {"verify": {"paths": {"{secret}": {"specs": {"parameters": [{"$ref": "#/components/parameters/secret"}], "post": {"description": "Verify secret", "operationId": "activateSdkInvite", "tags": ["Orgs SDK Invites"]}}}}}}}, "msps": {"specs": {"post": {"description": "Create MSP account", "operationId": "createMsp", "tags": ["MSPs"]}}, "paths": {"{msp_id}": {"specs": {"delete": {"description": "Deleting MSP removes the MSP and OrgGroup under the MSP as well as all privileges associated with them. It does not remove any Org or Admins", "operationId": "deleteMsp", "tags": ["MSPs"]}, "get": {"description": "Get MSP Detail", "operationId": "getMspDetails", "tags": ["MSPs"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}], "put": {"description": "Update MSP", "operationId": "updateMsp", "tags": ["MSPs"]}}, "paths": {"admins": {"specs": {"get": {"description": "Get List of MSP Admins", "operationId": "listMspAdmins", "tags": ["MSPs Admins"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}, "paths": {"{admin_id}": {"specs": {"delete": {"description": "This removes all privileges this admin has against the MSP. This goes deep all the way to the sites", "operationId": "revokeMspAdmin", "tags": ["MSPs Admins"]}, "get": {"description": "Get MSP Admins", "operationId": "getMspAdmin", "tags": ["MSPs Admins"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/admin_id"}], "put": {"description": "Update MSP Admin", "operationId": "updateMspAdmin", "tags": ["MSPs Admins"]}}}}}, "claim": {"specs": {"parameters": [{"$ref": "#/components/parameters/msp_id"}], "post": {"description": "Claim an Order by Activation Code", "operationId": "claimMspLicence", "tags": ["MSPs Licenses"]}}}, "insights": {"paths": {"{metric}": {"specs": {"get": {"description": "Get MSP SLEs (all/worst Orgs ...)", "operationId": "getMspSle", "parameters": [{"description": "see /api/v1/const/insight_metrics for more details", "in": "query", "name": "sle", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/interval"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}], "tags": ["MSPs SLEs"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/metric"}]}}}}, "inventory": {"paths": {"{device_mac}": {"specs": {"get": {"description": "Get Inventoy By device MAC address", "operationId": "getMspInventoryByMac", "tags": ["MSPs Inventory"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/device_mac"}]}}}}, "invites": {"specs": {"parameters": [{"$ref": "#/components/parameters/msp_id"}], "post": {"description": "Invite MSP Admin\n\n**Note**: An email will also be sent to the user with a link to https://manage.mist.com/verify/invite?token=:token", "operationId": "inviteMspAdmin", "tags": ["MSPs Admins"]}}, "paths": {"{invite_id}": {"specs": {"delete": {"description": "Delete admin invite", "operationId": "uninviteMspAdmin", "tags": ["MSPs Admins"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/invite_id"}], "put": {"description": "Update MSP admin invite", "operationId": "updateMspAdminInvite", "tags": ["MSPs Admins"]}}}}}, "licenses": {"specs": {"get": {"description": "Get List of Msp Licenses", "operationId": "listMspLicenses", "tags": ["MSPs Licenses"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}], "put": {"description": "Move or Delete MSP Licenses", "operationId": "moveOrDeleteMspLicenseToAnotherOrg", "tags": ["MSPs Licenses"]}}}, "logo": {"specs": {"delete": {"description": "Delete MSP Logo", "operationId": "deleteMspLogo", "tags": ["MSPs Logo"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}], "post": {"description": "Upload Logo (only for advanced msp tier)", "operationId": "postMspLogo", "tags": ["MSPs Logo"]}}}, "logs": {"specs": {"get": {"description": "Get list of change logs for the current MSP", "operationId": "listMspAuditLogs", "parameters": [{"description": "site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "admin name or email", "in": "query", "name": "admin_name", "schema": {"type": "string"}}, {"description": "message", "in": "query", "name": "message", "schema": {"type": "string"}}, {"description": "sort order", "in": "query", "name": "sort", "schema": {"$ref": "#/components/schemas/list_msp_logs_sort"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/duration"}], "tags": ["MSPs Logs"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}, "paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Audit Logs", "operationId": "countMspAuditLogs", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/msp_logs_count_distinct"}}], "tags": ["MSPs Logs"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}}}}, "orggroups": {"specs": {"get": {"description": "Get List of MSP Org Groups", "operationId": "listMspOrgGroups", "tags": ["MSPs Org Groups"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}], "post": {"description": "Create MSP Org Group", "operationId": "createMspOrgGroup", "tags": ["MSPs Org Groups"]}}, "paths": {"{orggroup_id}": {"specs": {"delete": {"description": "Delete MSP Org Group", "operationId": "deleteMspOrgGroup", "tags": ["MSPs Org Groups"]}, "get": {"description": "Get MSP Org Group Details", "operationId": "getMspOrgGroup", "tags": ["MSPs Org Groups"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/orggroup_id"}], "put": {"description": "Update MSP Org Group", "operationId": "updateMspOrgGroup", "tags": ["MSPs Org Groups"]}}}}}, "orgs": {"specs": {"get": {"description": "Get List of MSP Orgs", "operationId": "listMspOrgs", "tags": ["MSPs Orgs"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}], "post": {"description": "Create an Org under MSP", "operationId": "createMspOrg", "tags": ["MSPs Orgs"]}, "put": {"description": "Assign or Unassign Orgs to an MSP account", "operationId": "manageMspOrgs", "tags": ["MSPs Orgs"]}}, "paths": {"search": {"specs": {"get": {"description": "Search Org in MSP", "operationId": "searchMspOrgs", "parameters": [{"$ref": "#/components/parameters/name"}, {"description": "org id", "in": "query", "name": "org_id", "schema": {"format": "uuid", "type": "string"}}, {"description": "if this org has sufficient subscription", "in": "query", "name": "sub_insufficient", "schema": {"type": "boolean"}}, {"description": "if this org is under trial period", "in": "query", "name": "trial_enabled", "schema": {"type": "boolean"}}, {"description": "a list of types that enabled by usage", "in": "query", "name": "usage_types", "schema": {"$ref": "#/components/schemas/strings"}}, {"$ref": "#/components/parameters/limit"}], "tags": ["MSPs Orgs"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}}, "{org_id}": {"specs": {"delete": {"description": "delete MSP Org", "operationId": "deleteMspOrg", "tags": ["MSPs Orgs"]}, "get": {"description": "Get MSP Org Details", "operationId": "getMspOrg", "tags": ["MSPs Orgs"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/org_id"}], "put": {"description": "Update MSP Org", "operationId": "updateMspOrg", "tags": ["MSPs Orgs"]}}}}}, "search": {"specs": {"get": {"description": "Search in MSP Orgs", "operationId": "searchMspOrgGroup", "parameters": [{"description": "orgs", "example": "orgs", "in": "query", "name": "type", "required": true, "schema": {"$ref": "#/components/schemas/msp_search_type"}}, {"$ref": "#/components/parameters/q"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["MSPs"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}}, "ssoroles": {"specs": {"get": {"description": "Get List of MSP SSO Roles", "operationId": "listMspSsoRoles", "tags": ["MSPs SSO Roles"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}], "post": {"description": "Create MSP Role", "operationId": "createMspSsoRole", "tags": ["MSPs SSO Roles"]}}, "paths": {"{ssorole_id}": {"specs": {"delete": {"description": "Delete MSP SSO Roles", "operationId": "deleteMspSsoRole", "tags": ["MSPs SSO Roles"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/ssorole_id"}], "put": {"description": "Update SSO Role", "operationId": "updateMspSsoRole", "tags": ["MSPs SSO Roles"]}}}}}, "ssos": {"specs": {"get": {"description": "List MSP SSO Configs", "operationId": "listMspSsos", "tags": ["MSPs SSO"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}], "post": {"description": "Create MSP SSO profile", "operationId": "createMspSso", "tags": ["MSPs SSO"]}}, "paths": {"{sso_id}": {"specs": {"delete": {"description": "Delete MSP SSO Config", "operationId": "deleteMspSso", "tags": ["MSPs SSO"]}, "get": {"description": "Get MSP SSO Config", "operationId": "getMspSso", "tags": ["MSPs SSO"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/sso_id"}], "put": {"description": "Update MSP SSO config", "operationId": "updateMspSso", "tags": ["MSPs SSO"]}}, "paths": {"failures": {"specs": {"get": {"description": "Get List of MSP SSO Latest Failures", "operationId": "listMspSsoLatestFailures", "tags": ["MSPs SSO"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/sso_id"}]}}, "metadata": {"specs": {"get": {"description": "Get MSP SSO SAML Metadata", "operationId": "getMspSsoSamlMetadata", "tags": ["MSPs SSO"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/sso_id"}]}}, "metadata.xml": {"specs": {"get": {"description": "Download MSP SSO SAML Metadata\n\nExample of metadata.xml:\n```xml\n\n \n \n urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n \n \n Mist\n \n \n \n \n \n\n```", "operationId": "downloadMspSsoSamlMetadata", "tags": ["MSPs SSO"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}, {"$ref": "#/components/parameters/sso_id"}]}}}}}}, "stats": {"paths": {"licenses": {"specs": {"get": {"description": "Get List of MSP Licences", "operationId": "listMspOrgLicenses", "tags": ["MSPs Licenses"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}}, "orgs": {"specs": {"get": {"description": "Get List of MSP Orgs Stats", "operationId": "listMspOrgStats", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["MSPs Orgs"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}}}}, "suggestion": {"paths": {"count": {"specs": {"get": {"description": "Count Marvis actions", "operationId": "countMspsMarvisActions", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/msp_marvis_suggestions_count_distinct"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["MSPs Marvis"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}}}}, "tickets": {"specs": {"get": {"description": "Get List of Tickets of a MSP", "operationId": "listMspTickets", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["MSPs Tickets"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}, "paths": {"count": {"specs": {"get": {"description": "Count tickets", "operationId": "countMspTickets", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/msp_tickets_count_distinct"}}], "tags": ["MSPs Tickets"]}, "parameters": [{"$ref": "#/components/parameters/msp_id"}]}}}}}}}}, "orgs": {"specs": {"post": {"description": "Org admin can invite people to manage the org. Furthermore, he can dictate the level of security those accounts are. The check is enforced when the invited admin tries to \u201caccept\u201d the invitation and every time the admin tries to login", "operationId": "createOrg", "tags": ["Orgs"]}}, "paths": {"{org_id}": {"specs": {"delete": {"description": "Delete Org", "operationId": "deleteOrg", "tags": ["Orgs"]}, "get": {"description": "Get Organization information", "operationId": "getOrg", "tags": ["Orgs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "put": {"description": "Update Org", "operationId": "updateOrg", "tags": ["Orgs"]}}, "paths": {"128routers": {"paths": {"register_cmd": {"specs": {"get": {"description": "128T devices can be managed/adopted by Mist.", "operationId": "getOrg128TRegistrationCommands", "tags": ["Orgs Devices - SSR"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "admins": {"specs": {"get": {"description": "Get List of people who can manage the Site/Org under the Org", "operationId": "listOrgAdmins", "tags": ["Orgs Admins"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"{admin_id}": {"specs": {"delete": {"description": "This removes all privileges this admin has against the org", "operationId": "revokeOrgAdmin", "tags": ["Orgs Admins"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/admin_id"}], "put": {"description": "Invite Org Admin", "operationId": "updateOrgAdmin", "tags": ["Orgs Admins"]}}}}}, "alarms": {"paths": {"ack": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Ack multiple Org Alarms", "operationId": "ackOrgMultipleAlarms", "tags": ["Orgs Alarms"]}}}, "ack_all": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Ack all Org Alarms\n\n**N.B.**: Batch size for multiple alarm ack and unack has to be less or or equal to 1000.", "operationId": "ackOrgAllAlarms", "tags": ["Orgs Alarms"]}}}, "count": {"specs": {"get": {"description": "Count Org Alarms", "operationId": "countOrgAlarms", "parameters": [{"in": "query", "name": "distinct", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Alarms"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org Alarms", "operationId": "searchOrgAlarms", "parameters": [{"description": "site ID", "in": "query", "name": "site_id", "schema": {"format": "uuid", "type": "string"}}, {"description": "alarm type", "in": "query", "name": "type", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Alarms"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "unack": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Unack multiple Org Alarms", "operationId": "unackOrgMultipleAlarms", "tags": ["Orgs Alarms"]}}}, "unack_all": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Unack all Org Alarms\n\n**N.B.**: Batch size for multiple alarm ack and unack has to be less or or equal to 1000.", "operationId": "unackOrgAllArlarms", "tags": ["Orgs Alarms"]}}}, "{alarm_id}": {"paths": {"ack": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/alarm_id"}], "post": {"description": "Ack Org Alarm", "operationId": "ackOrgAlarm", "tags": ["Orgs Alarms"]}}}}}}}, "alarmtemplates": {"specs": {"get": {"description": "Get List of Org Alarm Templates", "operationId": "listOrgAlarmTemplates", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Alarm Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Available rules can be found in Orgs>Consts>getAlarmDefs\n\nThe delivery dict is only required if different from the template delivery settings.", "operationId": "createOrgAlarmTemplate", "tags": ["Orgs Alarm Templates"]}}, "paths": {"suppress": {"specs": {"delete": {"description": "Un-Suppress Suppressed Alarms", "operationId": "unsuppressOrgSuppressedAlarms", "tags": ["Orgs Alarm Templates"]}, "get": {"description": "Get List of Org Alarms Currently Suppressed", "operationId": "listOrgSuppressedAlarms", "parameters": [{"in": "query", "name": "scope", "schema": {"$ref": "#/components/schemas/suppressed_alarm_scope"}}], "tags": ["Orgs Alarm Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "In certain situations, for example, scheduled maintenance, you may want to suspend alarms to be triggered against Sites for a period of time.", "operationId": "suppressOrgAlarm", "tags": ["Orgs Alarm Templates"]}}}, "{alarmtemplate_id}": {"specs": {"delete": {"description": "Delete Org Alarm Template", "operationId": "deleteOrgAlarmTemplate", "tags": ["Orgs Alarm Templates"]}, "get": {"description": "Get Org Alarm Template Details", "operationId": "getOrgAlarmTemplate", "tags": ["Orgs Alarm Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/alarmtemplate_id"}], "put": {"description": "Update Org Alarm Template", "operationId": "updateOrgAlarmTemplate", "tags": ["Orgs Alarm Templates"]}}}}}, "apitokens": {"specs": {"get": {"description": "Get List of Org API Tokens", "operationId": "listOrgApiTokens", "tags": ["Orgs API Tokens"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org API Token\nNote that the token key is only available during creation time.", "operationId": "createOrgApiToken", "tags": ["Orgs API Tokens"]}}, "paths": {"{apitoken_id}": {"specs": {"delete": {"description": "Delete Org API Token", "operationId": "deleteOrgApiToken", "tags": ["Orgs API Tokens"]}, "get": {"description": "Get Org API Token", "operationId": "getOrgApiToken", "tags": ["Orgs API Tokens"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/apitoken_id"}], "put": {"description": "Update Org API Token", "operationId": "updateOrgApiToken", "tags": ["Orgs API Tokens"]}}}}}, "aptemplates": {"specs": {"get": {"description": "Get List of Org AP Templates", "operationId": "listOrgAptemplates", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs AP Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org AP Template", "operationId": "createOrgAptemplate", "tags": ["Orgs AP Templates"]}}, "paths": {"{aptemplate_id}": {"specs": {"delete": {"description": "Delete existing AP Template", "operationId": "deleteOrgAptemplate", "tags": ["Orgs AP Templates"]}, "get": {"description": "Get AP Template", "operationId": "getOrgAptemplate", "tags": ["Orgs AP Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/aptemplate_id"}], "put": {"description": "Update AP Template", "operationId": "updateOrgAptemplate", "tags": ["Orgs AP Templates"]}}}}}, "assetfilters": {"specs": {"get": {"description": "Get List of Org BLE asset filters. \nEach asset filter in the list operates independently. For a filter object to match an asset, all of the filter properties must match (logical \u2018AND\u2019 of each filter property). For example, the \u201cVisitor Tags\u201d filter below will match an asset when both the \u201cibeacon\\_uuid\u201d and \u201cibeacon_major\u201d properties match the asset. All non-matching assets are ignored.", "operationId": "listOrgAssetFilters", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Asset Filters"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Asset Filter\n\nCreates a single BLE asset filter for the given site. Any subset of filter properties can be included in the filter. A matching asset must meet the conditions of all given filter properties (logical \u2018AND\u2019).", "operationId": "createOrgAssetFilters", "tags": ["Orgs Asset Filters"]}}, "paths": {"{assetfilter_id}": {"specs": {"delete": {"description": "Deletes an existing BLE asset filter for the given site.", "operationId": "deleteOrgAssetFilter", "tags": ["Orgs Asset Filters"]}, "get": {"description": "Get Org Asset Filter Details", "operationId": "getOrgAssetFilter", "tags": ["Orgs Asset Filters"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/assetfilter_id"}], "put": {"description": "Updates an existing BLE asset filter for the given site.", "operationId": "updateOrgAssetFilters", "tags": ["Orgs Asset Filters"]}}}}}, "assets": {"specs": {"get": {"description": "Get List of Org Assets", "operationId": "listOrgAssets", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Assets"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Asset", "operationId": "createOrgAsset", "tags": ["Orgs Assets"]}}, "paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Impert Org Assets. \n\nIt can be done via a CSV file or a JSON payload.\n\n#### CSV File Format\n```csv\nname,mac\n\"asset_name\",5c5b53010101\n```", "operationId": "importOrgAssets", "tags": ["Orgs Assets"]}}}, "{asset_id}": {"specs": {"delete": {"description": "Delete Org Asset", "operationId": "deleteOrgAsset", "tags": ["Orgs Assets"]}, "get": {"description": "Get Org Asset Details", "operationId": "getOrgAsset", "tags": ["Orgs Assets"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/asset_id"}], "put": {"description": "Update Org Asset", "operationId": "updateOrgAsset", "tags": ["Orgs Assets"]}}}}}, "cert": {"specs": {"get": {"description": "Get Org Certificates", "operationId": "getOrgCertificates", "tags": ["Orgs Cert"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"regenerate": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Clear Org Certificates", "operationId": "clearOrgCertificates", "tags": ["Orgs Cert"]}}}}}, "claim": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Claim Org licenses / activation codes", "operationId": "claimOrgLicense", "tags": ["Orgs Licenses"]}}}, "clients": {"paths": {"count": {"specs": {"get": {"description": "Count Org Wireless Clients", "operationId": "countOrgWirelessClients", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_clients_count_distinct"}}, {"description": "partial / full MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "device type, e.g. Mac, Nvidia, iPhone", "in": "query", "name": "device", "schema": {"type": "string"}}, {"description": "os, e.g. Sierra, Yosemite, Windows 10", "in": "query", "name": "os", "schema": {"type": "string"}}, {"description": "model, e.g. \u201cMBP 15 late 2013\u201d, 6, 6s, \u201c8+ GSM\u201d", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "AP mac where the client has connected to", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "vlan", "in": "query", "name": "vlan", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/ip"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "events": {"paths": {"search": {"specs": {"get": {"description": "Get Org Clients Events", "operationId": "searchOrgWirelessClientEvents", "parameters": [{"$ref": "#/components/parameters/client_event_type"}, {"description": "for assoc/disassoc events", "in": "query", "name": "reason_code", "schema": {"type": "integer"}}, {"description": "SSID Name", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/dot11_proto"}, {"$ref": "#/components/parameters/dot11_band"}, {"description": "wlan_id", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"description": "nacrule_id", "in": "query", "name": "nacrule_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "search": {"specs": {"get": {"description": "Search Org Wireless Clients", "operationId": "searchOrgWirelessClients", "parameters": [{"description": "Site ID", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "partial / full MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/ip"}, {"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "device type, e.g. Mac, Nvidia, iPhone", "in": "query", "name": "device", "schema": {"type": "string"}}, {"description": "os, e.g. Sierra, Yosemite, Windows 10", "in": "query", "name": "os", "schema": {"type": "string"}}, {"description": "model, e.g. \u201cMBP 15 late 2013\u201d, 6, 6s, \u201c8+ GSM\u201d", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "AP mac where the client has connected to", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/psk_id_query"}, {"description": "PSK Name", "in": "query", "name": "psk_name", "schema": {"type": "string"}}, {"description": "vlan", "in": "query", "name": "vlan", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "partial / full MAC address, hostname, username, psk_name or ip", "in": "query", "name": "text", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "sessions": {"paths": {"count": {"specs": {"get": {"description": "Count Org Wireless Clients Sessions", "operationId": "countOrgWirelessClientsSessions", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_client_sessions_count_distinct"}}, {"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/dot11_band"}, {"description": "E.g. \u201cMac\u201d, \u201ciPhone\u201d, \u201cApple watch\u201d", "in": "query", "name": "client_family", "schema": {"type": "string"}}, {"description": "E.g. \u201cApple\u201d", "in": "query", "name": "client_manufacture", "schema": {"type": "string"}}, {"description": "E.g. \u201c8+\u201d, \u201cXS\u201d", "in": "query", "name": "client_model", "schema": {"type": "string"}}, {"description": "E.g. \u201cMojave\u201d, \u201cWindows 10\u201d, \u201cLinux\u201d", "in": "query", "name": "client_os", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "wlan_id", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org Wireless Clients Sessions", "operationId": "searchOrgWirelessClientSessions", "parameters": [{"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/dot11_band"}, {"description": "E.g. \u201cMac\u201d, \u201ciPhone\u201d, \u201cApple watch\u201d", "in": "query", "name": "client_family", "schema": {"type": "string"}}, {"description": "E.g. \u201cApple\u201d", "in": "query", "name": "client_manufacture", "schema": {"type": "string"}}, {"description": "E.g. \u201c8+\u201d, \u201cXS\u201d", "in": "query", "name": "client_model", "schema": {"type": "string"}}, {"description": "Username", "in": "query", "name": "client_username", "schema": {"type": "string"}}, {"description": "E.g. \u201cMojave\u201d, \u201cWindows 10\u201d, \u201cLinux\u201d", "in": "query", "name": "client_os", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "wlan_id", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/psk_id_query"}, {"description": "PSK Name", "in": "query", "name": "psk_name", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "{client_mac}": {"paths": {"coa": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/client_mac"}], "post": {"description": "Trigger a CoA (change of authorization) against a client", "operationId": "reauthOrgDot1xWirelessClient", "tags": ["Utilities Wi-Fi"]}}}}}}}, "clone": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create an Org by cloning from another one. Org Settings, Templates, Wxlan Tags, Wxlan Tunnels, Wxlan Rules, Org Wlans will be copied. Sites and Site Groups will not be copied, and therefore, the copied template will not be applied to any site/sitegroups.", "operationId": "cloneOrg", "tags": ["Orgs"]}}}, "crl": {"specs": {"get": {"description": "Get Org CRL File", "operationId": "getOrgCrlFile", "tags": ["Orgs CRL"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"truncate": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "By default, all certs used by recently unclaimed devices within 9 month will be included in CRL. If the list grows too big, you can truncate it", "operationId": "truncateOrgCrlFile", "tags": ["Orgs Cert"]}}}}}, "deviceprofiles": {"specs": {"get": {"description": "Get List of Org Device Profiles", "operationId": "listOrgDeviceProfiles", "parameters": [{"in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/device_type"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Device Profiles"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Device Profile", "operationId": "createOrgDeviceProfiles", "tags": ["Orgs Device Profiles"]}}, "paths": {"{deviceprofile_id}": {"specs": {"delete": {"description": "Delete Org Device Profile", "operationId": "deleteOrgDeviceProfile", "tags": ["Orgs Device Profiles"]}, "get": {"description": "Get Org device Profile Details", "operationId": "getOrgDeviceProfile", "tags": ["Orgs Device Profiles"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/deviceprofile_id"}], "put": {"description": "Update Org Device Profile", "operationId": "updateOrgDeviceProfile", "tags": ["Orgs Device Profiles"]}}, "paths": {"assign": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/deviceprofile_id"}], "post": {"description": "Assign Org Device Profile to Devices", "operationId": "assignOrgDeviceProfile", "tags": ["Orgs Device Profiles"]}}}, "unassign": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/deviceprofile_id"}], "post": {"description": "Unassign Org Device Profile from Devices", "operationId": "unassignOrgDeviceProfile", "tags": ["Orgs Device Profiles"]}}}}}}}, "devices": {"specs": {"get": {"description": "Get List of Org Devices", "operationId": "listOrgDevices", "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"count": {"specs": {"get": {"description": "Count Org Devices", "operationId": "countOrgDevices", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_devices_count_distinct"}}, {"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "AP mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "version", "in": "query", "name": "version", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/ip"}, {"description": "MxTunnel status, up / down", "in": "query", "name": "mxtunnel_status", "schema": {"$ref": "#/components/schemas/count_org_devices_mxtunnel_status"}}, {"description": "Mist Edge id, if AP is connecting to a Mist Edge", "in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"description": "LLDP system name", "in": "query", "name": "lldp_system_name", "schema": {"type": "string"}}, {"description": "LLDP system description", "in": "query", "name": "lldp_system_desc", "schema": {"type": "string"}}, {"description": "LLDP port id", "in": "query", "name": "lldp_port_id", "schema": {"type": "string"}}, {"description": "LLDP management ip address", "in": "query", "name": "lldp_mgmt_addr", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "events": {"paths": {"count": {"specs": {"get": {"description": "Count Org Devices Events", "operationId": "countOrgDeviceEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_devices_events_count_distinct"}}, {"description": "site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "AP mac", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "AP Firmware", "in": "query", "name": "apfw", "schema": {"type": "string"}}, {"description": "device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "event message", "in": "query", "name": "text", "schema": {"type": "string"}}, {"description": "event time", "in": "query", "name": "timestamp", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/device_event_type"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org Devices Events", "operationId": "searchOrgDeviceEvents", "parameters": [{"description": "device mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"in": "query", "name": "device_type", "schema": {"$ref": "#/components/schemas/device_type"}}, {"description": "event message", "in": "query", "name": "text", "schema": {"type": "string"}}, {"description": "event time", "in": "query", "name": "timestamp", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/device_event_type"}, {"description": "Return last/recent event for passed in field", "example": "port_id", "in": "query", "name": "last_by", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "last_config": {"paths": {"count": {"specs": {"get": {"description": "Counts the number of entries in device config history for distinct field with given filters", "operationId": "countOrgDeviceLastConfigs", "parameters": [{"in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/device_type"}}, {"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_devices_last_configs_count_distinct"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Device Last Configs", "operationId": "searchOrgDeviceLastConfigs", "parameters": [{"in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/device_type"}}, {"description": "Device MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Devices Name", "in": "query", "name": "name", "schema": {"type": "string"}}, {"description": "Device Version", "in": "query", "name": "version", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "radio_macs": {"specs": {"get": {"description": "For some scenarios like E911 or security systems, the BSSIDs are required to identify which AP the client is connecting to. Then the location of the AP can be used as the approximate location of the client.\n\nEach radio MAC can have 16 BSSIDs (enumerate the last octet from 0-F)", "operationId": "listOrgApsMacs", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org Devices", "operationId": "searchOrgDevices", "parameters": [{"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "AP mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "version", "in": "query", "name": "version", "schema": {"type": "string"}}, {"description": "power_constrained", "in": "query", "name": "power_constrained", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/ip"}, {"description": "MxTunnel status, up / down", "in": "query", "name": "mxtunnel_status", "schema": {"$ref": "#/components/schemas/search_org_devices_mxtunnel_status"}}, {"description": "Mist Edge id, if AP is connecting to a Mist Edge", "in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"description": "LLDP system name", "in": "query", "name": "lldp_system_name", "schema": {"type": "string"}}, {"description": "LLDP system description", "in": "query", "name": "lldp_system_desc", "schema": {"type": "string"}}, {"description": "LLDP port id", "in": "query", "name": "lldp_port_id", "schema": {"type": "string"}}, {"description": "LLDP management ip address", "in": "query", "name": "lldp_mgmt_addr", "schema": {"type": "string"}}, {"description": "Bandwith of band_24", "in": "query", "name": "band_24_bandwith", "schema": {"type": "integer"}}, {"description": "Bandwith of band_5", "in": "query", "name": "band_5_bandwith", "schema": {"type": "integer"}}, {"description": "Bandwith of band_6", "in": "query", "name": "band_6_bandwith", "schema": {"type": "integer"}}, {"description": "Channel of band_24", "in": "query", "name": "band_24_channel", "schema": {"type": "integer"}}, {"description": "Channel of band_5", "in": "query", "name": "band_5_channel", "schema": {"type": "integer"}}, {"description": "Channel of band_6", "in": "query", "name": "band_6_channel", "schema": {"type": "integer"}}, {"description": "Port speed of eth0", "in": "query", "name": "eth0_port_speed", "schema": {"type": "integer"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "upgrade": {"specs": {"get": {"description": "Get List of Org multiple devces upgrades", "operationId": "listOrgDeviceUpgrades", "tags": ["Utilities Upgrade"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Upgrade Multiple Sites (Only supported for Access Points ugprades)", "operationId": "upgradeOrgDevices", "tags": ["Utilities Upgrade"]}}, "paths": {"{upgrade_id}": {"specs": {"get": {"description": "Get Multiple Devices Upgrade", "operationId": "getOrgDeviceUpgrade", "tags": ["Utilities Upgrade"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/upgrade_id"}]}}}}}}, "events": {"paths": {"search": {"specs": {"get": {"description": "Search Org events\n\n\nSupported Event Types:\n- CRADLEPOINT_SYNC_FAILED\n- ORG_CA_CERT_ADDED\n- ORG_CA_CERT_REGENERATED", "operationId": "searchOrgEvents", "parameters": [{"description": "event type", "in": "query", "name": "type", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "evpn_topologies": {"specs": {"get": {"description": "Get List of the existing Org EVPN topologies", "operationId": "listOrgEvpnTopologies", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs EVPN Topologies"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "While all the `evpn_id` / `downlink_ips` can be specifidd by hand, the easiest way is to call the `build_vpn_topology` API, allowing you to examine the diff, and update it yourself. You can also simply call it with `overwrite=true` which will apply the updates for you.\n\n**Notes:**\n1. You can use `core` / `distribution` / `access` to create a CLOS topology\n2. You can also use `core` / `distribution` to form a 2-tier EVPN topology where ESI-Lag is configured distribution to connect to access switches\n3. In a small/medium campus, `collapsed-core` can be used where core switches are the inter-connected to do EVPN\n4. The API uses a few pre-defined parameters and best-practices to generate the configs. It can be customized by using `evpn_options` in Site Setting / Network Template. (e.g. a different subnet for the underlay)\n\n#### Collapsed Core\nIn a small-medium campus, EVPN can also be enabled only at the core switches (up to 4) by assigning all participating switches with `collapsed-core role`. When there are more than 2 switches, a ring-like topology will be formed.\n\n#### ESI-Lag\nIf the access switchess does not have EVPN support, you can take advantage of EVPN by setting up ESI-Lag on distribution switches\n\n#### Leaf / Access / Collapsed-Core\nFor leaf nodes in a EVPN topology, you\u2019d have to configure the IPs for networks that would participate in EVPN. Optionally, VRFs to isolate traffic from one tenant verus another", "operationId": "createOrgEvpnTopology", "tags": ["Orgs EVPN Topologies"]}}, "paths": {"{evpn_topology_id}": {"specs": {"delete": {"description": "Delete the Org EVPN Topology", "operationId": "deleteOrgEvpnTopology", "tags": ["Orgs EVPN Topologies"]}, "get": {"description": "Get One EVPN Topology Detail", "operationId": "getOrgEvpnTolopogy", "tags": ["Orgs EVPN Topologies"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/evpn_topology_id"}], "put": {"description": "Update the EVPN Topolgy", "operationId": "updateOrgEvpnTopology", "tags": ["Orgs EVPN Topologies"]}}}}}, "gatewaytemplates": {"specs": {"get": {"description": "Get List of Org Gateway Templates", "operationId": "listOrgGatewayTemplates", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Gateway Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Gateway Template", "operationId": "createOrgGatewayTemplate", "tags": ["Orgs Gateway Templates"]}}, "paths": {"{gatewaytemplate_id}": {"specs": {"delete": {"description": "Delete Organization Gateway Template", "operationId": "deleteOrgGatewayTemplate", "tags": ["Orgs Gateway Templates"]}, "get": {"description": "Get Organization Gateway Template details", "operationId": "getOrgGatewayTemplate", "tags": ["Orgs Gateway Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/gatewaytemplate_id"}], "put": {"description": "Update Organization Gateway Template", "operationId": "updateOrgGatewayTemplate", "tags": ["Orgs Gateway Templates"]}}}}}, "guests": {"specs": {"get": {"description": "Get List of Org Guest Authorizations", "operationId": "listOrgGuestAuthorizations", "tags": ["Orgs Guests"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"count": {"specs": {"get": {"description": "Count Org Authorized Guest", "operationId": "countOrgGuestAuthorizations", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_guests_count_distinct"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Guests"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Authorized Guest", "operationId": "searchOrgGuestAuthorization", "parameters": [{"description": "WLAN ID", "example": "00000000-0000-0000-0000-000000000000", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"description": "Authentication Methdo", "in": "query", "name": "auth_method", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Guests"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "{guest_mac}": {"specs": {"delete": {"description": "Delete Guest Authorization", "operationId": "deleteOrgGuestAuthorization", "tags": ["Orgs Guests"]}, "get": {"description": "Get Guest Authorization", "operationId": "getOrgGuestAuthorization", "tags": ["Orgs Guests"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/guest_mac"}], "put": {"description": "Update Guest Authorization", "operationId": "updateOrgGuestAuthorization", "tags": ["Orgs Guests"]}}}}}, "idpprofiles": {"specs": {"get": {"description": "get the list of Org IDP Profiles", "operationId": "listOrgIdpProfiles", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs IDP Profiles"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org IDP Profile", "operationId": "createOrgIdpProfile", "tags": ["Orgs IDP Profiles"]}}, "paths": {"{idpprofile_id}": {"specs": {"delete": {"description": "Delete Org IDP Profile", "operationId": "deleteOrgIdpProfile", "tags": ["Orgs IDP Profiles"]}, "get": {"description": "Get Org IDP Profile", "operationId": "getOrgIdpProfile", "tags": ["Orgs IDP Profiles"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/idpprofile_id"}], "put": {"description": "Update Org IDP Profile", "operationId": "updateOrgIdpProfile", "tags": ["Orgs IDP Profiles"]}}}}}, "insights": {"paths": {"sites_sle": {"specs": {"get": {"description": "Get Org Sites SLE", "operationId": "getOrgSitesSle", "parameters": [{"in": "query", "name": "sle", "schema": {"$ref": "#/components/schemas/org_site_sle_type"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/interval"}], "tags": ["Orgs SLEs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "{metric}": {"specs": {"get": {"description": "Get Org SLEs (all/worst sites, Mx Edges, ...)", "operationId": "getOrgSle", "parameters": [{"description": "see [listInsightMetrics](/#operations/listInsightMetrics) for more details", "in": "query", "name": "sle", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/interval"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}], "tags": ["Orgs SLEs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/metric"}]}}}}, "inventory": {"specs": {"get": {"description": "Get Org Inventory\n\n### VC (Virtual-Chassis) Management\nIdeally VC should be managed as a single device - where - one managed entity where config / monitoring is anchored against (with a stable identify MAC) - all members appears in the inventory\n\nIn our implementation, we strive to achieve that without manual user configurations by \n1. during claim or adoption a VC, we require FPC0 to exist and will use its MAC as identify for the entire chassis\n2. other VC members will be automatically populated when they\u2019re all present\n\nThe perceivable result is \n1. from `/sites/:site_id/stats/devices/:fpc0_mac` API, you\u2019d see the VC where module_stat contains the VC members \n2. from `/orgs/:org_id/inventory?vc=true` API, you\u2019d see all VC members with vc_mac pointing to the FPC0", "operationId": "getOrgInventory", "parameters": [{"description": "device serial", "in": "query", "name": "serial", "schema": {"type": "string"}}, {"description": "device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/device_type"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "site id if assigned, null if not assigned", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "Virtual Chassis MAC Address", "in": "query", "name": "vc_mac", "schema": {"type": "string"}}, {"description": "To display Virtual Chassis members", "in": "query", "name": "vc", "schema": {"default": false, "type": "boolean"}}, {"description": "to display Unassigned devices", "in": "query", "name": "unassigned", "schema": {"default": true, "type": "boolean"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Inventory"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Add Device to Org Inventory with the device claim codes", "operationId": "addOrgInventory", "tags": ["Orgs Inventory"]}, "put": {"description": "Update Org Inventory", "operationId": "updateOrgInventoryAssignment", "tags": ["Orgs Inventory"]}}, "paths": {"create_ha_cluster": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create HA Cluster from unassigned Gateways", "operationId": "createOrgGatewayHaCluster", "tags": ["Orgs Devices - WAN Cluster"]}}}, "delete_ha_cluster": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Delete HA Cluster\n\nAfter HA cluster deleted, both of the nodes will be unassigned.", "operationId": "deleteOrgGatewayHaCluster", "tags": ["Orgs Devices - WAN Cluster"]}}}, "reevaluate_auto_assignment": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Reevaluate Auto Assignment", "operationId": "reevaluateOrgAutoAssignment", "tags": ["Orgs Inventory"]}}}, "replace": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "It\u2019s a common request we get from the customers. When a AP HW has problem and need a replacement, they would want to copy the existing attributes (Device Config) of this old AP to the new one. It can be done by providing the MAC of a device that\u2019s currently in the inventory but not assigned. The Device replaced will become unassigned.\n\nThis API also supports replacement of Mist Edges. This API copies device agnostic attributes from old Mist edge to new one.\nMist manufactured Mist Edges will be reset to factory settings but will still be in Inventory.Brownfield or VM\u2019s will be\ndeleted from Inventory\n\n**Note:** For Gateway devices only like-for-like replacements (can only replace a SRX320 with a SRX320 and not some otehr model) are allowed.", "operationId": "replaceOrgDevices", "tags": ["Orgs Inventory"]}}}}}, "invites": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "If the request is successful, an email will also be sent to the user with a link to ```https://manage.mist.com/verify/invite?token=:token&expire=1459632743&org=OrgName```", "operationId": "inviteOrgAdmin", "tags": ["Orgs Admins"]}}, "paths": {"{invite_id}": {"specs": {"delete": {"description": "Delete Admin Invite", "operationId": "uninviteOrgAdmin", "tags": ["Orgs Admins"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/invite_id"}], "put": {"description": "Update Admin Invite", "operationId": "updateOrgAdminInvite", "tags": ["Orgs Admins"]}}}}}, "jsi": {"paths": {"devices": {"specs": {"get": {"description": "Get List of Org devices that connected to JSI", "operationId": "listOrgJsiDevices", "parameters": [{"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}, {"description": "Device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "Device serial", "in": "query", "name": "serial", "schema": {"type": "string"}}, {"description": "Device MAC Address", "in": "query", "name": "mac", "schema": {"type": "string"}}], "tags": ["Orgs JSI"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"outbound_ssh_cmd": {"specs": {"get": {"description": "Adopt JSI devices", "operationId": "adoptOrgJsiDevice", "tags": ["Orgs JSI"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "{device_mac}": {"paths": {"shell": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/device_mac"}], "post": {"description": "Create Shell Session", "operationId": "createOrgJsiDeviceShellSession", "tags": ["Orgs JSI"]}}}, "upgrade": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/device_mac"}], "post": {"description": "Upgrade", "operationId": "upgradeOrgJsiDevice", "tags": ["Utilities Upgrade"]}}}}}}}, "inventory": {"specs": {"get": {"description": "Get List of all devices purchased from the accounts associated with the Org", "operationId": "listOrgJsiPastPurchases", "parameters": [{"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}, {"in": "query", "name": "model", "schema": {"type": "string"}}, {"in": "query", "name": "serial", "schema": {"type": "string"}}], "tags": ["Orgs JSI"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "licenses": {"specs": {"get": {"description": "Get the list of licenses", "operationId": "getOrgLicencesSummary", "tags": ["Orgs Licenses"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "put": {"description": "Move, Undo Move or Delete Org License to Another Org\nIf the admin has admin privilege against the `org_id` and `dst_org_id`, he can move some of the licenses to another Org. Given that: \n1. the specified license is currently active \n2. there\u2019s enough licenses left in the specified license (by subscription_id) \n3. there will still be enough entitled licenses for the type of license after the amendment", "operationId": "moveOrDeleteOrgLicenseToAnotherOrg", "tags": ["Orgs Licenses"]}}, "paths": {"usages": {"specs": {"get": {"description": "Get Licenses Usage by Sites\nThis shows license usage (i.e. needed) based on the features enabled for the site.", "operationId": "getOrgLicencesBySite", "tags": ["Orgs Licenses"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "logs": {"specs": {"get": {"description": "Get List of change logs for the current Org", "operationId": "listOrgAuditLogs", "parameters": [{"description": "site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "admin name or email", "in": "query", "name": "admin_name", "schema": {"type": "string"}}, {"description": "message", "in": "query", "name": "message", "schema": {"type": "string"}}, {"description": "sort order", "in": "query", "name": "sort", "schema": {"$ref": "#/components/schemas/list_org_logs_sort"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Logs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Audit Logs", "operationId": "countOrgAuditLogs", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_logs_count_distinct"}}, {"in": "query", "name": "admin_id", "schema": {"type": "string"}}, {"in": "query", "name": "admin_name", "schema": {"type": "string"}}, {"in": "query", "name": "site_id", "schema": {"type": "string"}}, {"in": "query", "name": "message", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Logs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "maps": {"paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Import data from files is a multipart POST which has a file, an optional json, and an optional csv, to create floorplan, assign matching inventory to specific site, place ap if name or mac matches\n\n### CSV File Format\n```csv\nVendor AP name,Mist AP Mac\nUS Office AP-2 - 5c:5b:35:00:00:02,5c5b35000002\n```", "operationId": "importOrgMaps", "tags": ["Orgs Maps"]}}}}}, "marvisinvites": {"specs": {"get": {"description": "List Org Marvis Client Invites", "operationId": "listOrgMarvisClientInvites", "tags": ["Orgs Clients - Marvis"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Marvis Client Invites", "operationId": "createOrgMarvisClientInvites", "tags": ["Orgs Clients - Marvis"]}}, "paths": {"{marvisinvite_id}": {"specs": {"delete": {"description": "Delete Org Marvis Client Invite", "operationId": "deleteOrgMarvisClientInvite", "tags": ["Orgs Clients - Marvis"]}, "get": {"description": "Get Org Marvis Client Invite", "operationId": "getOrgMarvisClientInvites", "tags": ["Orgs Clients - Marvis"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/marvisinvite_id"}], "put": {"description": "Update Org Marvis Client Invite", "operationId": "updateOrgMarvisClientInvite", "tags": ["Orgs Clients - Marvis"]}}}}}, "mist_nac": {"paths": {"test_idp": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "IDP Credential Validation. The output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, `session` is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n``` json\n{\n \"subscribe\": \"orgs/:org_id/mist_nac/test_idp\"\n}\n\n ```\n\n### Response (no idp can be found)\n\n``` json\n{\n \"event\": \"data\",\n \"channel\": \"/orgs/:org_id/mist_nac/test_idp\",\n \"status\": \n \"data\": {\n \"status\": \"failure\",\n \"error\": \"No matching IDP found\"\n }\n}\n\n ```\n\n### Response OK\n\n``` json\n{\n \"event\": \"data\",\n \"channel\": \"/orgs/:org_id/mist_nac/test_idp\",\n \"status\": \n \"data\": {\n \"status\": \"success\",\n \"idp_id\": \"915793c0-1355-4e98-b1c0-23df2227b357\",\n \"idp_type\": \"ldap\",\n // more attributes will be added later\n }\n}\n\n ```\n\n### Response Invalid Credentials\n\n``` json\n{\n \"event\": \"data\",\n \"channel\": \"/orgs/:org_id/mist_nac/test_idp\",\n \"status\": \n \"data\": {\n \"status\": \"failure\",\n \"error\": \"Invalid Credentials\",\n \"idp_id\": \"915793c0-1355-4e98-b1c0-23df2227b357\",\n \"idp_type\": \"ldap\",\n }\n}\n\n ```", "operationId": "validateOrgIdpCredential", "tags": ["Orgs NAC IDP"]}}}}}, "mxclusters": {"specs": {"get": {"description": "Get List of Org MxEdge Clusters", "operationId": "listOrgMxEdgeClusters", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs MxClusters"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create MxCluster", "operationId": "createOrgMxEdgeCluster", "tags": ["Orgs MxClusters"]}}, "paths": {"{mxcluster_id}": {"specs": {"delete": {"description": "Delete Org MXEdge Cluster", "operationId": "deleteOrgMxEdgeCluster", "tags": ["Orgs MxClusters"]}, "get": {"description": "Get Org MxEdge Cluster Details", "operationId": "getOrgMxEdgeCluster", "tags": ["Orgs MxClusters"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxcluster_id"}], "put": {"description": "Update Org MxEdge Cluster", "operationId": "updateOrgMxEdgeCluster", "tags": ["Orgs MxClusters"]}}}}}, "mxedges": {"specs": {"get": {"description": "Get List of Org MxEdges", "operationId": "listOrgMxEdges", "parameters": [{"description": "filter for site level mist edges", "in": "query", "name": "for_sites", "schema": {"$ref": "#/components/schemas/mxedge_for_site"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create MxEdge", "operationId": "createOrgMxEdge", "tags": ["Orgs MxEdges"]}}, "paths": {"assign": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Assign Org MxEdge to Site", "operationId": "assignOrgMxEdgeToSite", "tags": ["Orgs MxEdges"]}}}, "claim": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "For a Mist Edge in default state, it will show a random claim code like `135-546-673` which you can \u201cclaim\u201d it into your Org", "operationId": "claimOrgMxEdge", "tags": ["Orgs MxEdges"]}}}, "count": {"specs": {"get": {"description": "Count Org Mist Edges", "operationId": "countOrgMxEdges", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_mxedge_count_distinct"}}, {"description": "mist edge id", "in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"description": "mist edge site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "mist edge cluster id", "in": "query", "name": "mxcluster_id", "schema": {"type": "string"}}, {"description": "model name", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "debian code name(buster, bullseye)", "in": "query", "name": "distro", "schema": {"type": "string"}}, {"description": "tunterm version", "in": "query", "name": "tunterm_version", "schema": {"type": "string"}}, {"description": "sort options, -prefix represents DESC order, default is -last_seen", "in": "query", "name": "sort", "schema": {"type": "string"}}, {"description": "whether to return device stats, default is false", "in": "query", "name": "stats", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "events": {"paths": {"count": {"specs": {"get": {"description": "Count Org Mist Edge Events", "operationId": "countOrgSiteMxEdgeEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_mxedge_events_count_distinct"}}, {"description": "mist edge id", "in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"description": "mist edge cluster id", "in": "query", "name": "mxcluster_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/mxedge_event_type"}, {"description": "service running on mist edge(mxagent, tunterm etc)", "in": "query", "name": "service", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org Mist Edge Events", "operationId": "searchOrgMistEdgeEvents", "parameters": [{"description": "mist edge id", "in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"description": "mist edge cluster id", "in": "query", "name": "mxcluster_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/mxedge_event_type"}, {"description": "service running on mist edge(mxagent, tunterm etc)", "in": "query", "name": "service", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "search": {"specs": {"get": {"description": "Search Org Mist Edges", "operationId": "searchOrgMxEdges", "parameters": [{"description": "mist edge id", "in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"description": "mist edge site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "mist edge cluster id", "in": "query", "name": "mxcluster_id", "schema": {"type": "string"}}, {"description": "model name", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "debian code name(buster, bullseye)", "in": "query", "name": "distro", "schema": {"type": "string"}}, {"description": "tunterm version", "in": "query", "name": "tunterm_version", "schema": {"type": "string"}}, {"description": "sort options, -prefix represents DESC order, default is -last_seen", "in": "query", "name": "sort", "schema": {"type": "string"}}, {"description": "whether to return device stats, default is false", "in": "query", "name": "stats", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "unassign": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Unassign Org MxEdge from Site", "operationId": "unassignOrgMxEdgeFromSite", "tags": ["Orgs MxEdges"]}}}, "upgrade": {"specs": {"get": {"description": "Get List of Org Mist Edge Upgrades", "operationId": "listOrgMxEdgeUpgrades", "tags": ["Utilities Upgrade"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Upgrade Mist Edges", "operationId": "upgradeOrgMxEdges", "tags": ["Utilities Upgrade"]}}, "paths": {"{upgrade_id}": {"specs": {"get": {"description": "Get Mist Edge Upgrade", "operationId": "getOrgMxEdgeUpgrade", "tags": ["Utilities Upgrade"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/upgrade_id"}]}}}}, "version": {"specs": {"get": {"description": "Get Mist Edge Upgrade Information", "operationId": "getOrgMxEdgeUpgradeInfo", "parameters": [{"description": "upgrade channel to follow, stable (default) / beta / alpha", "in": "query", "name": "channel", "schema": {"$ref": "#/components/schemas/get_org_mxedge_upgrade_info_channel"}}], "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "{mxedge_id}": {"specs": {"delete": {"description": "Delete Org MxEdge", "operationId": "deleteOrgMxEdge", "tags": ["Orgs MxEdges"]}, "get": {"description": "Get Org MxEdge details", "operationId": "getOrgMxEdge", "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxedge_id"}], "put": {"description": "Update Org MxEdge", "operationId": "updateOrgMxEdge", "tags": ["Orgs MxEdges"]}}, "paths": {"image": {"paths": {"{image_number}": {"specs": {"delete": {"description": "Remove MxEdge Image", "operationId": "deleteOrgMxEdgeImage", "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxedge_id"}, {"in": "path", "name": "image_number", "required": true, "schema": {"maximum": 3, "minimum": 1, "type": "integer"}}], "post": {"description": "Attach up to 3 images to a mxedge", "operationId": "addOrgMxEdgeImage", "tags": ["Orgs MxEdges"]}}}}}, "restart": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxedge_id"}], "post": {"description": "In the case where a Mist Edge is replaced, you would need to unregister it. Which disconnects the currently the connected Mist Edge and allow another to register.", "operationId": "restartOrgMxEdge", "tags": ["Orgs MxEdges"]}}}, "services": {"paths": {"tunterm": {"paths": {"bounce_port": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxedge_id"}], "post": {"description": "Bounce TunTerm Data Ports", "operationId": "bounceOrgMxEdgeDataPorts", "parameters": [], "tags": ["Orgs MxEdges"]}}}}}, "{name}": {"paths": {"{action}": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxedge_id"}, {"in": "path", "name": "name", "required": true, "schema": {"$ref": "#/components/schemas/mxedge_service_name"}}, {"description": "restart or start or stop", "in": "path", "name": "action", "required": true, "schema": {"$ref": "#/components/schemas/mxedge_service_action"}}], "post": {"description": "Control Services on a Mist Edge", "operationId": "controlOrgMxEdgeServices", "tags": ["Orgs MxEdges"]}}}}}}}, "support": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxedge_id"}], "post": {"description": "Support / Upload Mist Edge support files", "operationId": "uploadOrgMxEdgeSupportFiles", "tags": ["Orgs MxEdges"]}}}, "unregister": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxedge_id"}], "post": {"description": "In the case where a Mist Edge is replaced, you would need to unregister it. Which disconnects the currently the connected Mist Edge and allow another to register.", "operationId": "unregisterOrgMxEdge", "tags": ["Orgs MxEdges"]}}}}}}}, "mxtunnels": {"specs": {"get": {"description": "Get List of Org MxTunnels", "operationId": "listOrgMxTunnels", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs MxTunnels"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create MxTunnel", "operationId": "createOrgMxTunnel", "tags": ["Orgs MxTunnels"]}}, "paths": {"{mxtunnel_id}": {"specs": {"delete": {"description": "Delete Org MxTunnel", "operationId": "deleteOrgMxTunnel", "tags": ["Orgs MxTunnels"]}, "get": {"description": "Get Org MxTunnel Details", "operationId": "getOrgMxTunnel", "tags": ["Orgs MxTunnels"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxtunnel_id"}], "put": {"description": "Update Org MxTunnel", "operationId": "updateOrgMxTunnel", "tags": ["Orgs MxTunnels"]}}}}}, "nac_clients": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of NAC Clients", "operationId": "countOrgNacClients", "parameters": [{"description": "NAC Policy Rule ID, if matched", "in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_nac_clients_count_distinct"}}, {"description": "NAC Policy Rule ID, if matched", "in": "query", "name": "last_nacrule_id", "schema": {"type": "string"}}, {"description": "NAC Policy Rule Matched", "in": "query", "name": "nacrule_matched", "schema": {"type": "boolean"}}, {"description": "authentication type, e.g. \u201ceap-tls\u201d, \u201ceap-ttls\u201d, \u201ceap-teap\u201d, \u201cmab\u201d, \u201cdevice-auth\u201d", "in": "query", "name": "auth_type", "schema": {"type": "string"}}, {"description": "Vlan ID", "in": "query", "name": "last_vlan_id", "schema": {"type": "string"}}, {"description": "vendor of NAS device", "in": "query", "name": "last_nas_vendor", "schema": {"type": "string"}}, {"description": "SSO ID, if present and used", "in": "query", "name": "idp_id", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "last_ssid", "schema": {"type": "string"}}, {"description": "Username presented by the client", "in": "query", "name": "last_username", "schema": {"type": "string"}}, {"description": "start time, in epoch", "in": "query", "name": "timestamp", "schema": {"type": "number"}}, {"description": "site id if assigned, null if not assigned", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "AP MAC connected to by client", "in": "query", "name": "last_ap", "schema": {"type": "string"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Connection status of client i.e \u201cpermitted\u201d, \u201cdenied, \u201csession_ended\u201d", "in": "query", "name": "last_status", "schema": {"type": "string"}}, {"description": "Client type i.e. \u201cwireless\u201d, \u201cwired\u201d etc.", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "MDM compliancy of client i.e \u201ccompliant\u201d, \u201cnot compliant\u201d", "in": "query", "name": "mdm_compliance_status", "schema": {"type": "string"}}, {"description": "MDM provider of client\u2019s organisation eg \u201cintune\u201d, \u201cjamf\u201d", "in": "query", "name": "mdm_provider", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Clients - NAC"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "events": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of NAC Client-Events", "operationId": "countOrgNacClientEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_nac_client_events_count_distinct"}}, {"$ref": "#/components/parameters/nac_event_type"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Clients - NAC"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search NAC Client Events", "operationId": "searchOrgNacClientEvents", "parameters": [{"$ref": "#/components/parameters/nac_event_type"}, {"description": "NAC Policy Rule ID, if matched", "in": "query", "name": "nacrule_id", "schema": {"format": "uuid", "type": "string"}}, {"description": "NAC Policy Rule Matched", "in": "query", "name": "nacrule_matched", "schema": {"type": "boolean"}}, {"description": "NAC Policy Dry Run Rule ID, if present and matched", "in": "query", "name": "dryrun_nacrule_id", "schema": {"type": "string"}}, {"description": "True - if dryrun rule present and matched with priority, False - if not matched or not present", "in": "query", "name": "dryrun_nacrule_matched", "schema": {"type": "boolean"}}, {"description": "authentication type, e.g. \u201c802.1X\u201d, \u201cMAB\u201d, \u201cDeviceAuth\u201d", "in": "query", "name": "auth_type", "schema": {"type": "string"}}, {"description": "Vlan name or ID assigned to the client", "in": "query", "name": "vlan", "schema": {"type": "integer"}}, {"description": "vendor of NAS device", "in": "query", "name": "nas_vendor", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "bssid", "schema": {"type": "string"}}, {"description": "SSO ID, if present and used", "in": "query", "name": "idp_id", "schema": {"format": "uuid", "type": "string"}}, {"description": "IDP returned roles/groups for the user", "in": "query", "name": "idp_role", "schema": {"type": "string"}}, {"description": "Radius attributes returned by NAC to NAS Devive", "in": "query", "name": "resp_attrs", "schema": {"$ref": "#/components/schemas/strings"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "Username presented by the client", "in": "query", "name": "username", "schema": {"type": "string"}}, {"description": "site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "AP random macMAC", "in": "query", "name": "random_mac", "schema": {"type": "boolean"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "start time, in epoch", "in": "query", "name": "timestamp", "schema": {"type": "number"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Clients - NAC"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "search": {"specs": {"get": {"description": "Search Org NAC Clients", "operationId": "searchOrgNacClients", "parameters": [{"description": "NAC Policy Rule ID, if matched", "in": "query", "name": "nacrule_id", "schema": {"type": "string"}}, {"description": "NAC Policy Rule Matched", "in": "query", "name": "nacrule_matched", "schema": {"type": "boolean"}}, {"description": "authentication type, e.g. \u201ceap-tls\u201d, \u201ceap-ttls\u201d, \u201ceap-teap\u201d, \u201cmab\u201d, \u201cdevice-auth\u201d", "in": "query", "name": "auth_type", "schema": {"type": "string"}}, {"description": "Vlan name or ID assigned to the client", "in": "query", "name": "vlan", "schema": {"type": "string"}}, {"description": "vendor of NAS device", "in": "query", "name": "nas_vendor", "schema": {"type": "string"}}, {"description": "SSO ID, if present and used", "in": "query", "name": "idp_id", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "Username presented by the client", "in": "query", "name": "username", "schema": {"type": "string"}}, {"description": "start time, in epoch", "in": "query", "name": "timestamp", "schema": {"type": "number"}}, {"description": "site id if assigned, null if not assigned", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "AP MAC connected to by client", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Connection status of client i.e \u201cpermitted\u201d, \u201cdenied, \u201csession_ended\u201d", "in": "query", "name": "status", "schema": {"type": "string"}}, {"description": "Client type i.e. \u201cwireless\u201d, \u201cwired\u201d etc.", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "MDM compliancy of client i.e \u201ccompliant\u201d, \u201cnot compliant\u201d", "in": "query", "name": "mdm_compliance", "schema": {"type": "string"}}, {"description": "MDM provider of client\u2019s organisation eg \u201cintune\u201d, \u201cjamf\u201d", "in": "query", "name": "mdm_provider", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Clients - NAC"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "nacportals": {"specs": {"get": {"description": "List Org NAC Portals", "operationId": "listOrgNacPortals", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs NAC Portals"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org NAC Portal", "operationId": "createOrgNacPortal", "tags": ["Orgs NAC Portals"]}}, "paths": {"{nacportal_id}": {"specs": {"delete": {"description": "Delete Org NAC Portal", "operationId": "deleteOrgNacPortal", "tags": ["Orgs NAC Portals"]}, "get": {"description": "Get Org NAC Portal", "operationId": "getOrgNacPortal", "tags": ["Orgs NAC Portals"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/nacportal_id"}], "put": {"description": "Update Org NAC Portal", "operationId": "updateOrgNacPortal", "tags": ["Orgs NAC Portals"]}}, "paths": {"failures": {"specs": {"get": {"description": "Get List of Org NAC Portal SSO Latest Failures", "operationId": "listOrgNacPortalSsoLatestFailures", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs NAC Portals"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/nacportal_id"}]}}, "saml_metadata": {"specs": {"get": {"description": "Get Org NAC Portal SSO SAML Metadata", "operationId": "getOrgNacPortalSsoSamlMetadata", "tags": ["Orgs NAC Portals"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/nacportal_id"}]}}, "saml_metadata.xml": {"specs": {"get": {"description": "Download Org NAC Portal SSO SAML Metdata\n\nExample of metadata.xml:\n```xml\n\n \n \n urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n \n \n Mist\n \n \n \n \n \n\n```", "operationId": "downloadOrgNacPortalSsoSamlMetadata", "tags": ["Orgs NAC Portals"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/nacportal_id"}]}}}}}}, "nacrules": {"specs": {"get": {"description": "Get List of Org NAC Rules", "operationId": "listOrgNacRules", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs NAC Rules"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "create Org NAC Rule", "operationId": "createOrgNacRule", "tags": ["Orgs NAC Rules"]}}, "paths": {"{nacrule_id}": {"specs": {"delete": {"description": "Delete Org NAC Rule", "operationId": "deleteOrgNacRule", "tags": ["Orgs NAC Rules"]}, "get": {"description": "Get Org NAC Rule", "operationId": "getOrgNacRule", "tags": ["Orgs NAC Rules"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/nacrule_id"}], "put": {"description": "Update Org NAC Rule", "operationId": "updateOrgNacRule", "tags": ["Orgs NAC Rules"]}}}}}, "nactags": {"specs": {"get": {"description": "Get List of Org NAC Tags", "operationId": "listOrgNacTags", "parameters": [{"description": "Type of NAC Tag", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "Name of NAC Tag", "in": "query", "name": "name", "schema": {"type": "string"}}, {"description": "Type of NAC Tag", "in": "query", "name": "match", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs NAC Tags"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org NAC Tag", "operationId": "createOrgNacTag", "tags": ["Orgs NAC Tags"]}}, "paths": {"{nactag_id}": {"specs": {"delete": {"description": "Delete Org NAC Tag", "operationId": "deleteOrgNacTag", "tags": ["Orgs NAC Tags"]}, "get": {"description": "Get Org NAC Tag", "operationId": "getOrgNacTag", "tags": ["Orgs NAC Tags"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/nactag_id"}], "put": {"description": "Update Org NAC Tag", "operationId": "updateOrgNacTag", "tags": ["Orgs NAC Tags"]}}}}}, "networks": {"specs": {"get": {"description": "Get List of Org Networks", "operationId": "listOrgNetworks", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Networks"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Organization Network", "operationId": "createOrgNetwork", "tags": ["Orgs Networks"]}}, "paths": {"{network_id}": {"specs": {"delete": {"description": "Delete Organization Network", "operationId": "deleteOrgNetwork", "tags": ["Orgs Networks"]}, "get": {"description": "Get Organization Network Details", "operationId": "getOrgNetwork", "tags": ["Orgs Networks"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/network_id"}], "put": {"description": "Update Organization Network", "operationId": "updateOrgNetwork", "tags": ["Orgs Networks"]}}}}}, "networktemplates": {"specs": {"get": {"description": "Get List of Org Network Templates", "operationId": "listOrgNetworkTemplates", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Network Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Update Org Network Templates", "operationId": "createOrgNetworkTemplate", "tags": ["Orgs Network Templates"]}}, "paths": {"{networktemplate_id}": {"specs": {"delete": {"description": "Delete Org Network Template", "operationId": "deleteOrgNetworkTemplate", "tags": ["Orgs Network Templates"]}, "get": {"description": "Get Org Network Templates Details", "operationId": "getOrgNetworkTemplate", "tags": ["Orgs Network Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/networktemplate_id"}], "put": {"description": "Update Org Network Template", "operationId": "updateOrgNetworkTemplates", "parameters": [], "tags": ["Orgs Network Templates"]}}}}}, "ocdevices": {"paths": {"outbound_ssh_cmd": {"specs": {"get": {"description": "Get Org Juniper Devices command\n\nJuniper devices can be managed/adopted by Mist. Currently outbound-ssh + netconf is used.\nA few lines of CLI commands are generated per-Org, allowing the Juniper devices to phone home to Mist.", "operationId": "getOrgJuniperDevicesCommand", "parameters": [{"description": "site_id would be used for proxy config check of the site and automatic site assignment", "in": "query", "name": "site_id", "schema": {"type": "string"}}], "tags": ["Orgs Devices"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "otherdevices": {"specs": {"get": {"description": "Get List of Org other devices (3rd party devices)", "operationId": "listOrgOtherDevices", "parameters": [{"in": "query", "name": "vendor", "schema": {"type": "string"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}, {"in": "query", "name": "serial", "schema": {"type": "string"}}, {"in": "query", "name": "model", "schema": {"type": "string"}}, {"in": "query", "name": "name", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Devices - Others"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "put": {"description": "Assign or unassign OtherDevices to and from a site.", "operationId": "updateOrgOtherDevices", "tags": ["Orgs Devices - Others"]}}, "paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count Org OtherDevices Events", "operationId": "countOrgOtherDeviceEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_otherdevices_events_count_distinct"}}, {"$ref": "#/components/parameters/otherdevice_event_type"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Devices - Others"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org OtherDevices Events", "operationId": "searchOrgOtherDeviceEvents", "parameters": [{"description": "site id", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "mac of attached device", "in": "query", "name": "device_mac", "schema": {"type": "string"}}, {"description": "device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "vendor name", "in": "query", "name": "vendor", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/otherdevice_event_type"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Devices - Others"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "{device_mac}": {"specs": {"delete": {"description": "Delete OtherDevice", "operationId": "deleteOrgOtherDevice", "tags": ["Orgs Devices - Others"]}, "get": {"description": "Get Org other device (3rd party device)", "operationId": "getOrgOtherDevice", "tags": ["Orgs Devices - Others"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/device_mac"}], "put": {"description": "If the Site / Device cannot be identified, a manual association can be made", "operationId": "updateOrgOtherDevice", "tags": ["Orgs Devices - Others"]}}, "paths": {"reboot": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/device_mac"}], "post": {"description": "Reboot OtherDevice", "operationId": "rebootOrgOtherDevice", "tags": ["Orgs Devices - Others"]}}}}}}}, "pcaps": {"specs": {"get": {"description": "Get List of Org Packet Captures", "operationId": "listOrgPacketCaptures", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Utilities PCAPs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"capture": {"specs": {"delete": {"description": "Stop current Org capture", "operationId": "stopOrgPacketCapture", "tags": ["Utilities PCAPs"]}, "get": {"description": "Get Org Capturing status", "operationId": "getOrgCapturingStatus", "tags": ["Utilities PCAPs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Initiate a Packet Capture\n\nThe output will be available through websocket. As there can be multiple command issued against the same AP at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n subscribe: \"/sites/{site_id}/pcaps\"\n}\n```\n#### Response (Wireless/RadioTap)\n```json\n{\n \"event\": \"data\"\n \"channel\": \"/orgs/67970e46-4e12-11e6-9188-0242ac110007/pcaps\"\n \"data\": {\n \"capture_id\": \"f039b1b4-a23e-48b2-906a-0da40524de73\", \n \"pcap_dict\": {\n \"dst_mac\": \"68:ec:c5:09:2e:87\",\n \"src_mac\": \"8c:3b:ad:e0:47:40\", \n \"vlan\": 1, \n \"src_ip\": \"34.224.147.117\", \n \"dst_ip\": \"192.168.1.55\",\n \"dst_port\": 51635, \n \"src_port\": 443,\n \"protocol\": \"TCP\", \n \"mxedge_id\": \"00000000-0000-0000-1000-001122334455\",\n \"direction\": \"tx\", \n \"timestamp\": 1652247615, \n \"length\": 159.0, \n \"interface\": \"port0\",\n \"info\": \"1652247616.007409 IP ec2-34-224-147-117.compute-1.amazonaws.com.https > ip-192-168-1-55.ec2.internal.51635: Flags [P.], seq \n 2192123968:2192124057, ack 4035166782, win 12, options [nop,nop,TS val 597467050 ecr 740580660], length 89\\\\n\",\n }, \n \"pcap_raw\": \"1MOyoQIABAAAAAAAAAAAAP//AAABAAAAQEx7YhMzAACfAAAAnwAAAGjsxQkuh4w7reBHQIEAAAEIAEUAAI1bLEAAKAZ/CiLgk3XAqAE3AbvJs4KpKEDwg8I+gBgADFf9AAABAQgKI5yfqiwkXTQXAwMAVKY5JopoKQrVEn0/3ld4YntctGEH/rTZuwtCvzSncFw71QJveJi9uxHs57KC8w9Apph3YvXJrmWg7M37+o+YV0KH/xmr626s5Bkhb3QhKOu+NoNEmA==\\\"\n }\n}\n```", "operationId": "startOrgPacketCapture", "tags": ["Utilities PCAPs"]}}}}}, "pma": {"paths": {"dashboards": {"specs": {"get": {"description": "Get List of premium analytics dashboards for this Org", "operationId": "listOrgPmaDashboards", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Premium Analytics"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "pskportals": {"specs": {"get": {"description": "Get List of Org Psk Portals", "operationId": "listOrgPskPortals", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Psk Portals"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Psk Portal", "operationId": "createOrgPskPortal", "tags": ["Orgs Psk Portals"]}}, "paths": {"logs": {"specs": {"get": {"description": "Get the list of PSK Portals Logs", "operationId": "listOrgPskPortalLogs", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Psk Portals"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of PskPortal Logs", "operationId": "countOrgPskPortalLogs", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_psk_portal_logs_count_distinct"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Psk Portals"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org PSK Portal Logs", "operationId": "searchOrgPskPortalLogs", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}, {"in": "query", "name": "psk_name", "schema": {"type": "string"}}, {"in": "query", "name": "psk_id", "schema": {"type": "string"}}, {"in": "query", "name": "pskportal_id", "schema": {"type": "string"}}, {"description": "audit_id", "in": "query", "name": "id", "schema": {"format": "uuid", "type": "string"}}, {"in": "query", "name": "admin_name", "schema": {"type": "string"}}, {"in": "query", "name": "admin_id", "schema": {"type": "string"}}, {"description": "name_id used in SSO", "in": "query", "name": "name_id", "schema": {"format": "uuid", "type": "string"}}], "tags": ["Orgs Psk Portals"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "{pskportal_id}": {"specs": {"delete": {"description": "Delete Org Psk Portal", "operationId": "deleteOrgPskPortal", "tags": ["Orgs Psk Portals"]}, "get": {"description": "get Org Psk Portal Details", "operationId": "getOrgPskPortal", "tags": ["Orgs Psk Portals"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/pskportal_id"}], "put": {"description": "update Org Psk Portal", "operationId": "updateOrgPskPortal", "tags": ["Orgs Psk Portals"]}}, "paths": {"portal_image": {"specs": {"delete": {"description": "Delete background image for PskPortal\n\n\nIf image is not uploaded or is deleted, PskPortal will use default image.", "operationId": "deleteOrgPskPortalImage", "tags": ["Orgs Psk Portals"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/pskportal_id"}], "post": {"description": "Upload background image for PskPortal", "operationId": "uploadOrgPskPortalImage", "tags": ["Orgs Psk Portals"]}}}, "portal_template": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/pskportal_id"}], "put": {"description": "Update Org Psk Portal Template", "operationId": "updateOrgPskPortalTemplate", "tags": ["Orgs Psk Portals"]}}}}}}}, "psks": {"specs": {"get": {"description": "Get List of Org Psks", "operationId": "listOrgPsks", "parameters": [{"example": "psk_name", "in": "query", "name": "name", "schema": {"type": "string"}}, {"in": "query", "name": "ssid", "schema": {"type": "string"}}, {"in": "query", "name": "role", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Psks"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org PSK\n\n\nWhen `usage`==`macs`, corresponding \"macs\" field will hold a list consisting of client mac addresses ([\"xx:xx:xx:xx:xx\",...]) or mac patterns([\"xx:xx:*\",\"xx*\",...]) or both ([\"xx:xx:xx:xx:xx:xx\", \"xx:*\", ...]). This list is capped at 5000", "operationId": "createOrgPsk", "parameters": [{"description": "if a key exists with the same `name`, replace it with the new one", "in": "query", "name": "upsert", "schema": {"type": "boolean"}}], "tags": ["Orgs Psks"]}, "put": {"description": "Update Multiple PSKs", "operationId": "updateOrgMultiplePsks", "tags": ["Orgs Psks"]}}, "paths": {"delete": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Delete Org PSK List\n\nDelete list of psks on the org. This API accepts single string or list of strings", "operationId": "deleteOrgPskList", "tags": ["Orgs Psks"]}}}, "import": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Import PSK from CSV file or JSON\n\n##\u00a0CSV File Format\n```\nPSK Import CSV File Format:\nname,ssid,passphrase,usage,vlan_id,mac,max_usage,role,expire_time,notify_expiry,expiry_notification_time,notify_on_create_or_edit,email\nCommon,warehouse,foryoureyesonly,single,35,a31425f31278,0,student,1618594236\nJustin,reception,visible,multi,1002,200,teacher,1618594236\nCommon2,ssid,1245678-xx,single,35,a31425f31278,0,student,1618594236,true,7,true,admin@test.com\n```", "operationId": "importOrgPsks", "tags": ["Orgs Psks"]}}}, "{psk_id}": {"specs": {"delete": {"description": "Delete Org PSK", "operationId": "deleteOrgPsk", "tags": ["Orgs Psks"]}, "get": {"description": "Get Org PSK Details", "operationId": "getOrgPsk", "tags": ["Orgs Psks"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/psk_id"}], "put": {"description": "Update Org PSK", "operationId": "updateOrgPsk", "tags": ["Orgs Psks"]}}, "paths": {"delete_old_passphrase": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/psk_id"}], "post": {"description": "Delete `old_passphrase` from PSK. \nIf successful, response is same as GET, returns the PSK with `old_passphrase` removed.", "operationId": "deleteOrgPskOldPassphrase", "tags": ["Orgs Psks"]}}}}}}}, "rftemplates": {"specs": {"get": {"description": "Get List of Org RF Template", "operationId": "listOrgRfTemplates", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs RF Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org RF Template", "operationId": "createOrgRfTemplate", "tags": ["Orgs RF Templates"]}}, "paths": {"{rftemplate_id}": {"specs": {"delete": {"description": "Delete Org RF Template", "operationId": "deleteOrgRfTemplate", "tags": ["Orgs RF Templates"]}, "get": {"description": "Get Org RF Template Details", "operationId": "getOrgRfTemplate", "tags": ["Orgs RF Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/rftemplate_id"}], "put": {"description": "Update Org RF Template", "operationId": "updateOrgRfTemplate", "tags": ["Orgs RF Templates"]}}}}}, "sdkclients": {"paths": {"{sdkclient_id}": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sdkclient_id"}], "put": {"description": "Update SDK Client", "operationId": "updateSdkClient", "tags": ["Orgs Clients - SDK"]}}}}}, "sdkinvites": {"specs": {"get": {"description": "Get List of Org SDK Invites", "operationId": "listSdkInvites", "tags": ["Orgs SDK Invites"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create SDK Invite", "operationId": "createSdkInvite", "tags": ["Orgs SDK Invites"]}}, "paths": {"{sdkinvite_id}": {"specs": {"delete": {"description": "Revoke SDK Invite", "operationId": "revokeSdkInvite", "tags": ["Orgs SDK Invites"]}, "get": {"description": "Get SDK Invite Details", "operationId": "getSdkInvite", "tags": ["Orgs SDK Invites"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sdkinvite_id"}], "put": {"description": "Update SDK Invite", "operationId": "updateSdkInvite", "tags": ["Orgs SDK Invites"]}}, "paths": {"email": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sdkinvite_id"}], "post": {"description": "Send SDK Invite by Email", "operationId": "sendSdkInviteEmail", "tags": ["Orgs SDK Invites"]}}}, "qrcode": {"specs": {"get": {"description": "Revoke SDK Invite", "operationId": "getSdkInviteQrCode", "tags": ["Orgs SDK Invites"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sdkinvite_id"}]}}, "sms": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sdkinvite_id"}], "post": {"description": "Send SDK Invite by SMS", "operationId": "sendSdkInviteSms", "tags": ["Orgs SDK Invites"]}}}}}}}, "sdktemplates": {"specs": {"get": {"description": "Get List of Org SDK Templates", "operationId": "listSdkTemplates", "tags": ["Orgs SDK Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create SDK Template", "operationId": "createSdkTemplate", "tags": ["Orgs SDK Templates"]}}, "paths": {"{sdktemplate_id}": {"specs": {"delete": {"description": "Delete SDK Template", "operationId": "deleteSdkTemplate", "tags": ["Orgs SDK Templates"]}, "get": {"description": "Get SDK Template Details", "operationId": "getSdkTemplate", "tags": ["Orgs SDK Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sdktemplate_id"}], "put": {"description": "Update SDK Template", "operationId": "updateSdkTemplate", "tags": ["Orgs SDK Templates"]}}}}}, "secpolicies": {"specs": {"get": {"description": "Get List of Org Security Policies", "operationId": "listOrgSecPolicies", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs SecPolicies"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Security Policy", "operationId": "createOrgSecPolicies", "tags": ["Orgs SecPolicies"]}}, "paths": {"{secpolicy_id}": {"specs": {"delete": {"description": "Delete Org Security Policy", "operationId": "deleteOrgSecPolicy", "tags": ["Orgs SecPolicies"]}, "get": {"description": "Get Org Security Policy", "operationId": "getOrgSecPolicy", "tags": ["Orgs SecPolicies"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/secpolicy_id"}], "put": {"description": "Update Org Security Policy", "operationId": "updateOrgSecPolicies", "tags": ["Orgs SecPolicies"]}}}}}, "servicepolicies": {"specs": {"get": {"description": "Get List of Org Service Policies", "operationId": "listOrgServicePolicies", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Service Policies"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Serrvice Policy", "operationId": "createOrgServicePolicy", "tags": ["Orgs Service Policies"]}}, "paths": {"{servicepolicy_id}": {"specs": {"delete": {"description": "Delete Org Service Policuy", "operationId": "deleteOrgServicePolicy", "tags": ["Orgs Service Policies"]}, "get": {"description": "Get Org Service Policy Details", "operationId": "getOrgServicePolicy", "tags": ["Orgs Service Policies"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/servicepolicy_id"}], "put": {"description": "Update Org Serrvice Policy", "operationId": "updateOrgServicePolicy", "tags": ["Orgs Service Policies"]}}}}}, "services": {"specs": {"get": {"description": "Get List of Org Services", "operationId": "listOrgServices", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Services"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create getOrgServices Service", "operationId": "createOrgService", "tags": ["Orgs Services"]}}, "paths": {"{service_id}": {"specs": {"delete": {"description": "deleteOrgService", "operationId": "deleteOrgService", "tags": ["Orgs Services"]}, "get": {"description": "Get Org Service", "operationId": "getOrgService", "tags": ["Orgs Services"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/service_id"}], "put": {"description": "update Org Service", "operationId": "updateOrgService", "tags": ["Orgs Services"]}}}}}, "setting": {"specs": {"get": {"description": "Get Org Settings", "operationId": "getOrgSettings", "tags": ["Orgs Setting"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "put": {"description": "Update Org Settings", "operationId": "updateOrgSettings", "tags": ["Orgs Setting"]}}, "paths": {"blacklist": {"specs": {"delete": {"description": "Delete Org Blacklist Station Clients", "operationId": "deleteOrgWirelessClientsBlocklist", "tags": ["Orgs Setting"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Blacklist Client List. \n\nIf there is already a blacklist, this API will replace it with the new one. \n\nMax number of blacklist clients is 1000. \n\nRetrieve the current blacklisted clients from `blacklist_url` under Org:Setting\n", "operationId": "createOrgWirelessClientsBlocklist", "tags": ["Orgs Setting"]}}}, "cradlepoint": {"paths": {"setup": {"specs": {"delete": {"description": "This deletes the Cradlepoint integration in Mist", "operationId": "deleteOrgCradlepointConnection", "tags": ["Orgs Cradlepoint"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "This sets up cradlepoint webhooks to send events to Mist", "operationId": "setupOrgCradlepointConnectionToMist", "tags": ["Orgs Cradlepoint"]}, "put": {"description": "This updates the Cradlepoint integration settings in Mist", "operationId": "updateOrgCradlepointConnectionToMist", "tags": ["Orgs Cradlepoint"]}}}, "sync": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "This syncs cradlepoint devices with Mist. We\u2019ll also attempt to use the LLDP data from cradlepoint to identify the linkage against Mist Site / Device", "operationId": "syncOrgCradlepointRouters", "tags": ["Orgs Cradlepoint"]}}}}}, "jse": {"paths": {"info": {"specs": {"get": {"description": "Retrieves the list of JSE orgs associated with the account.", "operationId": "getOrgJseInfo", "tags": ["Orgs JSE"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "setup": {"specs": {"delete": {"description": "Delete JSE credential", "operationId": "deleteOrgJsecCredential", "tags": ["Orgs JSE"]}, "get": {"description": "Get Org JSE Credential", "operationId": "getOrgJsecCredential", "tags": ["Orgs JSE"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "in JSE UI: \n1. Create custom role with Read access to service_location and RW access to site and IPSec profile APIs. \n2. Create a user with the above custom role. - email: john@abc.com \n3. Activate the user in the JSE account. \n4. Create the service locations on the JSE account.", "operationId": "setupOrgJsecCredential", "tags": ["Orgs JSE"]}}}}}, "juniper": {"paths": {"link_accounts": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Link Juniper Accounts", "operationId": "linkOrgToJuniperJuniperAccount", "tags": ["Orgs Linked Applications"]}}}, "unlink_account": {"specs": {"delete": {"description": "Unlink Juniper Customer ID\n`linked_by` field is only required if there are duplicate account_names.", "operationId": "unlinkOrgFromJuniperCustomerId", "tags": ["Orgs Linked Applications"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "mist_nac_crls": {"specs": {"get": {"description": "Returns all uploaded CRL file IDs with names for the orgI", "operationId": "getOrgNacCrl", "tags": ["Orgs NAC CRL"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Import NAC Org CRL file is a multipart POST which has a .crl file to allow user to manually upload a Certificate Revocation List file. We support one file upload per Issuer. Re-uploads for the same issuer will overwrite the existing file.", "operationId": "importOrgNacCrl", "tags": ["Orgs NAC CRL"]}}, "paths": {"{naccrl_id}": {"specs": {"delete": {"description": "Delete NAC Org CRL file is a DELETE request to delete CRL file identified by its ID (ID assigned on file upload/creation)", "operationId": "deleteOrgNacCrl", "tags": ["Orgs NAC CRL"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/naccrl_id"}]}}}}, "pcap_bucket": {"paths": {"setup": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Provide Customer Bucket Name\n\nSetting up Custom PCAP Bucket Involves the following:\n* provide the bucket name\n* we\u2019ll attempt to write a file MIST_TOKEN\n* you have to verify the ownership of the bucket by providing the content of the MIST_TOKEN", "operationId": "setOrgCustomBucket", "tags": ["Orgs Setting"]}}}, "verify": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Verify Customer PCAP Bucket\n\n**Note**: If successful, a \u201cVERIFIED\u201d file will be created in the bucket", "operationId": "verifyOrgCustomBucket", "tags": ["Orgs Setting"]}}}}}, "zscaler": {"paths": {"setup": {"specs": {"delete": {"description": "To delete Zscaler credential", "operationId": "deleteOrgZscalerCredential", "tags": ["Orgs Devices Zscaler"]}, "get": {"description": "To get Zscaler credential", "operationId": "getOrgZscalerCredential", "tags": ["Orgs Devices Zscaler"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "To setup Zscaler credential", "operationId": "setupOrgZscalerCredential", "tags": ["Orgs Devices Zscaler"]}}}}}, "{app_name}": {"paths": {"link_accounts": {"specs": {"get": {"description": "Get Org Level OAuth Application Linked Status", "operationId": "getOrgOauthAppLinkedStatus", "parameters": [{"description": "Mist portal url to which backend needs to redirect after succesful OAuth authorization. **Required** to get the `authorization_url`", "in": "query", "name": "forward", "required": true, "schema": {"type": "string"}}], "tags": ["Orgs Linked Applications"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"description": "OAuth application name", "in": "path", "name": "app_name", "required": true, "schema": {"$ref": "#/components/schemas/oauth_app_name"}}], "post": {"description": "Add Jamf, VMware Authorization With Mist Portal", "operationId": "addOrgOauthAppAccounts", "tags": ["Orgs Linked Applications"]}, "put": {"description": "Update Zoom, Teams, Intune Authorization.\n\nRequest Payload, These Field And Values Will Be Specific To Each Of The Third Party Apps Accounts.", "operationId": "updateOrgOauthAppAccounts", "tags": ["Orgs Linked Applications"]}}, "paths": {"{account_id}": {"specs": {"delete": {"description": "Delete Org Level OAuth Application Authorization With Mist Portal", "operationId": "deleteOrgOauthAppAuthorization", "tags": ["Orgs Linked Applications"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"description": "OAuth application name", "in": "path", "name": "app_name", "required": true, "schema": {"$ref": "#/components/schemas/oauth_app_name"}}, {"$ref": "#/components/parameters/account_id"}]}}}}}}}}, "sitegroups": {"specs": {"get": {"description": "Get List of Org Site Groups", "operationId": "listOrgSiteGroups", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Sitegroups"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Site Group", "operationId": "createOrgSiteGroup", "tags": ["Orgs Sitegroups"]}}, "paths": {"{sitegroup_id}": {"specs": {"delete": {"description": "Delete Org Site Group", "operationId": "deleteOrgSiteGroup", "tags": ["Orgs Sitegroups"]}, "get": {"description": "Get Org Site Group", "operationId": "getOrgSiteGroup", "tags": ["Orgs Sitegroups"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sitegroup_id"}], "put": {"description": "Update Org Site Group", "operationId": "updateOrgSiteGroup", "tags": ["Orgs Sitegroups"]}}}}}, "sites": {"specs": {"get": {"description": "Get List of Org Sites", "operationId": "listOrgSites", "parameters": [{"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Sites"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Site", "operationId": "createOrgSite", "tags": ["Orgs Sites"]}}, "paths": {"count": {"specs": {"get": {"description": "Count Sites", "operationId": "countOrgSites", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_sites_count_distinct"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Sites"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Sites", "operationId": "searchOrgSites", "parameters": [{"description": "if Advanced Analytic feature is enabled", "in": "query", "name": "analytic_enabled", "schema": {"type": "boolean"}}, {"description": "if App Waking feature is enabled", "in": "query", "name": "app_waking", "schema": {"type": "boolean"}}, {"description": "if Asset Tracking is enabled", "in": "query", "name": "asset_enabled", "schema": {"type": "boolean"}}, {"description": "if Auto Upgrade feature is enabled", "in": "query", "name": "auto_upgrade_enabled", "schema": {"type": "boolean"}}, {"description": "if Auto Upgrade feature is enabled", "in": "query", "name": "auto_upgrade_version", "schema": {"type": "string"}}, {"description": "site country code", "in": "query", "name": "country_code", "schema": {"type": "string"}}, {"description": "if Honeypot detection is enabled", "in": "query", "name": "honeypot_enabled", "schema": {"type": "boolean"}}, {"description": "site id", "in": "query", "name": "id", "schema": {"type": "string"}}, {"description": "if unconnected client are located", "in": "query", "name": "locate_unconnected", "schema": {"type": "boolean"}}, {"description": "if Mesh feature is enabled", "in": "query", "name": "mesh_enabled", "schema": {"type": "boolean"}}, {"description": "site name", "in": "query", "name": "name", "schema": {"type": "string"}}, {"description": "if Rogue detection is enabled", "in": "query", "name": "rogue_enabled", "schema": {"type": "boolean"}}, {"description": "if Remote Syslog is enabled", "in": "query", "name": "remote_syslog_enabled", "schema": {"type": "boolean"}}, {"description": "if managed mobility feature is enabled", "in": "query", "name": "rtsa_enabled", "schema": {"type": "boolean"}}, {"description": "if Virtual Network Assistant is enabled", "in": "query", "name": "vna_enabled", "schema": {"type": "boolean"}}, {"description": "if WIFI feature is enabled", "in": "query", "name": "wifi_enabled", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Sites"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "{site_name}": {"paths": {"maps": {"paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/site_name"}], "post": {"description": "Import data from files is a multipart POST which has a file, an optional json, and an optional csv, to create floorplan, assign matching inventory to specific site, place ap if name or mac matches\n\n#### Request\n\n```\n\"json\": a JSON string describing your upload\n\"file\": a binary file\n```", "operationId": "importOrgMapToSite", "tags": ["Orgs Maps"]}}}}}}}}}, "sitetemplates": {"specs": {"get": {"description": "Get List of Org Site Templates", "operationId": "listOrgSiteTemplates", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Site Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Site Template", "operationId": "createOrgSiteTemplates", "tags": ["Orgs Site Templates"]}}, "paths": {"{sitetemplate_id}": {"specs": {"delete": {"description": "Delete Org Site Template", "operationId": "deleteOrgSiteTemplate", "tags": ["Orgs Site Templates"]}, "get": {"description": "Get Org Site Template", "operationId": "getOrgSiteTemplate", "tags": ["Orgs Site Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sitetemplate_id"}], "put": {"description": "Update Org Site Template", "operationId": "updateOrgSiteTemplate", "tags": ["Orgs Site Templates"]}}}}}, "ssoroles": {"specs": {"get": {"description": "Get List of Org SSO Roles", "operationId": "listOrgSsoRoles", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs SSO Roles"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org SSO Role", "operationId": "createOrgSsoRole", "tags": ["Orgs SSO Roles"]}}, "paths": {"{ssorole_id}": {"specs": {"delete": {"description": "Delete Org SSO Role", "operationId": "deleteOrgSsoRole", "tags": ["Orgs SSO Roles"]}, "get": {"description": "Get Org SSO Role Details", "operationId": "getOrgSsoRole", "tags": ["Orgs SSO Roles"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/ssorole_id"}], "put": {"description": "Update Org SSO Role", "operationId": "updateOrgSsoRole", "tags": ["Orgs SSO Roles"]}}}}}, "ssos": {"specs": {"get": {"description": "Get List of Org SSO Configuration", "operationId": "listOrgSsos", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs SSO"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org SSO Configuration", "operationId": "createOrgSso", "tags": ["Orgs SSO"]}}, "paths": {"{sso_id}": {"specs": {"delete": {"description": "Delete Org SSO Configuration", "operationId": "deleteOrgSso", "tags": ["Orgs SSO"]}, "get": {"description": "Get Org SSO Configuration Details", "operationId": "getOrgSso", "tags": ["Orgs SSO"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sso_id"}], "put": {"description": "Update Org SSO Configuration", "operationId": "updateOrgSso", "tags": ["Orgs SSO"]}}, "paths": {"failures": {"specs": {"get": {"description": "Get List of Org SSO Latest Failures", "operationId": "listOrgSsoLatestFailures", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs SSO"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sso_id"}]}}, "metadata": {"specs": {"get": {"description": "Get Org SSO SAML Metadata", "operationId": "getOrgSsoSamlMetadata", "tags": ["Orgs SSO"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sso_id"}]}}, "metadata.xml": {"specs": {"get": {"description": "Download Org SSO SAML Metdata\n\nExample of metadata.xml:\n```xml\n\n \n \n urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n \n \n Mist\n \n \n \n \n \n\n```", "operationId": "downloadOrgSsoSamlMetadata", "tags": ["Orgs SSO"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/sso_id"}]}}}}}}, "ssr": {"paths": {"upgrade": {"specs": {"get": {"description": "Get List of Org SSR Upgrades", "operationId": "listOrgSsrUpgrades", "tags": ["Utilities Upgrade"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Upgrade Org SSRs", "operationId": "upgradeOrgSsrs", "tags": ["Utilities Upgrade"]}}, "paths": {"{upgrade_id}": {"paths": {"cancel": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/upgrade_id"}], "post": {"description": "Best effort to cancel an upgrade. Devices which are already upgraded wont be touched\u21b5\n", "operationId": "cancelOrgSsrUpgrade", "tags": ["Utilities Upgrade"]}}}}}}}, "versions": {"specs": {"get": {"description": "Get available version for SSR", "operationId": "listOrgAvailableSsrVersions", "parameters": [{"in": "query", "name": "channel", "schema": {"type": "string"}}], "tags": ["Utilities Upgrade"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "stats": {"specs": {"get": {"description": "Get Org Stats", "operationId": "getOrgStats", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"assets": {"specs": {"get": {"description": "Get List of Org Assets Stats", "operationId": "listOrgAssetsStats", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Assets"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"count": {"specs": {"get": {"description": "Count Org Assets", "operationId": "countOrgAssetsByDistanceField", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_asset_count_distinct"}}], "tags": ["Orgs Assets"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search for Org Assets", "operationId": "searchOrgAssets", "parameters": [{"in": "query", "name": "site_id", "schema": {"type": "string"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}, {"in": "query", "name": "device_name", "schema": {"type": "string"}}, {"in": "query", "name": "name", "schema": {"type": "string"}}, {"in": "query", "name": "map_id", "schema": {"type": "string"}}, {"in": "query", "name": "ibeacon_uuid", "schema": {"type": "string"}}, {"in": "query", "name": "ibeacon_major", "schema": {"type": "string"}}, {"in": "query", "name": "ibeacon_minor", "schema": {"type": "string"}}, {"in": "query", "name": "eddystone_uid_namespace", "schema": {"type": "string"}}, {"in": "query", "name": "eddystone_uid_instance", "schema": {"type": "string"}}, {"in": "query", "name": "eddystone_url", "schema": {"type": "string"}}, {"in": "query", "name": "ap_mac", "schema": {"type": "string"}}, {"in": "query", "name": "beam", "schema": {"type": "integer"}}, {"in": "query", "name": "rssi", "schema": {"type": "integer"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Assets"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "bgp_peers": {"paths": {"count": {"specs": {"get": {"description": "Count Org BGP Stats", "operationId": "countOrgBgpStats", "tags": ["Orgs Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org BGP Stats", "operationId": "searchOrgBgpStats", "tags": ["Orgs Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "devices": {"specs": {"get": {"description": "Get List of Org Devices stats\nThis API renders some high-level device stats, pagination is assumed and returned in response header (as the response is an array)", "operationId": "listOrgDevicesStats", "parameters": [{"in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/device_type_with_all"}}, {"in": "query", "name": "status", "schema": {"$ref": "#/components/schemas/device_status"}}, {"in": "query", "name": "site_id", "schema": {"type": "string"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "EVPN Topology ID", "in": "query", "name": "evpntopo_id", "schema": {"type": "string"}}, {"description": "if `evpn_unused`==`true`, find EVPN eligible switches which don\u2019t belong to any EVPN Topology yet", "in": "query", "name": "evpn_unused", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/fields"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "mxedges": {"specs": {"get": {"description": "Get List of Org MxEdge Stats", "operationId": "listOrgMxEdgesStats", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"description": "filter for site level mist edges", "in": "query", "name": "for_site", "schema": {"default": false, "type": "boolean"}}], "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"{mxedge_id}": {"specs": {"get": {"description": "Get Org MxEdge Details Stats", "operationId": "getOrgMxEdgeStats", "tags": ["Orgs MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/mxedge_id"}]}}}}, "otherdevices": {"paths": {"{device_mac}": {"specs": {"get": {"description": "Get Otherdevice Stats", "operationId": "getOrgOtherDeviceStats", "tags": ["Orgs Devices - Others"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/device_mac"}]}}}}, "ports": {"paths": {"search": {"specs": {"get": {"description": "Search Switch / Gateway Ports", "operationId": "searchOrgSwOrGwPorts", "parameters": [{"description": "indicates full or half duplex", "in": "query", "name": "full_duplex", "schema": {"type": "boolean"}}, {"description": "device identifier", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Chassis identifier of the chassis type listed", "in": "query", "name": "neighbor_mac", "schema": {"type": "string"}}, {"description": "Description supplied by the system on the interface E.g. \u201cGigabitEthernet2/0/39\u201d", "in": "query", "name": "neighbor_port_desc", "schema": {"type": "string"}}, {"description": "Name supplied by the system on the interface E.g. neighbor system name E.g. \u201cKumar-Acc-SW.mist.local\u201d", "in": "query", "name": "neighbor_system_name", "schema": {"type": "string"}}, {"description": "is the POE configured not be disabled.", "in": "query", "name": "poe_disabled", "schema": {"type": "boolean"}}, {"description": "poe mode depending on class E.g. \u201c802.3at\u201d", "in": "query", "name": "poe_mode", "schema": {"type": "string"}}, {"description": "is the device attached to POE", "in": "query", "name": "poe_on", "schema": {"type": "boolean"}}, {"description": "interface name", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "interface mac address", "in": "query", "name": "port_mac", "schema": {"type": "string"}}, {"description": "Amount of power being used by the interface at the time the command is executed. Unit in watts.", "in": "query", "name": "power_draw", "schema": {"type": "number"}}, {"description": "Output packets", "in": "query", "name": "tx_pkts", "schema": {"type": "integer"}}, {"description": "Input packets", "in": "query", "name": "rx_pkts", "schema": {"type": "integer"}}, {"description": "Input bytes", "in": "query", "name": "rx_bytes", "schema": {"type": "integer"}}, {"description": "Output rate", "in": "query", "name": "tx_bps", "schema": {"type": "integer"}}, {"description": "Input rate", "in": "query", "name": "rx_bps", "schema": {"type": "integer"}}, {"description": "Output errors", "in": "query", "name": "tx_errors", "schema": {"type": "integer"}}, {"description": "Input errors", "in": "query", "name": "rx_errors", "schema": {"type": "integer"}}, {"description": "Multicast output packets", "in": "query", "name": "tx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast output packets", "in": "query", "name": "tx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "Multicast input packets", "in": "query", "name": "rx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast input packets", "in": "query", "name": "rx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "port speed", "in": "query", "name": "speed", "schema": {"type": "integer"}}, {"description": "Limit on number of dynamically learned macs", "in": "query", "name": "mac_limit", "schema": {"type": "integer"}}, {"description": "Number of mac addresses in the forwarding table", "in": "query", "name": "mac_count", "schema": {"type": "integer"}}, {"description": "indicates if interface is up", "in": "query", "name": "up", "schema": {"type": "boolean"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_state", "schema": {"$ref": "#/components/schemas/search_org_sw_or_gw_ports_stp_state"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_role", "schema": {"$ref": "#/components/schemas/search_org_sw_or_gw_ports_stp_role"}}, {"description": "if `up`==`true` && has Authenticator role", "in": "query", "name": "auth_state", "schema": {"$ref": "#/components/schemas/search_org_sw_or_gw_ports_auth_state"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "switch_ports": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Switch/Gateway Ports", "operationId": "countOrgSwitchPorts", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_switch_port_count_distinct"}}, {"description": "indicates full or half duplex", "in": "query", "name": "full_duplex", "schema": {"type": "boolean"}}, {"description": "device identifier", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Chassis identifier of the chassis type listed", "in": "query", "name": "neighbor_mac", "schema": {"type": "string"}}, {"description": "Description supplied by the system on the interface E.g. \u201cGigabitEthernet2/0/39\u201d", "in": "query", "name": "neighbor_port_desc", "schema": {"type": "string"}}, {"description": "Name supplied by the system on the interface E.g. neighbor system name E.g. \u201cKumar-Acc-SW.mist.local\u201d", "in": "query", "name": "neighbor_system_name", "schema": {"type": "string"}}, {"description": "is the POE configured not be disabled.", "in": "query", "name": "poe_disabled", "schema": {"type": "boolean"}}, {"description": "poe mode depending on class E.g. \u201c802.3at\u201d", "in": "query", "name": "poe_mode", "schema": {"type": "string"}}, {"description": "is the device attached to POE", "in": "query", "name": "poe_on", "schema": {"type": "boolean"}}, {"description": "interface name", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "interface mac address", "in": "query", "name": "port_mac", "schema": {"type": "string"}}, {"description": "Amount of power being used by the interface at the time the command is executed. Unit in watts.", "in": "query", "name": "power_draw", "schema": {"type": "number"}}, {"description": "Output packets", "in": "query", "name": "tx_pkts", "schema": {"type": "integer"}}, {"description": "Input packets", "in": "query", "name": "rx_pkts", "schema": {"type": "integer"}}, {"description": "Input bytes", "in": "query", "name": "rx_bytes", "schema": {"type": "integer"}}, {"description": "Output rate", "in": "query", "name": "tx_bps", "schema": {"type": "integer"}}, {"description": "Input rate", "in": "query", "name": "rx_bps", "schema": {"type": "integer"}}, {"description": "Multicast output packets", "in": "query", "name": "tx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast output packets", "in": "query", "name": "tx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "Multicast input packets", "in": "query", "name": "rx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast input packets", "in": "query", "name": "rx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "port speed", "in": "query", "name": "speed", "schema": {"type": "integer"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_state", "schema": {"$ref": "#/components/schemas/count_org_switch_ports_stp_state"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_role", "schema": {"$ref": "#/components/schemas/count_org_switch_ports_stp_role"}}, {"description": "if `up`==`true`", "in": "query", "name": "auth_state", "schema": {"$ref": "#/components/schemas/count_org_switch_ports_auth_state"}}, {"description": "indicates if interface is up", "in": "query", "name": "up", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "tunnels": {"paths": {"count": {"specs": {"get": {"description": "Count Mist Tunnels Stats", "operationId": "countOrgTunnelsStats", "parameters": [{"description": "- If `type`==`wxtunnel`: wxtunnel_id / ap / remote_ip / remote_port / state / mxedge_id / mxcluster_id / site_id / peer_mxedge_id; default is wxtunnel_id \n- If `type`==`wan`: mac / site_id / node / peer_ip / peer_host/ ip / tunnel_name / protocol / auth_algo / encrypt_algo / ike_version / last_event / up", "in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_tunnel_count_distinct"}}, {"in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/org_tunnel_type_count"}}], "tags": ["Orgs Tunnels"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org Tunnels Stats", "operationId": "searchOrgTunnelsStats", "parameters": [{"description": "if `type`==`wxtunnel`", "in": "query", "name": "mxcluster_id", "schema": {"type": "string"}}, {"in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "if `type`==`wxtunnel`", "in": "query", "name": "wxtunnel_id", "schema": {"type": "string"}}, {"description": "if `type`==`wxtunnel`", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "node", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "peer_ip", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "peer_host", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "ip", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "tunnel_name", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "protocol", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "auth_algo", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "encrypt_algo", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "ike_version", "schema": {"type": "string"}}, {"description": "if `type`==`wan`", "in": "query", "name": "up", "schema": {"type": "string"}}, {"in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/tunnel_type"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Tunnels"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "vpn_peers": {"paths": {"count": {"specs": {"get": {"description": "Count Org Peer Path Statgs", "operationId": "countOrgPeerPathStats", "parameters": [{"in": "query", "name": "distinct", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs VPNs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search Org Peer Path Stats", "operationId": "searchOrgPeerPathStats", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs VPNs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}}}, "subscriptions": {"specs": {"delete": {"description": "Unsubscribe from Org Alarms/Reports\nSubscriptions define how Org Alarms/Reports are delivered to whom", "operationId": "unsubscribeOrgAlarmsReports", "tags": ["Orgs Subscriptions"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Subscribe to Org Alarms/Reports\nSubscriptions define how Org Alarms/Reports are delivered to whom", "operationId": "subscribeOrgAlarmsReports", "tags": ["Orgs Subscriptions"]}}}, "templates": {"specs": {"get": {"description": "Get List of Org WLAN Templates", "operationId": "listOrgTemplates", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs WLAN Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Template", "operationId": "createOrgTemplate", "tags": ["Orgs WLAN Templates"]}}, "paths": {"{template_id}": {"specs": {"delete": {"description": "Delete Org Template", "operationId": "deleteOrgTemplate", "tags": ["Orgs WLAN Templates"]}, "get": {"description": "Get Org Template Details", "operationId": "getOrgTemplate", "tags": ["Orgs WLAN Templates"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/template_id"}], "put": {"description": "Update Org Template", "operationId": "updateOrgTemplate", "tags": ["Orgs WLAN Templates"]}}, "paths": {"clone": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/template_id"}], "post": {"description": "Clone Org Template", "operationId": "cloneOrgTemplate", "tags": ["Orgs WLAN Templates"]}}}}}}}, "tickets": {"specs": {"get": {"description": "Get List of Tickets of an Org", "operationId": "listOrgTickets", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Tickets"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create a support ticket", "operationId": "createOrgTicket", "tags": ["Orgs Tickets"]}}, "paths": {"count": {"specs": {"get": {"description": "Count Org Tickets", "operationId": "countOrgTickets", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_tickets_count_distinct"}}], "tags": ["Orgs Tickets"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "{ticket_id}": {"specs": {"get": {"description": "Get support ticket details", "operationId": "getOrgTicket", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Tickets"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/ticket_id"}], "put": {"description": "Update support ticket", "operationId": "updateOrgTicket", "tags": ["Orgs Tickets"]}}, "paths": {"attachments": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/ticket_id"}], "post": {"description": "Get Org ticket Attachment", "operationId": "UploadrgTicketAttachment", "tags": ["Orgs Tickets"]}}, "paths": {"{attachment_id}": {"specs": {"get": {"description": "Get Org ticket Attachment", "operationId": "GetOrgTicketAttachment", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Tickets"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/ticket_id"}, {"$ref": "#/components/parameters/attachment_id"}]}}}}, "comments": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/ticket_id"}], "post": {"description": "Add Comment to support ticket", "operationId": "addOrgTicketComment", "tags": ["Orgs Tickets"]}}}}}}}, "troubleshoot": {"specs": {"get": {"description": "Troubleshoot sites, devices, clients, and wired clientsfor maximum of last 7 days from current time. See search APIs for device information:\n- [search Device](/#operations/searchOrgDevices)\n- [search Wireless Client](/#operations/searchOrgWirelessClients)\n- [search Wired Client](/#operations/searchOrgWiredClients)\n- [search Wan Client](/#operations/searchOrgWanClients)\n\n**NOTE**: requires Marvis subscription license", "operationId": "troubleshootOrg", "parameters": [{"description": "**required** when troubleshooting device or a client", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "**required** when troubleshooting site", "in": "query", "name": "site_id", "schema": {"format": "uuid", "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"description": "when troubleshooting site, type of network to troubleshoot", "in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/troubleshoot_type"}}], "tags": ["Orgs Marvis"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "usermacs": {"specs": {"get": {"description": "List Org User MACs", "operationId": "listOrgUserMacs", "parameters": [{"in": "query", "name": "blacklisted", "schema": {"type": "boolean"}}, {"in": "query", "name": "for_guest_wifi", "schema": {"type": "boolean"}}, {"in": "query", "name": "cross_site", "schema": {"type": "boolean"}}, {"in": "query", "name": "site_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs User MACs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org User MACs\n\n### Usermacs import CSV file format\nmac,labels,vlan,notes \n921b638445cd,\u201dbldg1,flor1\u201d,vlan-100 \n721b638445ef,\u201dbldg2,flor2\u201d,vlan-101,Canon Printers \n721b638445ee,\u201dbldg3,flor3\u201d,vlan-102 \n921b638445ce,\u201dbldg4,flor4\u201d,vlan-103 \n921b638445cf,\u201dbldg5,flor5\u201d,vlan-104", "operationId": "createOrgUserMacs", "tags": ["Orgs User MACs"]}}, "paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Import Org User MACs", "operationId": "importOrgUserMacs", "tags": ["Orgs User MACs"]}}}, "search": {"specs": {"get": {"description": "Search Org User MACs", "operationId": "searchOrgUserMacs", "parameters": [{"description": "mac address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "optional, array of strings of labels", "in": "query", "name": "labels", "schema": {"$ref": "#/components/schemas/search_org_user_macs_labels"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs User MACs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}, "paths": {"{usermac_id}": {"specs": {"delete": {"description": "Delete Org User MAC", "operationId": "deleteOrgUserMac", "tags": ["Orgs User MACs"]}, "get": {"description": "Get Org User MAC", "operationId": "getOrgUserMac", "tags": ["Orgs User MACs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/usermac_id"}]}}}}}}, "vars": {"paths": {"search": {"specs": {"get": {"description": "Search vars\n\nExample: /api/v1/orgs/:org_id/vars/search?vars=*", "operationId": "searchOrgVars", "parameters": [{"in": "query", "name": "site_id", "schema": {"type": "string"}}, {"in": "query", "name": "vars", "schema": {"type": "string"}}, {"in": "query", "name": "src", "schema": {"$ref": "#/components/schemas/var_source"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Vars"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "vpns": {"specs": {"get": {"description": "Get List of Org VPNs", "operationId": "listOrgsVpns", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs VPNs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org VPN", "operationId": "createOrgVpns", "tags": ["Orgs VPNs"]}}, "paths": {"{vpn_id}": {"specs": {"delete": {"description": "delete Org Vpn", "operationId": "deleteOrgVpn", "tags": ["Orgs VPNs"]}, "get": {"description": "getOrgVpn", "operationId": "getOrgVpn", "tags": ["Orgs VPNs"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/vpn_id"}], "put": {"description": "update Org Vpn", "operationId": "updateOrgVpn", "tags": ["Orgs VPNs"]}}}}}, "wan_client": {"paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Org WAN Client-Events", "operationId": "countOrgWanClientEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_wan_clients_events_count_distinct"}}, {"$ref": "#/components/parameters/client_event_type"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Clients - Wan"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}}}, "wan_clients": {"paths": {"count": {"specs": {"get": {"description": "Count Org WAN Clients", "operationId": "countOrgWanClients", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_wan_clients_count_distinct"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Clients - Wan"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "events": {"paths": {"search": {"specs": {"get": {"description": "Search Org WAN Client Events", "operationId": "searchOrgWanClientEvents", "parameters": [{"$ref": "#/components/parameters/client_event_type"}, {"description": "partial / full MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "client IP", "in": "query", "name": "ip", "schema": {"type": "string"}}, {"description": "Manufacture", "in": "query", "name": "mfg", "schema": {"type": "string"}}, {"description": "nacrule_id", "in": "query", "name": "nacrule_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Clients - Wan"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "search": {"specs": {"get": {"description": "Search Org WAN Clients", "operationId": "searchOrgWanClients", "parameters": [{"description": "partial / full MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "client IP", "in": "query", "name": "ip", "schema": {"type": "string"}}, {"description": "network", "in": "query", "name": "network", "schema": {"type": "string"}}, {"description": "Manufacture", "in": "query", "name": "mfg", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Orgs Clients - Wan"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "webhooks": {"specs": {"get": {"description": "Get List of Org Webhooks", "operationId": "listOrgWebhooks", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Webhooks"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Webhook\n\n**N.B**. For org webhooks, only alarms/audits/client-info/client-join/client-sessions/device_events/device-updowns/mxedge_events Infrastructure topics are supported.", "operationId": "createOrgWebhook", "tags": ["Orgs Webhooks"]}}, "paths": {"{webhook_id}": {"specs": {"delete": {"description": "Delete Org Webhook", "operationId": "deleteOrgWebhook", "tags": ["Orgs Webhooks"]}, "get": {"description": "Get Org Webhook Details", "operationId": "getOrgWebhook", "tags": ["Orgs Webhooks"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/webhook_id"}], "put": {"description": "Update Org Webhook", "operationId": "updateOrgWebhook", "tags": ["Orgs Webhooks"]}}, "paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count Org Webhooks deliveries\n\n\nTopics Supported:\n- alarms\n- audits\n- device-updowns\n- occupancy-alerts\n- ping", "operationId": "countOrgWebhooksDeliveries", "parameters": [{"in": "query", "name": "error", "schema": {"type": "string"}}, {"in": "query", "name": "status_code", "schema": {"type": "integer"}}, {"description": "webhook delivery status", "in": "query", "name": "status", "schema": {"$ref": "#/components/schemas/webhook_delivery_status"}}, {"description": "webhook topic", "in": "query", "name": "topic", "schema": {"$ref": "#/components/schemas/webhook_delivery_topic"}}, {"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/webhook_delivery_distinct"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Webhooks"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/webhook_id"}]}}, "search": {"specs": {"get": {"description": "Search Org Webhooks deliveries\n\n\nTopics Supported:\n- alarms\n- audits\n- device-updowns\n- occupancy-alerts\n- ping", "operationId": "searchOrgWebhooksDeliveries", "parameters": [{"in": "query", "name": "error", "schema": {"type": "string"}}, {"in": "query", "name": "status_code", "schema": {"type": "integer"}}, {"description": "webhook delivery status", "in": "query", "name": "status", "schema": {"$ref": "#/components/schemas/webhook_delivery_status"}}, {"description": "webhook topic", "in": "query", "name": "topic", "schema": {"$ref": "#/components/schemas/webhook_delivery_topic"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Webhooks"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/webhook_id"}]}}}}, "ping": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/webhook_id"}], "post": {"description": "send a Ping event to the webhook", "operationId": "pingOrgWebhook", "tags": ["Orgs Webhooks"]}}}}}}}, "wired_clients": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Clients\n\nNote: For list of avaialable `type` values, please refer to [listClientEventsDefinitions](/#operations/listClientEventsDefinitions)", "operationId": "countOrgWiredClients", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/org_wired_clients_count_distinct"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Clients - Wired"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "search": {"specs": {"get": {"description": "Search for Wired Clients in org\n\nNote: For list of avaialable `type` values, please refer to [listClientEventsDefinitions](/#operations/listClientEventsDefinitions)", "operationId": "searchOrgWiredClients", "parameters": [{"description": "Site ID", "in": "query", "name": "site_id", "schema": {"type": "string"}}, {"description": "device mac", "in": "query", "name": "device_mac", "schema": {"type": "string"}}, {"description": "client mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "port id", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "vlan", "in": "query", "name": "vlan", "schema": {"type": "integer"}}, {"description": "ip", "in": "query", "name": "ip", "schema": {"type": "string"}}, {"description": "client manufacturer", "in": "query", "name": "manufacture", "schema": {"type": "string"}}, {"description": "single entry of hostname/mac", "in": "query", "name": "text", "schema": {"type": "string"}}, {"description": "nacrule_id", "in": "query", "name": "nacrule_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Orgs Clients - Wired"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}}}, "wlans": {"specs": {"get": {"description": "Get List of Org Wlans", "operationId": "listOrgWlans", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs Wlans"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org Wlan", "operationId": "createOrgWlan", "tags": ["Orgs Wlans"]}}, "paths": {"{wlan_id}": {"specs": {"delete": {"description": "Delete Org WLAN", "operationId": "deleteOrgWlan", "tags": ["Orgs Wlans"]}, "get": {"description": "Get Org Wlan Detail", "operationId": "getOrgWLAN", "tags": ["Orgs Wlans"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/wlan_id"}], "put": {"description": "Update Org Wlan", "operationId": "updateOrgWlan", "tags": ["Orgs Wlans"]}}, "paths": {"portal_image": {"specs": {"delete": {"description": "Delete Org WLAN Portal Image", "operationId": "deleteOrgWlanPortalImage", "tags": ["Orgs Wlans"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/wlan_id"}], "post": {"description": "Upload Org WLAN Portal Image", "operationId": "uploadOrgWlanPortalImage", "tags": ["Orgs Wlans"]}}}, "portal_template": {"specs": {"parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/wlan_id"}], "put": {"description": "Update a Portal Template\n\n#### Sponsor Email Template\nSponsor Email Template supports following template variables:\n\n| **Name** | **Description** |\n| --- | --- |\n| approve_url | Renders URL to approve the request; optionally &minutes=N query param can be appended to change the Authorization period of the guest, where N is a valid integer denoting number of minutes a guest remains authorized |\n| deny_url | Renders URL to reject the request |\n| guest_email | Renders Email ID of the guest |\n| guest_name | Renders Name of the guest |\n| field1 | Renders value of the Custom Field 1 |\n| field2 | Renders value of the Custom Field 2 |\n| company | Renders value of the Company field |\n| sponsor_link_validity_duration | Renders validity time of the request (i.e. Approve/Deny URL) |\n| auth_expire_minutes | Renders Wlan-level configured Guest Authorization Expiration time period (in minutes), If not configured then default (1 day in minutes) |", "operationId": "updateOrgWlanPortalTemplate", "tags": ["Orgs Wlans"]}}}}}}}, "wxrules": {"specs": {"get": {"description": "Get List of Org WxRules", "operationId": "listOrgWxRules", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs WxRules"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org WxRule", "operationId": "createOrgWxRule", "tags": ["Orgs WxRules"]}}, "paths": {"derived": {"specs": {"get": {"description": "Get Derived Org WxRule", "operationId": "getOrgWxRulesDerived", "tags": ["Orgs WxRules"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "{wxrule_id}": {"specs": {"delete": {"description": "Delete Org WxRule", "operationId": "deleteOrgWxRule", "tags": ["Orgs WxRules"]}, "get": {"description": "Get Org WxRule Details", "operationId": "getOrgWxRule", "tags": ["Orgs WxRules"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/wxrule_id"}], "put": {"description": "Update Org WxRule", "operationId": "updateOrgWxRule", "tags": ["Orgs WxRules"]}}}}}, "wxtags": {"specs": {"get": {"description": "Get List of Org WxLAN Tags", "operationId": "listOrgWxTags", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs WxTags"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create WxLAN Tag", "operationId": "createOrgWxTag", "tags": ["Orgs WxTags"]}}, "paths": {"apps": {"specs": {"get": {"description": "Get Application List", "operationId": "getOrgApplicationList", "tags": ["Orgs WxTags"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}]}}, "{wxtag_id}": {"specs": {"delete": {"description": "Delete WxLAN Tag", "operationId": "deleteOrgWxTag", "tags": ["Orgs WxTags"]}, "get": {"description": "Get WxLAN Tag Details", "operationId": "getOrgWxTag", "tags": ["Orgs WxTags"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/wxtag_id"}], "put": {"description": "Update WxLAN Tag", "operationId": "updateOrgWxTag", "tags": ["Orgs WxTags"]}}, "paths": {"clients": {"specs": {"get": {"description": "Get Current Matching Clients of a WXLAN Tag", "operationId": "getOrgCurrentMatchingClientsOfAWxTag", "tags": ["Orgs WxTags"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/wxtag_id"}]}}}}}}, "wxtunnels": {"specs": {"get": {"description": "Get List of Org WxLAN Tunnels", "operationId": "listOrgWxTunnels", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Orgs WxTunnels"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}], "post": {"description": "Create Org WxAN Tunnel", "operationId": "createOrgWxTunnel", "tags": ["Orgs WxTunnels"]}}, "paths": {"{wxtunnel_id}": {"specs": {"delete": {"description": "Delete Org WxLAN Tunnel", "operationId": "deleteOrgWxTunnel", "tags": ["Orgs WxTunnels"]}, "get": {"description": "Get Org WxLAN Tunnel Details", "operationId": "getOrgWxTunnel", "tags": ["Orgs WxTunnels"]}, "parameters": [{"$ref": "#/components/parameters/org_id"}, {"$ref": "#/components/parameters/wxtunnel_id"}], "put": {"description": "Update Org WxLAN Tunnel", "operationId": "updateOrgWxTunnel", "tags": ["Orgs WxTunnels"]}}}}}}}}}, "recover": {"specs": {"post": {"description": "Recover Password\nAn email will also be sent to the user with a link to https://manage.mist.com/verify/recover?token=:token", "operationId": "recoverPassword", "tags": ["Admins Recover Password"]}}, "paths": {"verify": {"paths": {"{token}": {"specs": {"parameters": [{"$ref": "#/components/parameters/token"}], "post": {"description": "Verify Recover Password\nWith correct verification, the user will be authenticated. UI can then prompt for new password", "operationId": "verifyRecoverPasssword", "tags": ["Admins Recover Password"]}}}}}}}, "register": {"specs": {"post": {"description": "Register a new admin and his/her org\nAn email will also be sent to the user with a link to `/verify/register?token={token}`\n\n### reCAPTCHA\nGoogle reCAPTCHA is the choice to prevent bot registration\n\nIt needs this \n\n<script src='https://www.google.com/recaptcha/api.js' ></script>\n\nand this <div> in the desired place\n```html\n
\n```\n\nUse GET /api/v1/register/recaptcha to read the current setting.\nResponse example:\n```json\n{ \n \"flavor\": \"google\",\n \"required\": true, \n \"sitekey\": \"6LdAewsTAAAAAE25XKQhPEQ2FiMTft-WrZXQ5NUd\"\n}\n```\n\n### hCaptcha\nAlternative to reCAPTCHA is hCaptcha to prevent bot registration\n\nIt needs this script\n\n<script src='https://js.hcaptcha.com/1/api.js' async defer ></script>\n\nand this <div> in the desired place\n```html\n
\n```\n\nUse GET /api/v1/register/recaptcha?recaptcha_flavor=hcaptcha to read the current setting for hcaptcha with reply.\nResponse example:\n```json\n{\n \"flavor\": \"hcaptcha\",\n \"required\": true,\n \"sitekey\": \"6LdAewsTAAAAAE25XKQhPEQ2FiMTft-WrZXQ5NUd\"\n}\"\n```", "operationId": "registerNewAdmin", "tags": ["Admins"]}}, "paths": {"recaptcha": {"specs": {"get": {"description": "Get Registration Information", "operationId": "getAdminRegistrationInfo", "parameters": [{"in": "query", "name": "recaptcha_flavor", "schema": {"$ref": "#/components/schemas/recaptcha_flavor"}}], "tags": ["Admins"]}}}, "verify": {"paths": {"{token}": {"specs": {"parameters": [{"$ref": "#/components/parameters/token"}], "post": {"description": "Verify registration", "operationId": "verifyRegistration", "tags": ["Admins"]}}}}}}}, "self": {"specs": {"delete": {"description": "To delete ones account and every associated with it. The effects:\n\nthe account would be deleted\nany orphaned Org (that only has this account as admin) will be deleted\nalong with all data with Org (sites, wlans, devices) will be gone.", "operationId": "deleteSelf", "tags": ["Self Account"]}, "get": {"description": "Get \u2018whoami\u2019 and privileges (which org and which sites I have access to)", "operationId": "getSelf", "tags": ["Self Account"]}, "put": {"description": "update Account Information", "operationId": "updateSelf", "tags": ["Self Account"]}}, "paths": {"apitokens": {"specs": {"get": {"description": "Get List of Current User API Tokens", "operationId": "listApiTokens", "tags": ["Self API Token"]}, "post": {"description": "Create API Token\nNote that the key is only available during creation time.", "operationId": "createApiToken", "tags": ["Self API Token"]}}, "paths": {"{apitoken_id}": {"specs": {"delete": {"description": "Delete an API Token", "operationId": "deleteApiToken", "tags": ["Self API Token"]}, "get": {"description": "Get User API Token", "operationId": "getApiToken", "tags": ["Self API Token"]}, "parameters": [{"$ref": "#/components/parameters/apitoken_id"}], "put": {"description": "Update User API Token", "operationId": "updateApiToken", "tags": ["Self API Token"]}}}}}, "logs": {"specs": {"get": {"description": "Get List of change logs across all Orgs for current admin\nAudit logs records all administrative activities done by current admin across all orgs", "operationId": "listSelfAuditLogs", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Self Audit Logs"]}}}, "oauth": {"paths": {"{provider}": {"specs": {"get": {"description": "Obtain Authorization URL for Linking", "operationId": "getOauth2UrlForLinking", "parameters": [{"in": "query", "name": "forward", "schema": {"example": "http://manage.mist.com/oauth/callback.html", "type": "string"}}], "tags": ["Self OAuth2"]}, "parameters": [{"in": "path", "name": "provider", "required": true, "schema": {"type": "string"}}], "post": {"description": "Link Mist account with an OAuth2 Provider", "operationId": "linkOauth2MistAccount", "tags": ["Self OAuth2"]}}}}}, "subscriptions": {"specs": {"get": {"description": "Get List of all the subscriptions", "operationId": "listAlarmSubscriptions", "tags": ["Self Alarms"]}}}, "two_factor": {"paths": {"token": {"specs": {"get": {"description": "Generate Secret Key for 2FA verification", "operationId": "generateSecretFor2faVerification", "parameters": [{"description": "if `by`==`qrcode`, returns the secret as a qrcode image", "in": "query", "name": "by", "schema": {"$ref": "#/components/schemas/mfa_secret_type"}}], "tags": ["Self MFA"]}}}, "verify": {"specs": {"post": {"description": "Verify Two-factor (OTP)\n\nTo verify two-factor authentication by using a code generated by app (e.g. Google Authenticator, Authy). Upon successful verification, the `two_factor_passed` will be set to true if it hasn\u2019t already been.\n", "operationId": "verifyTwoFactor", "tags": ["Self MFA"]}}}}}, "update": {"specs": {"post": {"description": "Change Email\nWe require the user to verify that they actually own the email address they intend to change it to.\n\nAfter the API call, the user will receive an email to the new email address with a link like https://manage.mist.com/verify/update?expire=:exp_time&email=:admin_email&token=:token\n\nUpon clicking the link, the user is provided with a login page to authenticate using existing credentials. After successful login, the email address of the user gets updated\n\n**Note**: The request parameter email can be used by UI to validate that the current session (if any) belongs to the admin or provide a login page (by pre-populating the email on login screen). UI can also use the request parameter expire to validate token expiry.", "operationId": "updateSelfEmail", "tags": ["Self Account"]}}, "paths": {"verify": {"paths": {"{token}": {"specs": {"get": {"description": "Verify Email change", "operationId": "verifySelfEmail", "tags": ["Self Account"]}, "parameters": [{"$ref": "#/components/parameters/token"}]}}}}}}}}, "sites": {"paths": {"{site_id}": {"specs": {"delete": {"description": "Delete Site", "operationId": "deleteSite", "tags": ["Sites"]}, "get": {"description": "Get Site Info", "operationId": "getSiteInfo", "tags": ["Sites"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "put": {"description": "Update Site Info", "operationId": "updateSiteInfo", "tags": ["Sites"]}}, "paths": {"alarms": {"paths": {"ack": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Ack multiple Site Alarms", "operationId": "AckSiteMultipleAlarms", "tags": ["Sites Alarms"]}}}, "ack_all": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Ack all Site Alarms\n\n**N.B.**: Batch size for multiple alarm ack and unack has to be less or or equal to 1000.", "operationId": "ackSiteAllAlarms", "tags": ["Sites Alarms"]}}}, "count": {"specs": {"get": {"description": "Count Site Alarms", "operationId": "countSiteAlarms", "parameters": [{"description": "Group by and count the alarms by some distinct field", "in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/alarm_count_disctinct"}}, {"description": "Name of the admins who have acked the alarms; accepts multiple values separated by comma", "in": "query", "name": "ack_admin_name", "schema": {"type": "string"}}, {"in": "query", "name": "acked", "schema": {"type": "boolean"}}, {"description": "Key-name of the alarms; accepts multiple values separated by comma", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "Alarm severity; accepts multiple values separated by comma", "in": "query", "name": "severity", "schema": {"type": "string"}}, {"description": "Alarm group name; accepts multiple values separated by comma", "in": "query", "name": "group", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Alarms"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Site Alarms", "operationId": "searchSiteAlarms", "parameters": [{"description": "Key-name of the alarms; accepts multiple values separated by comma", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "Name of the admins who have acked the alarms; accepts multiple values separated by comma", "in": "query", "name": "ack_admin_name", "schema": {"type": "string"}}, {"in": "query", "name": "acked", "schema": {"type": "boolean"}}, {"description": "Alarm severity; accepts multiple values separated by comma", "in": "query", "name": "severity", "schema": {"type": "string"}}, {"description": "Alarm group name; accepts multiple values separated by comma", "in": "query", "name": "group", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Alarms"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "unack": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Unack multiple Site Alarms", "operationId": "unackSiteMultipleAlarms", "tags": ["Sites Alarms"]}}}, "unack_all": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Unack all Site Alarms\n\n**N.B.**: Batch size for multiple alarm ack and unack has to be less or or equal to 1000.", "operationId": "unackSiteAllArlarms", "tags": ["Sites Alarms"]}}}, "{alarm_id}": {"paths": {"ack": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/alarm_id"}], "post": {"description": "Ack Site Alarm", "operationId": "ackSiteAlarm", "tags": ["Sites Alarms"]}}}, "unack": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/alarm_id"}], "post": {"description": "Unack Site Alarm", "operationId": "unackSiteAlarm", "tags": ["Sites Alarms"]}}}}}}}, "anomaly": {"paths": {"client": {"paths": {"{client_mac}": {"paths": {"{metric}": {"specs": {"get": {"description": "Get Client Anomaly Events", "operationId": "getSiteAnomalyEventsForClient", "tags": ["Sites Anomaly"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/client_mac"}, {"$ref": "#/components/parameters/metric"}]}}}}}}, "device": {"paths": {"{device_mac}": {"paths": {"{metric}": {"specs": {"get": {"description": "Get Device Anomaly Events", "operationId": "getSiteAnomalyEventsforDevice", "tags": ["Sites Anomaly"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/metric"}, {"$ref": "#/components/parameters/device_mac"}]}}}}}}, "{metric}": {"specs": {"get": {"description": "Get Site Anomaly Events", "operationId": "getSiteAnomalyEvents", "tags": ["Sites Anomaly"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/metric"}]}}}}, "apps": {"specs": {"get": {"description": "Get List of Site Applications", "operationId": "listSiteApps", "tags": ["Sites Applications"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "aptemplates": {"paths": {"derived": {"specs": {"get": {"description": "Get derived AP Templates for Site", "operationId": "getSiteApTemplateDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"type": "boolean"}}], "tags": ["Sites AP Templates"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "assetfilters": {"specs": {"get": {"description": "Get List of Site Asset Filters", "operationId": "listSiteAssetFilters", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Asset Filters"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site Asset Filter", "operationId": "createSiteAssetFilters", "tags": ["Sites Asset Filters"]}}, "paths": {"{assetfilter_id}": {"specs": {"delete": {"description": "Deletes an existing BLE asset filter for the given site.", "operationId": "deleteSiteAssetFilter", "tags": ["Sites Asset Filters"]}, "get": {"description": "Get Site Asset Filter Details", "operationId": "getSiteAssetFilter", "tags": ["Sites Asset Filters"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/assetfilter_id"}], "put": {"description": "Updates an existing BLE asset filter for the given site.", "operationId": "updateSiteAssetFilter", "tags": ["Sites Asset Filters"]}}}}}, "assets": {"specs": {"get": {"description": "Get List of Site Assets", "operationId": "listSiteAssets", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Assets"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site Asset", "operationId": "createSiteAsset", "tags": ["Sites Assets"]}}, "paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Impert Site Assets. \n\nIt can be done via a CSV file or a JSON payload.\n\n## CSV File Format\n```csv\nname,mac\n\"asset_name\",5c5b53010101\n```", "operationId": "importSiteAssets", "parameters": [{"description": "API will replace the assets with same mac if provided `upsert`==`True`, otherwise will report in errors in response.", "in": "query", "name": "upsert", "schema": {"$ref": "#/components/schemas/import_site_assets_upsert"}}], "tags": ["Sites Assets"]}}}, "{asset_id}": {"specs": {"delete": {"description": "Delete Site Asset", "operationId": "deleteSiteAsset", "tags": ["Sites Assets"]}, "get": {"description": "Get Site Asset Details", "operationId": "getSiteAsset", "tags": ["Sites Assets"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/asset_id"}], "put": {"description": "Update Site Asset", "operationId": "updateSiteAsset", "tags": ["Sites Assets"]}}}}}, "beacons": {"specs": {"get": {"description": "Get List of Site Beacons", "operationId": "listSiteBeacons", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Beacons"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site Beacon", "operationId": "createSiteBeacon", "tags": ["Sites Beacons"]}}, "paths": {"{beacon_id}": {"specs": {"delete": {"description": "Delete Site Beacon", "operationId": "deleteSiteBeacons", "tags": ["Sites Beacons"]}, "get": {"description": "Get Site Beacon Details", "operationId": "getSiteBeacon", "tags": ["Sites Beacons"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/beacon_id"}], "put": {"description": "Update Site Beacon", "operationId": "updateSiteBeacons", "tags": ["Sites Beacons"]}}}}}, "clients": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Clients", "operationId": "countSiteWirelessClients", "parameters": [{"example": "hostname", "in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_clients_count_distinct"}}, {"in": "query", "name": "ssid", "schema": {"type": "string"}}, {"in": "query", "name": "ap", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/ip"}, {"in": "query", "name": "vlan", "schema": {"type": "string"}}, {"in": "query", "name": "hostname", "schema": {"type": "string"}}, {"in": "query", "name": "os", "schema": {"type": "string"}}, {"in": "query", "name": "model", "schema": {"type": "string"}}, {"in": "query", "name": "device", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "disconnect": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "To unauthorize multiple clients", "operationId": "disconnectSiteMultipleClients", "tags": ["Utilities Wi-Fi"]}}}, "events": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Client-Events", "operationId": "countSiteWirelessClientEvents", "parameters": [{"example": "type", "in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_client_events_count_distinct"}}, {"$ref": "#/components/parameters/client_event_type"}, {"description": "for assoc/disassoc events", "in": "query", "name": "reason_code", "schema": {"type": "integer"}}, {"description": "SSID Name", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/dot11_proto"}, {"$ref": "#/components/parameters/dot11_band"}, {"description": "wlan_id", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Get Site Clients Events", "operationId": "searchSiteWirelessClientEvents", "parameters": [{"$ref": "#/components/parameters/client_event_type"}, {"description": "for assoc/disassoc events", "in": "query", "name": "reason_code", "schema": {"type": "integer"}}, {"description": "SSID Name", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/dot11_proto"}, {"$ref": "#/components/parameters/dot11_band"}, {"description": "wlan_id", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"description": "nacrule_id", "in": "query", "name": "nacrule_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "search": {"specs": {"get": {"description": "Search Wireless Clients\n\n**NOTE**: fuzzy logic can be used with \u2018*\u2019, supported filters: mac, hostname, device, os, model. E.g. /clients/search?device=Mac*&hostname=jerry", "operationId": "searchSiteWirelessClients", "parameters": [{"description": "partial / full MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/ip"}, {"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "device type, e.g. Mac, Nvidia, iPhone", "in": "query", "name": "device", "schema": {"type": "string"}}, {"description": "os, e.g. Sierra, Yosemite, Windows 10", "in": "query", "name": "os", "schema": {"type": "string"}}, {"description": "model, e.g. \u201cMBP 15 late 2013\u201d, 6, 6s, \u201c8+ GSM\u201d", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "AP mac where the client has connected to", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "partial / full MAC address, hostname, username, psk_name or ip", "in": "query", "name": "text", "schema": {"type": "string"}}, {"description": "nacrule_id", "in": "query", "name": "nacrule_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "sessions": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Client Sessions", "operationId": "countSiteWirelessClientSessions", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_client_sessions_count_distinct"}}, {"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/dot11_band"}, {"description": "E.g. \u201cMac\u201d, \u201ciPhone\u201d, \u201cApple watch\u201d", "in": "query", "name": "client_family", "schema": {"type": "string"}}, {"description": "E.g. \u201cApple\u201d", "in": "query", "name": "client_manufacture", "schema": {"type": "string"}}, {"description": "E.g. \u201c8+\u201d, \u201cXS\u201d", "in": "query", "name": "client_model", "schema": {"type": "string"}}, {"description": "E.g. \u201cMojave\u201d, \u201cWindows 10\u201d, \u201cLinux\u201d", "in": "query", "name": "client_os", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "wlan_id", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Client Sessions", "operationId": "searchSiteWirelessClientSessions", "parameters": [{"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/dot11_band"}, {"description": "E.g. \u201cMac\u201d, \u201ciPhone\u201d, \u201cApple watch\u201d", "in": "query", "name": "client_family", "schema": {"type": "string"}}, {"description": "E.g. \u201cApple\u201d", "in": "query", "name": "client_manufacture", "schema": {"type": "string"}}, {"description": "E.g. \u201c8+\u201d, \u201cXS\u201d", "in": "query", "name": "client_model", "schema": {"type": "string"}}, {"description": "Username", "in": "query", "name": "client_username", "schema": {"type": "string"}}, {"description": "E.g. \u201cMojave\u201d, \u201cWindows 10\u201d, \u201cLinux\u201d", "in": "query", "name": "client_os", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "wlan_id", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/psk_id_query"}, {"description": "PSK Name", "in": "query", "name": "psk_name", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "unauthorize": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "This unauthorize clients (if they are guest) and disconnect them. From the guest\u2019s perspective, they will see the splash page again and go through the flow (e.g. Terms of Use) again.", "operationId": "unauthorizeSiteMultipleClients", "tags": ["Utilities Wi-Fi"]}}}, "{client_mac}": {"paths": {"coa": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/client_mac"}], "post": {"description": "Trigger a CoA (change of authorization) against a client", "operationId": "reauthSiteDot1xWirelessClient", "tags": ["Utilities Wi-Fi"]}}}, "disconnect": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/client_mac"}], "post": {"description": "This disconnect a client (and it\u2019s likely to connect back)", "operationId": "disconnectSiteWirelessClient", "tags": ["Utilities Wi-Fi"]}}}, "events": {"specs": {"get": {"description": "Get the list of events for a specific client", "operationId": "getSiteEventsForClient", "parameters": [{"description": "e.g. MARVIS_EVENT_CLIENT_DHCP_STUCK", "in": "query", "name": "type", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/dot11_proto"}, {"$ref": "#/components/parameters/dot11_band"}, {"in": "query", "name": "channel", "schema": {"type": "string"}}, {"in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"in": "query", "name": "ssid", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/client_mac"}]}}, "unauthorize": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/client_mac"}], "post": {"description": "This unauthorize a client (if it\u2019s a guest) and disconnect it. From the guest\u2019s perspective, s/he will see the splash page again and go through the flow (e.g. Terms of Use) again.", "operationId": "unauthorizeSiteWirelessClient", "tags": ["Utilities Wi-Fi"]}}}}}}}, "deviceprofiles": {"paths": {"derived": {"specs": {"get": {"description": "Retrieves the list of Device Profiles available for the Site", "operationId": "listSiteDeviceProfilesDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"default": false, "type": "boolean"}}], "tags": ["Sites Device Profiles"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "devices": {"specs": {"get": {"description": "Get list of devices on the site.", "operationId": "listSiteDevices", "parameters": [{"in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/device_type_with_all"}}, {"$ref": "#/components/parameters/name"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"ap_channels": {"specs": {"get": {"description": "Get a list of allowed channels (per channel width)", "operationId": "getSiteDeviceRadioChannels", "parameters": [{"description": "country code for the site (for AP config generation), in [two-character](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)", "example": "US", "in": "query", "name": "country_code", "schema": {"type": "string"}}], "tags": ["Sites Devices - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "config_history": {"paths": {"count": {"specs": {"get": {"description": "Counts the number of entries in device config history for distinct field with given filters", "operationId": "countSiteDeviceConfigHistory", "parameters": [{"in": "query", "name": "distinct", "schema": {"type": "string"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search for entries in device config history", "operationId": "searchSiteDeviceConfigHistory", "parameters": [{"in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/device_type"}}, {"description": "Device MAC Address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "count": {"specs": {"get": {"description": "Counts the number of entries in ap events history for distinct field with given filters", "operationId": "countSiteDevices", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_devices_count_distinct"}}, {"in": "query", "name": "hostname", "schema": {"type": "string"}}, {"in": "query", "name": "model", "schema": {"type": "string"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}, {"in": "query", "name": "version", "schema": {"type": "string"}}, {"in": "query", "name": "mxtunnel_status", "schema": {"type": "string"}}, {"in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"in": "query", "name": "lldp_system_name", "schema": {"type": "string"}}, {"in": "query", "name": "lldp_system_desc", "schema": {"type": "string"}}, {"in": "query", "name": "lldp_port_id", "schema": {"type": "string"}}, {"in": "query", "name": "lldp_mgmt_addr", "schema": {"type": "string"}}, {"in": "query", "name": "map_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "events": {"paths": {"count": {"specs": {"get": {"description": "Counts the number of entries in ap events history for distinct field with given filters", "operationId": "countSiteDeviceEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_device_events_count_distinct"}}, {"in": "query", "name": "model", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/device_event_type"}, {"in": "query", "name": "type_code", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Devices Events", "operationId": "searchSiteDeviceEvents", "parameters": [{"description": "device mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "event message", "in": "query", "name": "text", "schema": {"type": "string"}}, {"description": "event time", "in": "query", "name": "timestamp", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/device_event_type"}, {"description": "Return last/recent event for passed in field", "example": "port_id", "in": "query", "name": "last_by", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "export": {"specs": {"get": {"description": "To download the exported device information", "operationId": "exportSiteDevices", "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "import": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Import Information for Multiple Devices\n\nCSV format:\n```csv\nmac,name,map_id,x,y,height,orientation,labels,band_24.power,band_24.bandwidth,band_24.channel,band_24.disabled,band_5.power,band_5.bandwidth,band_5.channel,band_5.disabled,band_6.power,band_6.bandwidth,band_6.channel,band_6.disabled\n5c5b53010101,\"AP 1\",845a23bf-bed9-e43c-4c86-6fa474be7ae5,30,10,2.3,45,\"guest, campus, vip\",1,20,0,false,0,40,0,false,17,80,0,false\n```", "operationId": "importSiteDevices", "tags": ["Sites Devices"]}}}, "last_config": {"paths": {"count": {"specs": {"get": {"description": "Counts the number of entries in device config history for distinct field with given filters", "operationId": "countSiteDeviceLastConfig", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_device_last_config_count_distinct"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Device Last Configs", "operationId": "searchSiteDeviceLastConfigs", "parameters": [{"in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/device_type"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}, {"in": "query", "name": "version", "schema": {"type": "string"}}, {"in": "query", "name": "name", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "reprovision": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "To force all APs to reprovision itself again.", "operationId": "reprovisionSiteAllAps", "tags": ["Utilities Wi-Fi"]}}}, "reset_radio_config": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Reset all APs in the Site to use RRM", "operationId": "resetSiteAllApsToUseRrm", "tags": ["Utilities Wi-Fi"]}}}, "restart": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Note that only the devices that are connected will be restarted.", "operationId": "restartSiteMultipleDevices", "tags": ["Sites Devices"]}}}, "search": {"specs": {"get": {"description": "Search Device", "operationId": "searchSiteDevices", "parameters": [{"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/device_type"}}, {"description": "device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "device MAC", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "version", "in": "query", "name": "version", "schema": {"type": "string"}}, {"description": "power_constrained", "in": "query", "name": "power_constrained", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/ip"}, {"description": "MxTunnel status, up / down", "in": "query", "name": "mxtunnel_status", "schema": {"$ref": "#/components/schemas/search_site_devices_mxtunnel_status"}}, {"description": "Mist Edge id, if AP is connecting to a Mist Edge", "in": "query", "name": "mxedge_id", "schema": {"format": "uuid", "type": "string"}}, {"description": "LLDP system name", "in": "query", "name": "lldp_system_name", "schema": {"type": "string"}}, {"description": "LLDP system description", "in": "query", "name": "lldp_system_desc", "schema": {"type": "string"}}, {"description": "LLDP port id", "in": "query", "name": "lldp_port_id", "schema": {"type": "string"}}, {"description": "LLDP management ip address", "in": "query", "name": "lldp_mgmt_addr", "schema": {"type": "string"}}, {"description": "Channel of band_24", "in": "query", "name": "band_24_channel", "schema": {"type": "integer"}}, {"description": "Channel of band_5", "in": "query", "name": "band_5_channel", "schema": {"type": "integer"}}, {"description": "Channel of band_6", "in": "query", "name": "band_6_channel", "schema": {"type": "integer"}}, {"description": "Bandwidth of band_24", "in": "query", "name": "band_24_bandwith", "schema": {"type": "integer"}}, {"description": "Bandwidth of band_5", "in": "query", "name": "band_5_bandwith", "schema": {"type": "integer"}}, {"description": "Bandwidth of band_6", "in": "query", "name": "band_6_bandwith", "schema": {"type": "integer"}}, {"description": "Port speed of eth0", "in": "query", "name": "eth0_port_speed", "schema": {"type": "integer"}}, {"description": "sort options", "in": "query", "name": "sort", "schema": {"$ref": "#/components/schemas/search_site_devices_sort"}}, {"description": "sort options in reverse order", "in": "query", "name": "desc_sort", "schema": {"$ref": "#/components/schemas/search_site_devices_desc_sort"}}, {"description": "whether to return device stats", "in": "query", "name": "stats", "schema": {"default": false, "type": "boolean"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "send_ble_beacon": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Send arbitrary BLE Beacon for a period of time\n\nNote that only the devices that are connected will be restarted.", "operationId": "sendSiteDevicesArbitratryBleBeacon", "tags": ["Utilities Location"]}}}, "upgrade": {"specs": {"get": {"description": "Get all upgrades for site", "operationId": "listSiteDeviceUpgrades", "parameters": [{"in": "query", "name": "status", "schema": {"$ref": "#/components/schemas/device_upgrade_status"}}], "tags": ["Utilities Upgrade"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Upgrade Site Device\n\n**Note**: this call doesn\u2019t guarantee the devices to be upgraded right away (they may be offline)", "operationId": "upgradeSiteDevices", "tags": ["Utilities Upgrade"]}}, "paths": {"{upgrade_id}": {"specs": {"get": {"description": "Get Site Device Upgrade", "operationId": "getSiteDeviceUpgrade", "tags": ["Utilities Upgrade"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/upgrade_id"}]}, "paths": {"cancel": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/upgrade_id"}], "post": {"description": "Best effort to cancel an upgrade. Devices which are already upgraded wont be touched", "operationId": "cancelSiteDeviceUpgrade", "tags": ["Utilities Upgrade"]}}}}}}}, "upgrade_bios": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Upgrade Bios on Multiple Device", "operationId": "upgradeSiteDevicesBios", "tags": ["Utilities LAN"]}}}, "upgrade_fpga": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Upgrade Bios on Multiple Device", "operationId": "upgradeSiteDevicesFpga", "tags": ["Utilities LAN"]}}}, "versions": {"specs": {"get": {"description": "Get List of Available Device Versions", "operationId": "listSiteAvailableDeviceVersions", "parameters": [{"in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/device_type"}}, {"description": "fetch version for device model, use/combine with `type` as needed (for switch and gateway devices)", "in": "query", "name": "model", "schema": {"type": "string"}}], "tags": ["Utilities Upgrade"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "zeroize": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Zeroize all FIPS APs in the Site", "operationId": "zeroizeSiteFipsAllAps", "tags": ["Utilities Wi-Fi"]}}}, "{device_id}": {"specs": {"get": {"description": "Get Device Configuration", "operationId": "getSiteDevice", "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "put": {"description": "Update Device Configuration", "operationId": "updateSiteDevice", "tags": ["Sites Devices"]}}, "paths": {"arp": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "ARP can be performed on the Device. The output will be available through websocket. As there can be multiple command issued against the same AP at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```json\n{ \n \"event\": \"data\", \n \"channel\": \"/sites/4ac1dcf4-9d8b-7211-65c4-057819f0862b/devices/00000000-0000-0000-1000-5c5b350e0060/cmd\", \n \"data\": { \n \"session\": \"session_id\", \n \"raw\": \n \"Output\": \"\\tMAC\\t\\tDEV\\tVLAN\\tRx Packets\\t\\t Rx Bytes\\t\\tTx Packets\\t\\t Tx Bytes\\tFlows\\tIdle sec\\n-----------------------------------------------------------------------------------------------------------------------\"\n } \n}\n```", "operationId": "arpFromDevice", "tags": ["Utilities Common"]}}}, "bounce_port": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Port Bounce can be performed from the Switch.The output will be available through websocket. As there can be multiple command issued against the same AP at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```json\n{\n \"event\": \"data\",\n \"channel\": \"/sites/4ac1dcf4-9d8b-7211-65c4-057819f0862b/devices/00000000-0000-0000-1000-5c5b350e0060/cmd\",\n \"data\": {\n \"session\": \"session_id\",\n \"raw\": \"Port bounce complete.\"\n }\n}\n```", "operationId": "portsBounceFromSwitch", "tags": ["Utilities LAN"]}}}, "cable_test": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "TDR can be performed from the Switch. The output will be available through websocket. As there can be multiple command issued against the same Switch at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```json\n{\n \"event\": \"data\",\n \"channel\": \"/sites/4ac1dcf4-9d8b-7211-65c4-057819f0862b/devices/00000000-0000-0000-1000-5c5b350e0060/cmd\",\n \"data\": {\n \"session\": \"session_id\",\n \"raw\": \"Interface TDR detail:\\nTest status : Test successfully executed ge-0/0/0\\n\"\n }\n}\n```", "operationId": "cableTestFromSwitch", "tags": ["Utilities LAN"]}}}, "check_radius_server": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Ping test from the AP to confirm \u2018reachability\u2019 of the Radius server. Utilize Juniper EX switch(to which an AP is connected to) radius test capabilities to get details on the Radius Server \u2018availability\u2019.", "operationId": "startSiteSwitchRadiusSyntheticTest", "tags": ["Sites Synthetic Tests"]}}}, "clear_arp": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Clear ARP cache for SSR, SRX and Switch\n\nClear the entire ARP cache or a subset if arguments are provided.\n\n*Note*: port_id is optional if neither vlan nor ip is specified", "operationId": "clearSiteSsrArpCache", "tags": ["Utilities WAN"]}}}, "clear_bgp": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Clear routes associated with one or all BGP neighbors", "operationId": "clearSiteSsrBgpRoutes", "tags": ["Utilities WAN"]}}}, "clear_bpdu_error": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Clear bridge protocol data unit (BPDU) error condition caused by the detection of a possible bridging loop from Spanning Tree Protocol (STP) operation that renders the port unoperational.", "operationId": "clearBpduErrosFromPortsOnSwitch", "tags": ["Utilities LAN"]}}}, "clear_mac_table": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Clear MAC Table from the Device.\n\nThe output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, `session` is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n", "operationId": "clearSiteDeviceMacTable", "tags": ["Utilities Common"]}}}, "clear_macs": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Clear all learned MAC addresses, including persistent MAC addresses, on a port.", "operationId": "clearAllLearnedMacsFromPortOnSwitch", "tags": ["Utilities LAN"]}}}, "config_cmd": {"specs": {"get": {"description": "Get Config CLI Commands\nFor a brown-field switch deployment where we adopted the switch through Adoption Command, we do not wipe out / overwrite the existing config automatically. Instead, we generate CLI commands that we would have generated. The user can inspect, modify, and incorporate this into their existing config manually.\n\nOnce they feel comfortable about the config we generate, they can enable allow_mist_config where we will take full control of their config like a claimed switch", "operationId": "getSiteDeviceConfigCmd", "parameters": [{"description": "Make output cmds sorted (for better readability) or not.", "in": "query", "name": "sort", "schema": {"default": false, "type": "boolean"}}], "tags": ["Utilities Common"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}]}}, "ha": {"specs": {"delete": {"description": "Delete HA Cluster", "operationId": "deleteSiteDeviceHaCluster", "tags": ["Sites Devices - WAN Cluster"]}, "get": {"deprecated": true, "description": "Get HA Cluster", "operationId": "getSiteDeviceHaClusterNode", "tags": ["Sites Devices - WAN Cluster"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "## Create HA Cluster\nBoth nodes has to be in the same site. We expect the user to configure ha_sync / ha_data port in port_configs already\n\n### SRX cabling\n\nsee [Chassis Cluster User Guide for SRX Series Devices](https://www.juniper.net/documentation/us/en/software/junos/chassis-cluster-security-devices/topics/concept/chassis-cluster-srx-series-node-interface-understanding.html) Here\u2019s the recommended cabling.\n\n#### SRX300\n\nFrom ZTP / default state, ge-0/0/0 and ge-0/0/7 (SFP) are default WAN ports and will get DHCP IP. However, ge-0/0/0 becomes OOB/fxp0 after cluster is enabled (i.e. using it for reach Mist is not recommended)\n\n1. form cluster in UI\n2. configure ge-0/0/7,ge-1/0/7 for WAN (reth0)\n3. configure ge-0/0/2,ge-1/0/2 for ha_data\n4. configure ge-0/0/3- for LAN or additional WAN e.g.\n \n\n``` json\n{\n \"port_config\": {\n \"ge-0/0/2,ge-1/0/2\": {\n \"usage\": \"ha_data\"\n },\n \"ge-0/0/7,ge-1/0/7\": {\n \"usage\": \"wan\",\n \"redundant\": true,\n \"reth_idx\": 0,\n \"ip_config\": {\"type\": \"dhcp\"}\n },\n }\n}\n\n```\n\n1. connect ge-0/0/1 back to back for ha_control\n2. connect ge-0/0/2 back to back for ha_data\n3. connect both ge-0/0/7 to uplink switch to WAN and to reach Mist\n4. power up both devices\n5. it takes about 30 minutes for the cluster to form\n \n\n#### SRX320\n\nFrom ZTP / default state, ge-0/0/0, ge-0/0/7 (SFP) and cl-1/0/0 (LTE) are default WAN ports and will get DHCP IP. However, ge-0/0/0 becomes OOB/fxp0 after cluster is enabled (i.e. using it for reach Mist is not recommended)\n\n##### ZTP via ge-0/0/7\n\nSimilar to SRX300\n\n##### ZTP via cl-1/0/0 (LTE)\n\n1. form cluster in UI\n2. configure cl-1/0/0, cl-3/0/0 as WAN (reth0)\n3. configure ge-0/0/2,ge-3/0/2 for ha_data\n4. same as above\n \n\n#### SRX340 / SRX345 / SRX380\n\nSRX340/SRX345 has dedicated OOB/fxp0 ports\n\n1. form cluster in UI\n2. configure ge-0/0/0,ge-5/0/0 for WAN (reth0)\n3. configure ge-0/0/2,ge-5/0/2 for ha_data\n4. configure ge-0/0/3- for LAN or additional WAN\n5. connect ge-0/0/0 to uplink switch to WAN and to reach Mist\n6. connect ge-0/0/1 back-to-back for ha_control\n7. connect ge-0/0/2 back-to-back for ha_data (fabric); or for SRX380, xe-0/0/16 if 10G SFP+ is used\n8. connect ge-0/0/3- to LAN or additional WANs\n \n\n#### SRX550\n\nge-0/0/0 becomes OOB/fxp0 after cluster is enabled, make suenable oob_ip_config as dhcp to maintain cloud connectivity\n\n1. connect ge-0/0/0 to reach Mist (after cluster is fully up, this port becomes OOB/fxp0)\n2. connect ge-0/0/1 back-to-back for ha_control\n3. connect ge-0/0/2 back-to-back for ha_data (fabric)\n4. connect ge-0/0/3 to WAN (after cluster is up, intended to be used for reth0)\n5. connect ge-0/0/4- to LAN or additional WANs\n \n\n#### SRX1500\n\nSRX1500 has, additionally, dedicated HA Control port\n\n1. form cluster in UI\n2. configure ge-0/0/0,ge-5/0/0 for WAN (reth0)\n3. configure ge-0/0/1,ge-5/0/1 for ha_data\n4. configure ge-0/0/2- for LAN or additional WAN\n5. connect dedicated ha_control back-to-back\n6. connect ge-0/0/0 to uplink switch to WAN and to reach Mist\n7. connect ge-0/0/1 back-to-back for ha_data\n8. connect ge-0/0/2- to LAN or additional WANs\n \n\n#### SRX4100\n\nSRX4100 has dedicated ha_control and ha_data (fabric) ports\n\n1. connect dedicated ha_control back-to-back\n2. connect dedicated ha_data back-to-back\n3. connect xe-0/0/0 to WAN to reach Mist\n4. connect xe-0/0/1- to LAN or additional WANs\n \n\n#### VSRX\n\nWhen standalone, VSRX has fxp0 as first Network Adapter, then ge-0/0/0-N When clustered, VSRX has fxp0, em0, then ge-0/0/0-N\n\n1. connect net0 (fxp0) to WAN to reach Mist\n2. connect net1 back-to-back for ha_control\n3. connect net2 (ge-0/0/0) back-to-back for ha_data (fab0/fab1)\n4. connect net3 (ge-0/0/1) to WAN, intended to be used for reth0\n5. connect net4 (ge-0/0/2) to LAN\n \n\nSRX340/SRX345 has dedicated OOB/fxp0 ports VSRX has fxp0 as first Network Adapter, then ge-0/0/0-N\n\n1. connect ge-0/0/0 to WAN to reach Mist\n2. connect ge-0/0/1 back-to-back for ha_control\n3. connect ge-0/0/2 back-to-back for ha_data (fabric); or for SRX380, xe-0/0/16 if 10G SFP+ is used\n4. connect ge-0/0/3- to LAN or additional WANs\n \n\n#### SRX550\n\nge-0/0/0 becomes OOB/fxp0 after cluster is enabled, make suenable oob_ip_config as dhcp to maintain cloud connectivity\n\n1. connect ge-0/0/0 to reach Mist (after cluster is fully up, this port becomes OOB/fxp0)\n2. connect ge-0/0/1 back-to-back for ha_control\n3. connect ge-0/0/2 back-to-back for ha_data (fabric)\n4. connect ge-0/0/3 to WAN (after cluster is up, intended to be used for reth0)\n5. connect ge-0/0/4- to LAN or additional WANs\n \n\n#### SRX1500\n\nSRX1500 has, additionally, dedicated HA Control port\n\n1. form cluster in UI\n2. configure ge-0/0/0,ge-7/0/0 for WAN (reth0)\n3. configure ge-0/0/1,ge-7/0/1 for ha_data\n4. configure ge-0/0/2- for LAN or additional WAN\n5. connect dedicated ha_control back-to-back\n6. connect ge-0/0/0 to uplink switch to WAN and to reach Mist\n7. connect ge-0/0/1 back-to-back for ha_data\n8. connect ge-0/0/2- to LAN or additional WANs\n\n \n#### SRX1600\n\nSRX1600 has, additionally, two dedicated HA Control port\n\n1. form cluster in UI\n2. configure ge-0/0/0,ge-7/0/0 for WAN (reth0)\n3. configure ge-0/0/1,ge-7/0/1 for ha_data\n4. configure ge-0/0/2- for LAN or additional WAN\n5. connect dedicated both ha_control back-to-back\n6. connect ge-0/0/0 to uplink switch to WAN and to reach Mist\n7. connect ge-0/0/1 back-to-back for ha_data\n8. connect ge-0/0/2- to LAN or additional WANs\n\n\n#### SRX4100\n\nSRX4100 has dedicated ha_control and ha_data (fabric) ports\n\n1. connect dedicated ha_control back-to-back\n2. connect dedicated ha_data back-to-back\n3. connect xe-0/0/0 to WAN to reach Mist\n4. connect xe-0/0/1- to LAN or additional WANs\n\n\n## Replace a Node in a HA Cluster\nUsually Device Replacement is done by Device Replacement API. For a HA cluster, you can also replace a node by another device in the same site.", "operationId": "createSiteDeviceHaCluster", "tags": ["Sites Devices - WAN Cluster"]}, "put": {"deprecated": true, "description": "Swap nodes on the HA Cluster", "operationId": "swapSiteDeviceHaClusterNode", "tags": ["Sites Devices - WAN Cluster"]}}}, "image{image_number}": {"specs": {"delete": {"description": "Delete image from a device", "operationId": "deleteSiteDeviceImage", "tags": ["Sites Devices"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}, {"in": "path", "name": "image_number", "required": true, "schema": {"type": "integer"}}], "post": {"description": "Attach up to 3 images to a device", "operationId": "addSiteDeviceImage", "tags": ["Sites Devices"]}}}, "iot": {"specs": {"get": {"description": "Returns the current state of each enabled IoT pin configured as an output.", "operationId": "getSiteDeviceIotPort", "tags": ["Sites Devices - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "put": {"description": "**Note**: For each IoT pin referenced:\n * The pin must be enabled using the Device `iot_config` API\n * The pin must support the output direction", "operationId": "setSiteDeviceIotPort", "tags": ["Sites Devices - Wireless"]}}}, "local_port_config": {"specs": {"delete": {"description": "Sometimes HelpDesk Admin needs to change port configs", "operationId": "deleteSiteLocalSwitchPortConfig", "tags": ["Sites Devices - Wired"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "put": {"description": "Sometimes HelpDesk Admin needs to change port configs", "operationId": "updateSiteLocalSwitchPortConfig", "tags": ["Sites Devices - Wired"]}}}, "locate": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "### Access Points\nLocate an Access Point by blinking it's LED.\nIt is a persisted state that has to be stopped by calling Stop Locating API\n\n### Switches\nLocate a Switch by blinking all port LEDs. \nBy default, request is sent to `master` switch and LEDs will keep flashing for 5 minutes.\nIn case of virtual chassis (VC) the desired member mac has to be passed in the request payload. \nAt anypoint, only one VC member can be requested to flash the LED. \nTo stop LED flashing before the duration ends /unlocate API request can be made. \nIf /unlocate API is not called LED will continue to flash on device for the given duration. \nDefault duration is 5 minutes and 120 minutes is the maximum.", "operationId": "startSiteLocateDevice", "tags": ["Utilities Common"]}}}, "monitor_traffic": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Monitor traffic on switches and SRX.\n\nJUNOS uses cmd \u201cmonitor interface\u201d to monitor traffic on particular JUNOS uses cmd \u201cmonitor interface traffic\u201d to monitor traffic on all ports", "operationId": "monitorSiteDeviceTraffic", "tags": ["Utilities Common"]}}}, "ping": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Ping from AP, Switch and SSR\n\nPing can be performed from the Device. The output will be available through websocket. As there can be multiple command issued against the same AP at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```json\n{\n \"event\": \"data\",\n \"channel\": \"/sites/4ac1dcf4-9d8b-7211-65c4-057819f0862b/devices/00000000-0000-0000-1000-5c5b350e0060/cmd\",\n \"data\": {\n \"session\": \"session_id\",\n \"raw\": \"64 bytes from 23.211.0.110: seq=8 ttl=58 time=12.323 ms\\n\"\n }\n}\n```", "operationId": "pingFromDevice", "tags": ["Utilities Common"]}}}, "poll_stats": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "This API can be used to poll statistics from the Switch proactively once. After it is called, the statistics will be pushed back to the cloud within the statistics interval.", "operationId": "pollSiteSwitchStats", "tags": ["Utilities LAN"]}}}, "readopt": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "For the octerm devices, the device ID must come from fpc0. However, for a VC, the users may change the original fpc0 from CLI. To fix the issue, the readopt API could be used to trigger the readopt process so the device would get the corret device ID to connect the cloud.", "operationId": "readoptSiteOctermDevice", "tags": ["Utilities Common"]}}}, "release_dhcp": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Releases an active DHCP lease.", "operationId": "releaseSiteSsrDhcpLease", "tags": ["Utilities WAN"]}}}, "reprovision": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "To force one device to reprovision itself again.", "operationId": "reprovisionSiteOctermDevice", "tags": ["Utilities Common"]}}}, "request_ztp_password": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "In the case where soemthing happens during/after ZTP, the root-password is modified (required for ZTP to set up outbound-ssh) but the user-defined password config has not be configured. This API can be used to retrieve the temporary password.", "operationId": "getSiteDeviceZtpPassword", "tags": ["Utilities Common"]}}}, "resolve_dns": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "DNS resolutions are performed on the Device.\n\nThe output will be available through websocket. As there can be multiple command issued against the same SSR at the same time and the output all goes through the same websocket stream, `session` is used for demux.\n \n #### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```\n Router | Hostname | Resolved | Last Resolved | Expiration\n-------------|------------------------|----------|----------------------|---------------------\n test-device | xxx.yyy.net | Y | 2022-03-28T03:56:49Z | 2022-03-28T03:57:49Z\n```", "operationId": "testSiteSsrDnsResolution", "tags": ["Utilities WAN"]}}}, "restart": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Restart / Reboot a device", "operationId": "restartSiteDevice", "tags": ["Utilities Common"]}}}, "service_ping": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Ping from SSR\n\nService Ping can be performed from the Device. The output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```json\n{\n \"event\": \"data\",\n \"channel\": \"/sites/4ac1dcf4-9d8b-7211-65c4-057819f0862b/devices/00000000-0000-0000-1000-5c5b350e0060/cmd\",\n \"data\": {\n \"session\": \"session_id\",\n \"raw\": \"64 bytes from 23.211.0.110: seq=8 ttl=58 time=12.323 ms\\n\"\n }\n}\n```", "operationId": "servicePingFromSsr", "tags": ["Utilities WAN"]}}}, "shell": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Create Shell Session", "operationId": "createSiteDeviceShellSession", "tags": ["Utilities Common"]}}}, "show_arp": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Get ARP Table from the Device.\n\nThe output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, `session` is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n", "operationId": "getSiteDeviceArpTable", "tags": ["Utilities Common"]}}}, "show_bgp_rummary": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Get BGP Summary from SSR, SRX and Switch.\n\n\nThe output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, `session` is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \\\"subscribe\\\": \\\"/sites/{site_id}/devices/{device_id}/cmd\\\"\\\n\n}\n```\n\n##### Example output from ws stream\n```\nTue 2024-04-23 16:36:06 UTC\nRetrieving bgp entries...\nBGP table version is 354, local router ID is 10.224.8.16, vrf id 0\nDefault local pref 100, local AS 65000\nStatus codes: s suppressed, d damped, h history, * valid, > best, = multipath,\n i internal, r RIB_failure, S Stale, R Removed\nNexthop codes: @NNN nexthop's vrf id, < announce-nh-self\nOrigin codes: i - IGP, e - EGP, ? - incomplete\nRPKI validation codes: V valid, I invalid, N Not found\n\n Network Next Hop Metric LocPrf Weight Path\n*> 161.161.161.0/24\n```\"", "operationId": "getSiteDeviceBgpSummary", "tags": ["Utilities Common"]}}}, "show_evpn_database": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Get EVPN Database from the Device. The output will be available through websocket.", "operationId": "getSiteDeviceEvpnDatabase", "tags": ["Utilities Common"]}}}, "show_forwarding_table": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Get ARP Table from the Device.\n\nGet forwarding table from the Device. The output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, `session` is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n\n##### Example output from ws stream\n```\nMon 2024-05-20 16:47:30 UTC Retrieving fib entries\u2026 Entry Count: 3268 Capacity: 22668 ==================== ====== ======= ================== ===== ====================== =========== =========== ====== IP Prefix Port Proto Tenant VRF Service Next Hops Vector Cost ==================== ====== ======= ================== ===== ====================== =========== =========== ====== 0.0.0.0/0 0 None Old_Mgmt - internet-wan_and_lte 1-2.0 broadband 1 1-4.0 lte 10 branch1-Kiosk - internet-wan_and_lte 1-2.0 broadband 1 1-4.0 lte 10 branch1-MGT - internet-wan_and_lte 1-2.0 broadband 1 1-4.0 lte 10 3.1.1.0/24 0 None Old_Mgmt - internet-wan_and_lte 1-2.0 broadband 1 1-4.0 lte 10 branch1-Kiosk - internet-wan_and_lte 1-2.0 broadband 1 1-4.0 lte 10 branch1-MGT - internet-wan_and_lte 1-2.0 broadband 1 1-4.0 lte 10\n\n```\n", "operationId": "getSiteDeviceForwardingTable", "tags": ["Utilities Common"]}}}, "show_mac_table": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Get MAC Table from the Device.\n\nThe output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, `session` is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n", "operationId": "getSiteDeviceMacTable", "tags": ["Utilities Common"]}}}, "show_route": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Get routes from SSR, SRX and Switch. \n\nThe output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, `session` is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```\nadmin@labsystem1.fiedler# show bgp neighbors\nBGP neighbor is 192.168.4.1, remote AS 4200000001, local AS 4200000128, external\nlink\n BGP version 4, remote router ID 1.1.1.1\n BGP state = Established, up for 00:27:25\n Last read 00:00:25, hold time is 90, keepalive interval is 30 seconds\n Configured hold time is 90, keepalive interval is 30 seconds\n Neighbor capabilities:\n 4 Byte AS: advertised and received\n Route refresh: advertised and received(old & new)\n Address family IPv4 Unicast: advertised and received\n Graceful Restart Capabilty: advertised and received\n Remote Restart timer is 120 seconds\n Address families by peer:\n none\n ...\n```", "operationId": "getSiteSsrAndSrxRoutes", "tags": ["Utilities WAN"]}}}, "show_service_path": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Get service path information of the Device.\n\nThe output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```\nshow service_path\n\nService Service-route Type Destination Next-Hop Interface Vector Cost Rate Capacity State\n\nWeb web-route1 service_agent 4.4.4.4 1.1.1.2 lan red 10 1 200/3000 Up*\nWeb web-route1 service_agent 4.4.4.4 1.1.1.3 lan red 10 1 200/3000 Up\nWeb web-route2 service_agent 5.5.5.5 2.2.2.2 lan blue 20 2 50/unlimited Down\nLogin BgpOverSVR 10.1.1.1 1.2.3.4 wan red 10 3 - Up\nLogin BgpOverSVR 11.1.1.1 1.2.3.4 wan red 10 1 - Up\nApp1 Routed - - - - - - - -\nApp1 learned-routed Routed - - - - - - - -\n```", "operationId": "getSiteSsrServicePath", "tags": ["Utilities WAN"]}}}, "show_session": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Get active sessions passing through the Device.\n\nThe output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```\nadmin@ssr.node# show sessions\nFri 2020-04-17 16:55:34 UTC\n\nNode: node1\n\n====================================== ===== ============= =========== ========== ====== ======= ================= ========== ================= =========== ================= ========== =================== ========= =================\n Session Id Dir Service Tenant Dev Name VLAN Proto Src IP Src Port Dest IP Dest Port NAT IP NAT Port Payload Encrypted Timeout Uptime\n====================================== ===== ============= =========== ========== ====== ======= ================= ========== ================= =========== ================= ========== =================== ========= =================\n 01187fb8-765a-45e5-ae90-37d77f15e292 fwd Internet lanSubnet lan 0 udp 192.168.0.28 44674 35.166.173.18 9930 96.230.191.130 19569 false 154 0 days 0:00:28\n 01187fb8-765a-45e5-ae90-37d77f15e292 rev Internet lanSubnet wan 0 udp 35.166.173.18 9930 96.230.191.130 19569 0.0.0.0 0 false 154 0 days 0:00:28\n 0859a4ae-bcff-4aa6-b812-79a5236a6c13 fwd Internet lanSubnet lan 0 tcp 192.168.0.41 60843 17.249.171.246 443 96.230.191.130 51941 false 2 0 days 0:00:10\n\n```", "operationId": "getSiteSsrAndSrxSessions", "tags": ["Utilities WAN"]}}}, "snapshot": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Create recovery device snapshot (Available on Junos OS EX2300-, EX3400-, EX4400- devices)", "operationId": "createSiteDeviceSnapshot", "tags": ["Utilities LAN"]}}}, "support": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Support / Upload device support files\n\n#### Info Param\n**Parameter**|**Description** \n :-------------: |:-------------: |:-------------: \nprocess|Upload 1 file with output of show system processes extensive\noutbound-ssh|Upload 1 file that concatenates all /var/log/outbound-ssh.log* files\nmessages|Upload 1 to 10 /var/log/messages* files\ncore-dumps|Upload all core dump files, if any\nfull|string|Upload 1 file with output of request support information, 1 file that concatenates all /var/log/outbound-ssh.log files, all core dump files, the 3 most recent /var/log/messages files, and Mist agent logs (for Junos devices running the Mist agent)\nvar-logs|Upload all non-empty files in the /var/log/ directory\njma-logs|Upload Mist agent logs (for Junos devices running the Mist agent only)", "operationId": "uploadSiteDeviceSupportFile", "tags": ["Utilities Common"]}}}, "synthetic_test": {"specs": {"get": {"description": "Get Device Synthetic Test", "operationId": "getSiteDeviceSyntheticTest", "tags": ["Sites Synthetic Tests"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Trigger Device Synthetic Test", "operationId": "triggerSiteDeviceSyntheticTest", "tags": ["Sites Synthetic Tests"]}}}, "traceroute": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Traceroute can be performed from the Device.\n\nThe output will be available through websocket. As there can be multiple command issued against the same AP at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```", "operationId": "tracerouteFromDevice", "tags": ["Utilities Common"]}}}, "unlocate": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Stop Locate a Device", "operationId": "stopSiteLocateDevice", "tags": ["Utilities Common"]}}}, "upgrade": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Device Upgrade", "operationId": "upgradeDevice", "tags": ["Utilities Upgrade"]}}}, "upgrade_bios": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Upgrade device bios", "operationId": "upgradeDeviceBios", "tags": ["Utilities LAN"]}}}, "upgrade_fpga": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Upgrade device fpga", "operationId": "upgradeDeviceFPGA", "tags": ["Utilities LAN"]}}}, "vc": {"specs": {"delete": {"description": "When all the member switches of VC are removed and only member ID 0 is left, the cloud would detect this situation and automatically changes the single switch to non-VC role.\n\nFor some unexpected cases that the VC is gone and disconncted, the API below could be used to change the state of VC\u2019s switches to be standalone. After it is executed, all the switches will be shown as standalone switches under Inventory.", "operationId": "deleteSiteVirtualChassis", "tags": ["Sites Devices - Wired - Virtual Chassis"]}, "get": {"description": "Get VC Status\n\nThe API returns a combined view of the VC status which includes topology and stats_", "operationId": "getSiteDeviceVirtualChassis", "tags": ["Sites Devices - Wired - Virtual Chassis"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "For models (e.g. EX3400 and up) having dedicated VC ports, it is easier to form a VC by just connecting cables with the dedicated VC ports. Cloud will detect the new VC and update the inventory.\n\nIn case that the user would like to choose the dedicated switch as a VC master. Or for EX2300-C-12P and EX2300-C-12T which doesn\u2019t have dedicated VC ports, below are procedures to automate the VC creation:\n\n1. Power on the switch that is choosen as the VC master first. And the powering on the other member switches.\n2. Claim or adopt all these switches under the same organization\u2019s Inventory\n3. Assign these switches into the same Site\n4. Invoke vc command on the switch choosen to be the VC master. For EX2300-C-12P, VC ports will be created automatically.\n5. Connect the cables to the VC ports for these switches\n6. Wait for the VC to be formed. The Org\u2019s inventory will be updated for the new VC.", "operationId": "createSiteVirtualChassis", "tags": ["Sites Devices - Wired - Virtual Chassis"]}, "put": {"description": "The VC creation and adding member switch API will update the device\u2019s virtual chassis config which is applied after VC is formed to create JUNOS pre-provisioned virtual chassis configuration.\n\n## Change to use preprovisioned VC\nTo switch the VC to use preprovisioned VC, enable preprovisioned in virtual_chassis config. Both vc_role master and backup will be matched to routing-engine role in Junos preprovisioned VC config.\n\nIn this config, fpc0 has to be the same as the mac of device_id. Use renumber if you want to replace fpc0 which involves device_id change.\n\nNotice: to configure preprovisioned VC, every member of the VC must be in the inventory.\n\n## Add new members\nFor models (e.g. EX4300 and up) having dedicated VC ports, it is easier to add new member switches into a VC by just connecting cables with the dedicated VC ports. Cloud will detect the new members and update the inventory.\n\nFor EX2300 VC, adding new members requires to follow the procedures below:\n1. Powering on the new member switches and ensuring cables are not connected to any VC ports.\n2. Claim or adopt all new member switches under the VC\u2019s organization Inventory\n3. Assign all new member switches to the same Site as the VC\n4. Invoke vc command to add switches to the VC.\n5. Connect the cables to the VC ports for these switches\n6. After a while, the Org\u2019s Inventory shows this new switches has been added into the VC.\n\n## Removing member switch\nTo remove a member switch from the VC, following the procedures below:\n\n1. Ensuring the VC is connected to the cloud first\n2. Unplug the cable from the VC port of the switch\n3. Waiting for the VC state (vc_state) of this switch is changed to not-present\n4. Invoke update_vc with remove to remove this switch from the VC\n5. The Org\u2019s Inventory shows the switch is removed.\n\nPlease notice that member ID 0 (fpc0) cannot be removed. When a VC has two switches left, unpluging the cable may result in the situation that fpc0 becomes a line card (LC). When this situation is happened, please re-plug in the cable, wait for both switches becoming present (show virtual-chassis) and then removing the cable again.\n\n## Renumber a member switch\nWhen a member switch doesn\u2019t work properly and needed to be replaced, the renumber API could be used. The following two types of renumber are supported:\n\n1. Replace a non-fpc0 member switch\n2. Replace fpc0. When fpc0 is relaced, PAPI device config and JUNOS config will be both updated.\n\nFor renumber to work, the following procedures are needed: \n1. Ensuring the VC is connected to the cloud and the state of the member switch to be replaced must be non present. \n2. Adding the new member switch to the VC \n3. Waiting for the VC state (vc_state) of this VC to be updated to API server \n4. Invoke vc with renumber to replace the new member switch from fpc X to\n\n## Perprovision VC members\nBy specifying \u201cpreprovision\u201d op, you can convert the current VC to pre-provisioned mode, update VC members as well as specify vc_ports when adding new members for device models without dedicated vc ports. Use renumber for fpc0 replacement which involves device_id change.\n\nNote: \n1. vc_ports is used for adding new members and not needed if * the device model has dedicated vc ports, or * no new member is added \n2. New VC members to be added should exist in the same Site as the VC\n\nUpdate Device\u2019s VC config can achieve similar purpose by directly modifying current virtual_chassis config. However, it cannot fulfill requests to enabling vc_ports on new members that are yet to belong to current VC.", "operationId": "updateSiteVirtualChassisMember", "tags": ["Sites Devices - Wired - Virtual Chassis"]}}, "paths": {"vc_port": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Set VC port", "operationId": "setSiteVcPort", "tags": ["Sites Devices - Wired - Virtual Chassis"]}}}}}}}}}, "events": {"paths": {"fast_roam": {"specs": {"get": {"description": "Get Roaming Events data", "operationId": "getSiteRoamingEvents", "parameters": [{"description": "event type", "in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/fast_roam_result"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Events"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "system": {"paths": {"count": {"specs": {"get": {"description": "Count System Events", "operationId": "countSiteSystemEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_system_events_count_distinct"}}, {"$ref": "#/components/parameters/system_event_type"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Events"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search System Events", "operationId": "searchSiteSystemEvents", "parameters": [{"$ref": "#/components/parameters/system_event_type"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Events"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}}}, "evpn_topologies": {"specs": {"get": {"description": "Get the existing EVPN topology", "operationId": "listSiteEvpnTopologies", "tags": ["Sites EVPN Topologies"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "While all the `evpn_id` / `downlink_ips` can be specifidd by hand, the easiest way is to call the `build_vpn_topology` API, allowing you to examine the diff, and update it yourself. You can also simply call it with `overwrite=true` which will apply the updates for you.\n\n**Notes:**\n1. You can use `core` / `distribution` / `access` to create a CLOS topology\n2. You can also use `core` / `distribution` to form a 2-tier EVPN topology where ESI-Lag is configured distribution to connect to access switches\n3. In a small/medium campus, `collapsed-core` can be used where core switches are the inter-connected to do EVPN\n4. The API uses a few pre-defined parameters and best-practices to generate the configs. It can be customized by using `evpn_options` in Site Setting / Network Template. (e.g. a different subnet for the underlay)\n\n#### Collapsed Core\nIn a small-medium campus, EVPN can also be enabled only at the core switches (up to 4) by assigning all participating switches with `collapsed-core role`. When there are more than 2 switches, a ring-like topology will be formed.\n\n#### ESI-Lag\nIf the access switchess does not have EVPN support, you can take advantage of EVPN by setting up ESI-Lag on distribution switches\n\n#### Leaf / Access / Collapsed-Core\nFor leaf nodes in a EVPN topology, you\u2019d have to configure the IPs for networks that would participate in EVPN. Optionally, VRFs to isolate traffic from one tenant verus another", "operationId": "createSiteEvpnTopology", "tags": ["Sites EVPN Topologies"]}}, "paths": {"{evpn_topology_id}": {"specs": {"delete": {"description": "Delete the site EVPN Topology", "operationId": "deleteSiteEvpnTopology", "tags": ["Sites EVPN Topologies"]}, "get": {"description": "Get One EVPN Topology Detail", "operationId": "getSiteEvpnTopology", "tags": ["Sites EVPN Topologies"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/evpn_topology_id"}], "put": {"description": "Update the EVPN Topolgy", "operationId": "updateSiteEvpnTopology", "tags": ["Sites EVPN Topologies"]}}}}}, "gatewaytemplates": {"paths": {"derived": {"specs": {"get": {"description": "Get derived Gateway Templates for Site", "operationId": "getSiteGatewayTemplateDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"type": "boolean"}}], "tags": ["Sites Gateway Templates"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "guests": {"specs": {"get": {"description": "Get List of Site Guest Authorizations", "operationId": "listSiteAllGuestAuthorizations", "parameters": [{"description": "UUID of single or multiple (Comma separated) WLAN under Site `site_id` (to filter by WLAN)", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}], "tags": ["Sites Guests"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"count": {"specs": {"get": {"description": "Count Authorized Guest", "operationId": "countSiteGuestAuthorizations", "parameters": [{"example": "auth_method", "in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_guests_count_distinct"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Guests"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "derived": {"specs": {"get": {"description": "Get List of Site Guest Authorizations", "operationId": "listSiteAllGuestAuthorizationsDerived", "parameters": [{"description": "UUID of single or multiple (Comma separated) WLAN under Site `site_id` (to filter by WLAN)", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"description": "whether to get org level guests, default is false i.e get site level guests", "in": "query", "name": "cross_site", "schema": {"default": false, "type": "boolean"}}], "tags": ["Sites Guests"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Authorized Guest", "operationId": "searchSiteGuestAuthorization", "parameters": [{"example": "00000000-0000-0000-0000-000000000000", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}, {"in": "query", "name": "auth_method", "schema": {"type": "string"}}, {"in": "query", "name": "ssid", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Guests"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "{guest_mac}": {"specs": {"delete": {"description": "Delete Guest Authorization", "operationId": "deleteSiteGuestAuthorization", "tags": ["Sites Guests"]}, "get": {"description": "Get Guest Authorization", "operationId": "getSiteGuestAuthorization", "tags": ["Sites Guests"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/guest_mac"}], "put": {"description": "Update Guest Authorization", "operationId": "updateSiteGuestAuthorization", "tags": ["Sites Guests"]}}}}}, "insights": {"paths": {"client": {"paths": {"{client_mac}": {"paths": {"{metric}": {"specs": {"get": {"description": "Get Client Insight Metrics\nSee metrics possibilities at /api/v1/const/insight_metrics", "operationId": "getSiteInsightMetricsForClient", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/interval"}], "tags": ["Sites Insights"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/client_mac"}, {"$ref": "#/components/parameters/metric"}]}}}}}}, "device": {"paths": {"{device_mac}": {"paths": {"{metric}": {"specs": {"get": {"description": "Get AP Insight Metrics\nSee metrics possibilities at /api/v1/const/insight_metrics", "operationId": "getSiteInsightMetricsForDevice", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/interval"}], "tags": ["Sites Insights"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/metric"}, {"$ref": "#/components/parameters/device_mac"}]}}}}}}, "rogues": {"specs": {"get": {"description": "Get List of Site Rogue/Neighbor APs", "operationId": "listSiteRogueAPs", "parameters": [{"$ref": "#/components/parameters/rogue_type"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/interval"}], "tags": ["Sites Rogues"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"clients": {"specs": {"get": {"description": "Get List of Site Rogue Clients", "operationId": "listSiteRogueClients", "parameters": [{"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/interval"}], "tags": ["Sites Rogues"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "{metric}": {"specs": {"get": {"description": "Get Site Insight Metrics\nSee metrics possibilities at /api/v1/const/insight_metrics", "operationId": "getSiteInsightMetrics", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/interval"}], "tags": ["Sites Insights"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/metric"}]}}}}, "licenses": {"paths": {"usages": {"specs": {"get": {"description": "This shows license usage (i.e. needed) based on the features enabled for the site.", "operationId": "getSiteLicenseUsage", "tags": ["Sites Licenses"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "location": {"paths": {"coverage": {"specs": {"get": {"description": "Get Beam Coverage Overview", "operationId": "getSiteBeamCoverageOverview", "parameters": [{"description": "map_id (filter by map_id)", "example": "00000000-0000-0000-0000-000000000000", "in": "query", "name": "map_id", "schema": {"type": "string"}}, {"in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/rf_client_type"}}, {"description": "client_type (as filter. optional)", "in": "query", "name": "client_type", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/resolution"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}], "tags": ["Sites Location"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "ml": {"paths": {"current": {"specs": {"get": {"description": "Get Machine Learning Current Stat\nFor each VBLE AP, it has ML model parameters (e.g. Path-loss-estimate, Intercept) as well as completion indicators (Level and PercentageComplete). For the completeness, ML takes N sample to finish its first level and use N*0.25 samples to complete each successive level. When a device is moved, the completeness will be reset as it has to re-learn.", "operationId": "getSiteMachineLearningCurrentStat", "parameters": [{"description": "map_id (as filter, optional)", "example": "00000000-0000-0000-0000-000000000000", "in": "query", "name": "map_id", "schema": {"type": "string"}}], "tags": ["Sites Location"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "defaults": {"specs": {"get": {"description": "Get Default PLF for Models", "operationId": "getSiteDefaultPlfForModels", "tags": ["Sites Location"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "device": {"paths": {"{device_id}": {"specs": {"delete": {"description": "Clear ML Overwrite for Device", "operationId": "clearSiteMlOverwriteForDevice", "tags": ["Sites Location"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "put": {"description": "Overwrite ML For Device", "operationId": "overwriteSiteMlForDevice", "tags": ["Sites Location"]}}}}}, "map": {"paths": {"{map_id}": {"specs": {"delete": {"description": "Clear ML Overwrite for Map", "operationId": "clearSiteMlOverwriteForMap", "tags": ["Sites Location"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "put": {"description": "Overwrite ML For Map", "operationId": "overwriteSiteMlForMap", "tags": ["Sites Location"]}}}}}, "reset": {"paths": {"map": {"paths": {"{map_id}": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "Reset ML Stats by Map", "operationId": "resetSiteMlStatsByMap", "tags": ["Sites Location"]}}}}}}}}}}}, "maps": {"specs": {"get": {"description": "Get List of Site Maps", "operationId": "listSiteMaps", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Maps"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site Map", "operationId": "createSiteMap", "tags": ["Sites Maps"]}}, "paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Import data from files is a multipart POST which has an file, an optional json, and an optional csv, to create floorplan, assign matching inventory to specific site, place ap if name or mac matches.\n\n# Note\nThis endpoint (at the site level), the AP must be already assigned to the site to be placed on the floorplan. If you want to place APs from the Org inventory, it is required to use the endpoint at the Org level [importOrgMaps](#operation/importOrgMaps)\n\n# CSV File Format\n```csv\nVendor AP name,Mist AP Mac\nUS Office AP-2,5c:5b:35:00:00:02\nUS Office AP-3,5c5b35000002\n```", "operationId": "importSiteMaps", "tags": ["Sites Maps"]}}}, "{map_id}": {"specs": {"delete": {"description": "Delete Site Map", "operationId": "deleteSiteMap", "tags": ["Sites Maps"]}, "get": {"description": "Get Site Map Details", "operationId": "getSiteMap", "tags": ["Sites Maps"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "put": {"description": "Update Site Map", "operationId": "updateSiteMap", "tags": ["Sites Maps"]}}, "paths": {"auto_orient": {"specs": {"delete": {"description": "This API is called to force stop auto placement for a given map", "operationId": "deleteSiteApAutoOrientation", "tags": ["Sites Maps - Auto-orientation"]}, "parameters": [{"$ref": "#/components/parameters/map_id"}, {"$ref": "#/components/parameters/site_id"}], "post": {"description": "This API is called to trigger a map for auto orientation. For auto orient feature to work, BLE data needs to be collected from the APs on the map. This precess is not disruptive unlike FTM collection. Repeated POST to this endpoint while a map is still running will be rejected.\n\nList of devices to provide suggestions for is an optional parameter that can be given to this API. This will provide auto orient suggestions only for the devices specified. If no list of devices is provided, all APs asociated with that map are considered by default", "operationId": "startSiteApAutoOrientation", "tags": ["Sites Maps - Auto-orientation"]}}}, "auto_placement": {"specs": {"delete": {"description": "This API is called to force stop auto placement for a given map", "operationId": "deleteSiteApAutoplacement", "tags": ["Sites Maps - Auto-placement"]}, "get": {"description": "This API is called to view the current status of auto placement for a given map.\n\n\n#### Status Descriptions\n\n| Status | Description |\n| --- | --- |\n| `pending` | Autoplacement has not been requested for this map |\n| `inprogress` | Autoplacement is currently processing |\n| `done` | The autoplacement process has completed |\n| `data_needed` | Additional position data is required for autoplacement. Users should verify the requested anchor APs have a position on the map |\n| `invalid_model` | Autoplacement is not supported on the model of the APs on the map |\n| `invalid_version` | Autoplacement is not supported with the APs current firmware version |\n| `error` | There was an error in the autoplacement process |", "operationId": "getSiteApAutoPlacement", "tags": ["Sites Maps - Auto-placement"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "This API is called to trigger a map for auto placement. For auto placement feature to work, RTT-FTM data need to be collected from the APs on the map. This scan is disruptive and therefore the user must be notified of service disrution during the functioning of auto placement Repeated POST to this endpoint while a map is still running will be rejected.\n\nList of devices to provide suggestions for is an optional parameter that can be given to this API. This will provide autoplacement suggestions only for the devices specified. If no list of devices is provided, all APs asociated with that map are considered by default", "operationId": "runSiteApAutoplacement", "tags": ["Sites Maps - Auto-placement"]}}}, "clear_auto_orient": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "This API is used to destroy the autoorientations of a map or subset of APs on a map.", "operationId": "clearSiteApAutoOrient", "tags": ["Sites Maps - Auto-orientation"]}}}, "clear_autoplacement": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "This API is used to destroy the cached autoplacement locations of a map or subset of APs on a map.", "operationId": "clearSiteApAutoplacement", "tags": ["Sites Maps - Auto-placement"]}}}, "image": {"specs": {"delete": {"description": "Delete Site Map Image", "operationId": "deleteSiteMapImage", "tags": ["Sites Maps"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "Add image map is a multipart POST which has an file (Image) and an optional json parameter", "operationId": "addSiteMapImage", "tags": ["Sites Maps"]}}}, "replace": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "Replace Map Image\n\n\nThis works like an PUT where the image will be replaced. If transform is provided, all the locations of the objects on the map (AP, Zone, Vbeacon, Beacon) will be transformed as well (relative to the new Map)", "operationId": "replaceSiteMapImage", "tags": ["Sites Maps"]}}}, "set_map": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "This API can be used to assign a list of AP Macs associated with site_id to the specified map_id. Note that map_id must be associated with corresponding site_id. This API obeys the following rules \n1. if AP is unassigned to any Map, it gets associated with map_id \n2. Any moved APs are returned in the response \n3. If the AP is considered a locked AP, no action will be taken", "operationId": "bulkAssignSiteApsToMap", "tags": ["Sites Maps"]}}}, "use_auto_ap_values": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "This API is used to accept or reject the cached autoplacement and auto orientation values of a map or subset of APs on a map. A rejected AP will retain its current X,Y and orientation until accpeted.", "operationId": "confirmSiteApLocalizationData", "tags": ["Sites Maps - Auto-placement"]}}}, "wayfinding": {"paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}], "post": {"description": "This imports the vendor map meta data into the Map JSON. This is required by the SDK and App in order to access/render the vendor Map properly.", "operationId": "importSiteWayfindings", "tags": ["Sites Maps"]}}}}}}}}}, "mxedges": {"specs": {"get": {"description": "Get List of Site Mist Edges", "operationId": "listSiteMxEdges", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site Mist Edge", "operationId": "createSiteMxEdge", "tags": ["Sites MxEdges"]}}, "paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count Mist Edge Events", "operationId": "countSiteMxEdgeEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_mxedge_events_count_distinct"}}, {"description": "mist edge id", "in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"description": "mist edge cluster id", "in": "query", "name": "mxcluster_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/mxedge_event_type"}, {"description": "service running on mist edge(mxagent, tunterm etc)", "in": "query", "name": "service", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Site Mist Edge Events", "operationId": "searchSiteMistEdgeEvents", "parameters": [{"description": "mist edge id", "in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"description": "mist edge cluster id", "in": "query", "name": "mxcluster_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/mxedge_event_type"}, {"description": "service running on mist edge(mxagent, tunterm etc)", "in": "query", "name": "service", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "{mxedge_id}": {"specs": {"delete": {"description": "Delete Site Mist Edge", "operationId": "deleteSiteMxEdge", "tags": ["Sites MxEdges"]}, "get": {"description": "get Site Mist Edge", "operationId": "getSiteMxEdge", "tags": ["Sites MxEdges"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/mxedge_id"}], "put": {"description": "Update Site Mist Edge settings", "operationId": "updateSiteMxEdge", "tags": ["Sites MxEdges"]}}, "paths": {"support": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/mxedge_id"}], "post": {"description": "Support / Upload Mist Edge support files", "operationId": "uploadSiteMxEdgeSupportFiles", "tags": ["Sites MxEdges"]}}}}}}}, "mxtunnels": {"paths": {"{mxtunnel_id}": {"paths": {"preempt_aps": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/mxtunnel_id"}], "post": {"description": "To preempt AP\u2019s which are not connected to preferred peer to the preferred peer", "operationId": "preemptSitesMxTunnel", "tags": ["Utilities MxEdge"]}}}}}}}, "nac_clients": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of NAC Clients", "operationId": "countSiteNacClients", "parameters": [{"description": "NAC Policy Rule ID, if matched", "in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_nac_clients_count_distinct"}}, {"description": "NAC Policy Rule ID, if matched", "in": "query", "name": "last_nacrule_id", "schema": {"type": "string"}}, {"description": "NAC Policy Rule Matched", "in": "query", "name": "nacrule_matched", "schema": {"type": "boolean"}}, {"description": "authentication type, e.g. \u201ceap-tls\u201d, \u201ceap-ttls\u201d, \u201ceap-teap\u201d, \u201cmab\u201d, \u201cdevice-auth\u201d", "in": "query", "name": "auth_type", "schema": {"type": "string"}}, {"description": "Vlan ID", "in": "query", "name": "last_vlan_id", "schema": {"type": "string"}}, {"description": "vendor of NAS device", "in": "query", "name": "last_nas_vendor", "schema": {"type": "string"}}, {"description": "SSO ID, if present and used", "in": "query", "name": "idp_id", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "last_ssid", "schema": {"type": "string"}}, {"description": "Username presented by the client", "in": "query", "name": "last_username", "schema": {"type": "string"}}, {"description": "start time, in epoch", "in": "query", "name": "timestamp", "schema": {"type": "number"}}, {"description": "AP MAC connected to by client", "in": "query", "name": "last_ap", "schema": {"type": "string"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Connection status of client i.e \u201cpermitted\u201d, \u201cdenied, \u201csession_ended\u201d", "in": "query", "name": "last_status", "schema": {"type": "string"}}, {"description": "Client type i.e. \u201cwireless\u201d, \u201cwired\u201d etc.", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "MDM compliancy of client i.e \u201ccompliant\u201d, \u201cnot compliant\u201d", "in": "query", "name": "mdm_compliance_status", "schema": {"type": "string"}}, {"description": "MDM provider of client\u2019s organisation eg \u201cintune\u201d, \u201cjamf\u201d", "in": "query", "name": "mdm_provider", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Sites Clients - NAC"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "events": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of NAC Client-Events", "operationId": "countSiteNacClientEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_nac_client_events_count_distinct"}}, {"$ref": "#/components/parameters/nac_event_type"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Clients - NAC"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search NAC Client Events", "operationId": "searchSiteNacClientEvents", "parameters": [{"$ref": "#/components/parameters/nac_event_type"}, {"description": "NAC Policy Rule ID, if matched", "in": "query", "name": "nacrule_id", "schema": {"format": "uuid", "type": "string"}}, {"description": "NAC Policy Rule Matched", "in": "query", "name": "nacrule_matched", "schema": {"type": "boolean"}}, {"description": "NAC Policy Dry Run Rule ID, if present and matched", "in": "query", "name": "dryrun_nacrule_id", "schema": {"type": "string"}}, {"description": "True - if dryrun rule present and matched with priority, False - if not matched or not present", "in": "query", "name": "dryrun_nacrule_matched", "schema": {"type": "boolean"}}, {"description": "authentication type, e.g. \u201ceap-tls\u201d, \u201ceap-ttls\u201d, \u201ceap-teap\u201d, \u201cmab\u201d, \u201cdevice-auth\u201d", "in": "query", "name": "auth_type", "schema": {"type": "string"}}, {"description": "Vlan ID", "in": "query", "name": "vlan", "schema": {"type": "integer"}}, {"description": "Vlan source, e.g. \"nactag\", \"usermac\"", "in": "query", "name": "vlan_source", "schema": {"type": "string"}}, {"description": "vendor of NAS device", "in": "query", "name": "nas_vendor", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "bssid", "schema": {"type": "string"}}, {"description": "SSO ID, if present and used", "in": "query", "name": "idp_id", "schema": {"format": "uuid", "type": "string"}}, {"description": "IDP returned roles/groups for the user", "in": "query", "name": "idp_role", "schema": {"type": "string"}}, {"description": "Username presented to the Identity Provider", "in": "query", "name": "idp_username", "schema": {"type": "string"}}, {"description": "Radius attributes returned by NAC to NAS Devive", "in": "query", "name": "resp_attrs", "schema": {"$ref": "#/components/schemas/strings"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "Username presented by the client", "in": "query", "name": "username", "schema": {"type": "string"}}, {"description": "labels derived from usermac entry", "in": "query", "name": "usermac_labels", "schema": {"$ref": "#/components/schemas/strings"}}, {"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "AP random macMAC", "in": "query", "name": "random_mac", "schema": {"type": "boolean"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Lookup(IDP etc.,) time taken in seconds", "in": "query", "name": "lookup_time_taken", "schema": {"type": "number"}}, {"description": "time, in epoch", "in": "query", "name": "timestamp", "schema": {"type": "number"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Clients - NAC"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "search": {"specs": {"get": {"description": "Search Site NAC Clients", "operationId": "searchSiteNacClients", "parameters": [{"description": "NAC Policy Rule ID, if matched", "in": "query", "name": "nacrule_id", "schema": {"type": "string"}}, {"description": "NAC Policy Rule Matched", "in": "query", "name": "nacrule_matched", "schema": {"type": "boolean"}}, {"description": "authentication type, e.g. \u201ceap-tls\u201d, \u201ceap-ttls\u201d, \u201ceap-teap\u201d, \u201cmab\u201d, \u201cdevice-auth\u201d", "in": "query", "name": "auth_type", "schema": {"type": "string"}}, {"description": "Vlan name or ID assigned to the client", "in": "query", "name": "vlan", "schema": {"type": "string"}}, {"description": "vendor of NAS device", "in": "query", "name": "nas_vendor", "schema": {"type": "string"}}, {"description": "SSO ID, if present and used", "in": "query", "name": "idp_id", "schema": {"type": "string"}}, {"description": "SSID", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "Username presented by the client", "in": "query", "name": "username", "schema": {"type": "string"}}, {"description": "start time, in epoch", "in": "query", "name": "timestamp", "schema": {"type": "number"}}, {"description": "AP MAC connected to by client", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "ID of Mist Edge that the client is connected through", "in": "query", "name": "mxedge_id", "schema": {"type": "string"}}, {"description": "NAC Policy Rule Name matched", "in": "query", "name": "nacrule_name", "schema": {"type": "string"}}, {"description": "Connection status of client i.e \u201cpermitted\u201d, \u201cdenied, \u201csession_ended\u201d", "in": "query", "name": "status", "schema": {"type": "string"}}, {"description": "Client type i.e. \u201cwireless\u201d, \u201cwired\u201d etc.", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "MDM compliancy of client i.e \u201ccompliant\u201d, \u201cnot compliant\u201d", "in": "query", "name": "mdm_compliance", "schema": {"type": "string"}}, {"description": "MDM provider of client\u2019s organisation eg \u201cintune\u201d, \u201cjamf\u201d", "in": "query", "name": "mdm_provider", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Sites Clients - NAC"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "networks": {"paths": {"derived": {"specs": {"get": {"description": "Retrieves the list of Networks available for the Site", "operationId": "listSiteNetworksDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"default": false, "type": "boolean"}}], "tags": ["Sites Networks"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "networktemplates": {"paths": {"derived": {"specs": {"get": {"description": "Get derived Network Templates for Site", "operationId": "getSiteNetworkTemplateDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"type": "boolean"}}], "tags": ["Sites Network Templates"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "otherdevices": {"specs": {"get": {"description": "Get List of Site other devices (3rd party devices)", "operationId": "listSiteOtherDevices", "parameters": [{"in": "query", "name": "vendor", "schema": {"type": "string"}}, {"in": "query", "name": "mac", "schema": {"type": "string"}}, {"in": "query", "name": "serial", "schema": {"type": "string"}}, {"in": "query", "name": "model", "schema": {"type": "string"}}, {"in": "query", "name": "name", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Devices - Others"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count Site OtherDevices Events", "operationId": "countSiteOtherDeviceEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_other_device_events_count_distinct"}}, {"$ref": "#/components/parameters/otherdevice_event_type"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Devices - Others"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Site OtherDevices Events", "operationId": "searchSiteOtherDeviceEvents", "parameters": [{"description": "mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "mac of attached device", "in": "query", "name": "device_mac", "schema": {"type": "string"}}, {"description": "vendor name", "in": "query", "name": "vendor", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/otherdevice_event_type"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Devices - Others"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}}}, "pcaps": {"specs": {"get": {"description": "Get List of Site Packet Captures", "operationId": "listSitePacketCaptures", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"description": "optional client mac filter", "in": "query", "name": "client_mac", "schema": {"type": "string"}}], "tags": ["Utilities PCAPs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"capture": {"specs": {"delete": {"description": "Stop current capture", "operationId": "stopSitePacketCapture", "tags": ["Utilities PCAPs"]}, "get": {"description": "Get Capturing status", "operationId": "getSiteCapturingStatus", "tags": ["Utilities PCAPs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Initiate a Site Packet Capture\n\nThe output will be available through websocket. As there can be multiple command issued against the same AP at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n subscribe: \"/sites/{site_id}/pcaps\"\n}\n```\n#### Response (MxEdge)\n```json\n{\n \"event\": \"data\"\n \"channel\": \"/sites/:site_id/pcaps\"\n \"data\": {\n \"capture_id\": \"6b1be4fb-b239-44d9-9d3b-cb1ff3af1721\",\n \"lost_messages\": 0\n \"pcap_dict\": {\n \"channel_frequency\": 2412,\n \"channel\": \"1\",\n \"datarate\": \"1.0 Mbps\",\n \"rssi\": -75, \n \"dst\": \"78:bd:bc:ca:0b:0a\",\n \"src\": \"18:b8:1f:4c:91:c0\",\n \"bssid\": \"18:b8:1f:4c:91:c0\",\n \"frame_type\": \"Management\", \n \"frame_subtype\": \"Probe Response\", \n \"proto\": \"802.11\", \n \"ap_mac\": \"d4:20:b0:81:99:2e\", \n \"direction\": \"tx\", \n \"timestamp\": 1652246543, \n \"length\": 416.0,\n \"interface\": \"radiotap\",\n \"info\": \"1652246544.467733 1683216786us tsft 1.0 Mb/s 2412 MHz 11g -75dBm signal -82dBm noise antenna 0 Probe Response (ATTKmsWiVS) [1.0* 2.0* 5.5* 11.0* 18.0 24.0 36.0 54.0 Mbit] CH: 2, PRIVACY\\\\n\",\n }, \n \"pcap_raw\": \"1MOyoQIABAAAAAAAAAAAAP//AAABAAAAEEh7Yh5VBwCgAQAAoAEAAAAAKwBvCADAAQAAAIw7reCS2VNkAAAAABACbAmABLWuAAEAEBgAAwACAABQADoBeL28ygsKGLgfTJHAGLgfTJHAcIZ2WDlBJQAAAGQAERUACkFUVEttc1dpVlMBCIKEi5YkMEhsAwECBwZVUyABCx4gAQAjAhkAKgEEMgQMEhhgMBQBAAAPrAQBAAAPrAQBAAAPrAIMAAsFAQAbAABGBTIIAQAALRqtCR////8AAAAAAAAAAAAAAAAAAAAAAAAAAD0WAggVAAAAAAAAAAAAAAAAAAAAAAAAAH8IBAAIAAAAAEDdkwBQ8gQQSgABEBBEAAECEDsAAQMQRwAQn2481frn3KT+uGod2ERx+RAhAAtBcnJpcywgSW5jLhAjAApCR1cyMTAtNzAwECQACkJHVzIxMC03MDAQQgAKQkdXMjEwLTcwMBBUAAgABgBQ8gQAARARAA5BcnJpcyBXaXJlbGVzcxAIAAIgCBA8AAEBEEkABgA3KgABIN0JABAYAgEQHAAA3RgAUPICAQGEAAOkAAAnpAAAQkNeAGIyLwAzjakr\"\n}\n```\n\n#### vResponse (Wired)\n```json\n{\n \"event\": \"data\"\n \"channel\": \"/sites/67970e46-4e12-11e6-9188-0242ac110007/pcaps\"\n \"data\": {\n \"capture_id\": \"f039b1b4-a23e-48b2-906a-0da40524de73\", \n \"pcap_dict\": {\n \"dst_mac\": \"68:ec:c5:09:2e:87\",\n \"src_mac\": \"8c:3b:ad:e0:47:40\", \n \"vlan\": 1, \n \"src_ip\": \"34.224.147.117\", \n \"dst_ip\": \"192.168.1.55\",\n \"dst_port\": 51635, \n \"src_port\": 443,\n \"proto\": \"TCP\", \n \"ap_mac\": \"d4:20:b0:81:99:2e\",\n \"direction\": \"tx\", \n \"timestamp\": 1652247615, \n \"length\": 159.0, \n \"interface\": \"wired\",\n \"info\": \"1652247616.007409 IP ec2-34-224-147-117.compute-1.amazonaws.com.https > ip-192-168-1-55.ec2.internal.51635: Flags [P.], seq 2192123968:2192124057, ack 4035166782, win 12, options [nop,nop,TS val 597467050 ecr 740580660], length 89\\\\n\",\n }, \n \"pcap_raw\": \"1MOyoQIABAAAAAAAAAAAAP//AAABAAAAQEx7YhMzAACfAAAAnwAAAGjsxQkuh4w7reBHQIEAAAEIAEUAAI1bLEAAKAZ/CiLgk3XAqAE3AbvJs4KpKEDwg8I+gBgADFf9AAABAQgKI5yfqiwkXTQXAwMAVKY5JopoKQrVEn0/3ld4YntctGEH/rTZuwtCvzSncFw71QJveJi9uxHs57KC8w9Apph3YvXJrmWg7M37+o+YV0KH/xmr626s5Bkhb3QhKOu+NoNEmA==\"\n\n }\n}\n```\n\n#### Stop Response (Wired/Wireless)\n```json\n{\n \"event\": \"data\"\n \"channel\": \"/sites/67970e46-4e12-11e6-9188-0242ac110007/pcaps\"\n \"data\": {\n \"capture_id\": \"a2f7374d-6a70-41fd-8a3f-71e42573baaf\", \n \"lost_messages\": 0,\n \"pcap_dict\": null\n }\n}\n```", "operationId": "startSitePacketCapture", "tags": ["Utilities PCAPs"]}}}, "{pcap_id}": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/pcap_id"}], "put": {"description": "Update or add notes to a completed packet capture", "operationId": "updateSitePacketCapture", "tags": ["Utilities PCAPs"]}}}}}, "psks": {"specs": {"get": {"description": "Get List of Site PSKs", "operationId": "listSitePsks", "parameters": [{"in": "query", "name": "ssid", "schema": {"type": "string"}}, {"in": "query", "name": "role", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/name"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Psks"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site PSK\n\n\nWhen `usage`==`macs`, corresponding \"macs\" field will hold a list consisting of client mac addresses ([\"xx:xx:xx:xx:xx\",...]) or mac patterns([\"xx:xx:*\",\"xx*\",...]) or both ([\"xx:xx:xx:xx:xx:xx\", \"xx:*\", ...]). This list is capped at 5000", "operationId": "createSitePsk", "tags": ["Sites Psks"]}, "put": {"description": "Update multiple PSKs", "operationId": "updateSiteMultiplePsks", "tags": ["Sites Psks"]}}, "paths": {"import": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Import PSK from CSV file or JSON\n\n## CSV File Format\n```csv\nPSK Import CSV File Format:\nname,ssid,passphrase,usage,vlan_id,mac\nCommon,warehouse,foryoureyesonly,single,35,a31425f31278\nJustin,reception,visible,multi,1002\n```", "operationId": "importSitePsks", "tags": ["Sites Psks"]}}}, "{psk_id}": {"specs": {"delete": {"description": "Delete Site PSK", "operationId": "deleteSitePsk", "tags": ["Sites Psks"]}, "get": {"description": "Get Site PSK Details", "operationId": "getSitePsk", "tags": ["Sites Psks"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/psk_id"}], "put": {"description": "Update Site PSK", "operationId": "updateSitePsk", "tags": ["Sites Psks"]}}}}}, "rfdiags": {"specs": {"get": {"description": "List RF Glass Recording", "operationId": "getSiteSiteRfdiagRecording", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Rfdiags"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Start RF Glass Recording", "operationId": "startSiteRecording", "tags": ["Sites Rfdiags"]}}, "paths": {"{rfdiag_id}": {"specs": {"delete": {"description": "Delete Recording", "operationId": "deleteSiteRfdiagRecording", "tags": ["Sites Rfdiags"]}, "get": {"description": "Get RF Diage Recording Details", "operationId": "getSiteRfdiagRecording", "tags": ["Sites Rfdiags"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/rfdiag_id"}], "put": {"description": "Update Recording", "operationId": "updateSiteRfdiagRecording", "tags": ["Sites Rfdiags"]}}, "paths": {"download": {"specs": {"get": {"description": "Download Recording\nDownload raw_events blob", "operationId": "downloadSiteRfdiagRecording", "tags": ["Sites Rfdiags"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/rfdiag_id"}]}}, "stop": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/rfdiag_id"}], "post": {"description": "If the recording session is active for the given rfdiag_id, it will finish the recording. duration and end_time will be updated to reflect the correct values.", "operationId": "stopSiteRfdiagRecording", "tags": ["Sites Rfdiags"]}}}}}}}, "rftemplates": {"paths": {"derived": {"specs": {"get": {"description": "Get derived RF Templates for Site", "operationId": "getSiteRfTemplateDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"type": "boolean"}}], "tags": ["Sites RF Templates"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "rogues": {"paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count Rogue Events", "operationId": "countSiteRogueEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_rogue_events_count_distinct"}}, {"$ref": "#/components/parameters/rogue_type"}, {"description": "ssid of the network detected as threat", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "bssid of the network detected as threat", "in": "query", "name": "bssid", "schema": {"type": "string"}}, {"description": "mac of the device that had strongest signal strength for ssid/bssid pair", "in": "query", "name": "ap_mac", "schema": {"type": "string"}}, {"description": "channel over which ap_mac heard ssid/bssid pair", "in": "query", "name": "channel", "schema": {"type": "string"}}, {"description": "whether the reporting AP see a wireless client (on LAN) connecting to it", "in": "query", "name": "seen_on_lan", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Rogues"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Rogue Events", "operationId": "searchSiteRogueEvents", "parameters": [{"$ref": "#/components/parameters/rogue_type"}, {"description": "ssid of the network detected as threat", "in": "query", "name": "ssid", "schema": {"type": "string"}}, {"description": "bssid of the network detected as threat", "in": "query", "name": "bssid", "schema": {"type": "string"}}, {"description": "mac of the device that had strongest signal strength for ssid/bssid pair", "in": "query", "name": "ap_mac", "schema": {"type": "string"}}, {"description": "channel over which ap_mac heard ssid/bssid pair", "in": "query", "name": "channel", "schema": {"type": "integer"}}, {"description": "whether the reporting AP see a wireless client (on LAN) connecting to it", "in": "query", "name": "seen_on_lan", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Rogues"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "{rogue_bssid}": {"specs": {"get": {"description": "Get Rogue AP Details", "operationId": "getSiteRogueAP", "tags": ["Sites Rogues"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/rogue_bssid"}]}, "paths": {"deauth_clients": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/rogue_bssid"}], "post": {"description": "Send Deauth frame to clients connected to a Rogue AP", "operationId": "deauthSiteWirelessClientsConnectedToARogue", "tags": ["Utilities Wi-Fi"]}}}}}}}, "rrm": {"paths": {"current": {"specs": {"get": {"description": "Get Current Channel Planning", "operationId": "getSiteCurrentChannelPlanning", "tags": ["Sites RRM"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"devices": {"paths": {"{device_id}": {"paths": {"band": {"paths": {"{band}": {"specs": {"get": {"description": "Get Current RRM Considerations for an AP on a Specific Band", "operationId": "getSiteCurrentRrmConsiderations", "tags": ["Sites RRM"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}, {"description": "802.11 Band", "in": "path", "name": "band", "required": true, "schema": {"$ref": "#/components/schemas/dot11_band"}}]}}}}}}}}}}, "events": {"specs": {"get": {"description": "Get Site RRM Events", "operationId": "getSiteRrmEvents", "parameters": [{"$ref": "#/components/parameters/dot11_band"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites RRM"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "neighbors": {"paths": {"band": {"paths": {"{band}": {"specs": {"get": {"description": "Get Current RRM observed neighbors", "operationId": "getSiteCurrentRrmNeighbors", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites RRM"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"description": "802.11 Band", "in": "path", "name": "band", "required": true, "schema": {"$ref": "#/components/schemas/dot11_band"}}]}}}}}}, "optimize": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Optimize Site RRM", "operationId": "optimizeSiteRrm", "tags": ["Utilities Wi-Fi"]}}}}}, "rssizones": {"specs": {"get": {"description": "Get List of Site RSSI Zone (RSSI-based)", "operationId": "listSiteRssiZones", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites RSSI Zones"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create RSSI Zone", "operationId": "createSiteRssiZone", "tags": ["Sites RSSI Zones"]}}, "paths": {"{rssizone_id}": {"specs": {"delete": {"description": "Delete Site RSSI Zone", "operationId": "deleteSiteRssiZone", "tags": ["Sites RSSI Zones"]}, "get": {"description": "Get Site RSSI Zone details", "operationId": "getSiteRssiZone", "tags": ["Sites RSSI Zones"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/rssizone_id"}], "put": {"description": "Update Site RSSI Zone", "operationId": "updateSiteRssiZone", "tags": ["Sites RSSI Zones"]}}}}}, "servicepolicies": {"paths": {"derived": {"specs": {"get": {"description": "Retrieves the list of Service Policies available for the Site", "operationId": "listSiteServicePoliciesDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"default": false, "type": "boolean"}}], "tags": ["Sites Service Policies"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "services": {"paths": {"derived": {"specs": {"get": {"description": "Retrieves the list of Services available for the Site", "operationId": "listSiteServicesDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"default": false, "type": "boolean"}}], "tags": ["Sites Services"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "events": {"paths": {"count": {"specs": {"get": {"description": "Count Service Path Events", "operationId": "countSiteServicePathEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_service_events_count_distinct"}}, {"description": "Event type, e.g. GW_SERVICE_PATH_DOWN", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "Description of the event including the reason it is triggered", "in": "query", "name": "text", "schema": {"type": "string"}}, {"description": "Peer name", "in": "query", "name": "vpn_name", "schema": {"type": "string"}}, {"description": "Peer path name", "in": "query", "name": "vpn_path", "schema": {"type": "string"}}, {"description": "Service policy associated with that specific path", "in": "query", "name": "policy", "schema": {"type": "string"}}, {"description": "Network interface", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "Device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "Device firmware version", "in": "query", "name": "version", "schema": {"type": "string"}}, {"description": "Start time, in epoch", "in": "query", "name": "timestamp", "schema": {"type": "number"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Services"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Service Path Events", "operationId": "searchSiteServicePathEvents", "parameters": [{"description": "Event type, e.g. GW_SERVICE_PATH_DOWN", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "Description of the event including the reason it is triggered", "in": "query", "name": "text", "schema": {"type": "string"}}, {"description": "Peer name", "in": "query", "name": "vpn_name", "schema": {"type": "string"}}, {"description": "Peer path name", "in": "query", "name": "vpn_path", "schema": {"type": "string"}}, {"description": "Service policy associated with that specific path", "in": "query", "name": "policy", "schema": {"type": "string"}}, {"description": "Network interface", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "Device model", "in": "query", "name": "model", "schema": {"type": "string"}}, {"description": "Device firmware version", "in": "query", "name": "version", "schema": {"type": "string"}}, {"description": "Start time, in epoch", "in": "query", "name": "timestamp", "schema": {"type": "number"}}, {"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Services"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}}}, "setting": {"specs": {"get": {"description": "Get Site Settings", "operationId": "getSiteSetting", "tags": ["Sites Setting"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "put": {"description": "Update Site Settings", "operationId": "updateSiteSettings", "tags": ["Sites Setting"]}}, "paths": {"blacklist": {"specs": {"delete": {"description": "Delete Site Blacklist Station Clients", "operationId": "deleteSiteWirelessClientsBlocklist", "tags": ["Sites Setting"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "This endpoint is to provide list of client macs for annotation blacklist.\n\nRetrieve the current clients list `blacklist_url` under Site:Setting", "operationId": "createSiteWirelessClientsBlocklist", "tags": ["Sites Setting"]}}}, "jse": {"paths": {"info": {"specs": {"get": {"description": "Retrieves the list of JSE orgs associated with the account", "operationId": "getSiteJseInfo", "tags": ["Sites JSE"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "watched_station": {"specs": {"delete": {"description": "Delete Site Watched Station Clients", "operationId": "deleteSiteWatchedStations", "tags": ["Sites Setting"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "This endpoint is to provide list of client macs for annotation as watched station.\n\nRetrieve the current clients list from `watched_station_url` under Site:Setting", "operationId": "createSiteWatchedStations", "tags": ["Sites Setting"]}}}, "whitelist": {"specs": {"delete": {"description": "Delete Site Whitelist Station Clients", "operationId": "deleteSiteWirelessClientsAllowlist", "tags": ["Sites Setting"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "This endpoint is to provide list of client macs for annotation as whitelist.\n\nRetrieve the current clients list from `whitelist_url` under Site:Setting", "operationId": "createSiteWirelessClientsAllowlist", "tags": ["Sites Setting"]}}}}}, "sitetemplates": {"paths": {"derived": {"specs": {"get": {"description": "Get derived Site Templates for Site", "operationId": "getSiteSiteTemplateDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"type": "boolean"}}], "tags": ["Sites Site Templates"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "skyatp": {"paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Skyatp Events (WIP)", "operationId": "countSiteSkyatpEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_sky_atp_events_count_distinct"}}, {"description": "event type, e.g. cc, fs, mw", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "client MAC", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "device MAC", "in": "query", "name": "device_mac", "schema": {"type": "string"}}, {"description": "threat level", "in": "query", "name": "threat_level", "schema": {"type": "integer"}}, {"$ref": "#/components/parameters/ip"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Skyatp"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Skyatp Events (WIP)", "operationId": "searchSiteSkyatpEvents", "parameters": [{"description": "event type, e.g. cc, fs, mw", "in": "query", "name": "type", "schema": {"type": "string"}}, {"description": "client MAC", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "device MAC", "in": "query", "name": "device_mac", "schema": {"type": "string"}}, {"description": "threat level", "in": "query", "name": "threat_level", "schema": {"type": "integer"}}, {"$ref": "#/components/parameters/ip"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Skyatp"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}}}, "sle": {"paths": {"{scope}": {"paths": {"{scope_id}": {"paths": {"metric": {"paths": {"{metric}": {"paths": {"classifier": {"paths": {"{classifier}": {"paths": {"summary": {"specs": {"get": {"description": "Get SLE classifier details", "operationId": "getSiteSleClassifierDetails", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"$ref": "#/components/schemas/sle_summary_scope"}}, {"description": "* site_id if `scope`==`site`\n* device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway`\n* mac if `scope`==`client`", "in": "path", "name": "scope_id", "required": true, "schema": {"type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}, {"in": "path", "name": "classifier", "required": true, "schema": {"type": "string"}}]}}}}}}, "classifiers": {"specs": {"get": {"description": "Get the list of classifiers for a specific metric", "operationId": "getSiteSleMetricClassifiers", "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"$ref": "#/components/schemas/site_sle_metric_classifiers_scope_parameters"}}, {"description": "* site_id if `scope`==`site`\n* device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway`\n* mac if `scope`==`client`", "in": "path", "name": "scope_id", "required": true, "schema": {"type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "histogram": {"specs": {"get": {"description": "Get the histogram for the SLE metric", "operationId": "getSiteSleHistogram", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"$ref": "#/components/schemas/site_sle_histogram_scope_parameters"}}, {"description": "* site_id if `scope`==`site`\n* device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway`\n* mac if `scope`==`client`", "in": "path", "name": "scope_id", "required": true, "schema": {"type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impact-summary": {"specs": {"get": {"description": "Get impact summary counts optionally filtered by classifier and failure type\n \n* Wireless SLE Fields: `wlan`, `device_type`, `device_os` ,`band`, `ap`, `server`, `mxedge`\n* Wired SLE Fields: `switch`, `client`, `vlan`, `interface`, `chassis`\n* WAN SLE Fields: `gateway`, `client`, `interface`, `chassis`, `peer_path`, `gateway_zones`", "operationId": "getSiteSleImpactSummary", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "fields", "schema": {"$ref": "#/components/schemas/site_sle_impact_summary_fields_parameter"}}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"$ref": "#/components/schemas/site_sle_impact_summary_scope_parameters"}}, {"description": "* site_id if `scope`==`site`\n* device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway`\n* mac if `scope`==`client`", "in": "path", "name": "scope_id", "required": true, "schema": {"type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impacted-applications": {"specs": {"get": {"description": "For WAN SLEs. Get list of impacted interfaces optionally filtered by classifier and failure type", "operationId": "getSiteSleImpactedApplications", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"$ref": "#/components/schemas/site_sle_scope"}}, {"in": "path", "name": "scope_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impacted-aps": {"specs": {"get": {"description": "For Wireless SLEs. Get list of impacted APs optionally filtered by classifier and failure type", "operationId": "getSiteSleImpactedAps", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"$ref": "#/components/schemas/site_sle_impacted_aps_scope_parameters"}}, {"in": "path", "name": "scope_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impacted-chassis": {"specs": {"get": {"description": "For Wired and WAN SLEs. Get list of impacted interfaces optionally filtered by classifier and failure type", "operationId": "getSiteSleImpactedChassis", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"$ref": "#/components/schemas/site_sle_impacted_chassis_scope_parameters"}}, {"in": "path", "name": "scope_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impacted-clients": {"specs": {"get": {"description": "For Wired SLEs. Get list of impacted interfaces optionally filtered by classifier and failure type", "operationId": "getSiteSleImpactedWiredClients", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"$ref": "#/components/schemas/site_sle_impacted_clients_scope_parameters"}}, {"in": "path", "name": "scope_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impacted-gateways": {"specs": {"get": {"description": "For WAN SLEs. Get list of impacted interfaces optionally filtered by classifier and failure type", "operationId": "getSiteSleImpactedGateways", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"$ref": "#/components/schemas/site_sle_impacted_gateways_scope_parameters"}}, {"in": "path", "name": "scope_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impacted-interfaces": {"specs": {"get": {"description": "For Wired and WAN SLEs. Get list of impacted interfaces optionally filtered by classifier and failure type", "operationId": "getSiteSleImpactedInterfaces", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"$ref": "#/components/schemas/site_sle_impacted_interfaces_scope_parameters"}}, {"in": "path", "name": "scope_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impacted-switches": {"specs": {"get": {"description": "For Wired SLEs. Get list of impacted switches optionally filtered by classifier and failure type", "operationId": "getSiteSleImpactedSwitches", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"$ref": "#/components/schemas/site_sle_impacted_switches_scope_parameters"}}, {"in": "path", "name": "scope_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "impacted_users": {"specs": {"get": {"description": "For Wireless SLEs. Get list of impacted wireless users optionally filtered by classifier and failure type", "operationId": "getSiteSleImpactedWirelessClients", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"in": "query", "name": "classifier", "schema": {"type": "string"}}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"$ref": "#/components/schemas/site_sle_impacted_users_scope_parameter"}}, {"in": "path", "name": "scope_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "summary": {"specs": {"get": {"description": "Get the summary for the SLE metric", "operationId": "getSiteSleSummary", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"$ref": "#/components/schemas/site_sle_metric_summary_scope_parameters"}}, {"description": "* site_id if `scope`==`site`\n* device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway`\n* mac if `scope`==`client`", "in": "path", "name": "scope_id", "required": true, "schema": {"type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}]}}, "threshold": {"specs": {"get": {"description": "Get the SLE threshold", "operationId": "getSiteSleThreshold", "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"$ref": "#/components/schemas/site_sle_threshold_scope_parameter"}}, {"description": "* site_id if `scope`==`site`\n* device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway`\n* mac if `scope`==`client`", "in": "path", "name": "scope_id", "required": true, "schema": {"type": "string"}}, {"description": "values from /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}], "post": {"description": "Replace the SLE threshold", "operationId": "replaceSiteSleThreshold", "tags": ["Sites SLEs"]}, "put": {"description": "Update the SLE threshold", "operationId": "updateSiteSleThreshold", "tags": ["Sites SLEs"]}}}}}}}, "metrics": {"specs": {"get": {"description": "Get the list of metrics for the given scope", "operationId": "getSiteSlesMetrics", "tags": ["Sites SLEs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"in": "path", "name": "scope", "required": true, "schema": {"$ref": "#/components/schemas/site_sle_metrics_scope_parameters"}}, {"description": "* site_id if `scope`==`site`\n* device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway`\n* mac if `scope`==`client`", "in": "path", "name": "scope_id", "required": true, "schema": {"type": "string"}}]}}}}}}}}, "ssr": {"paths": {"upgrade": {"paths": {"{upgrade_id}": {"specs": {"get": {"description": "Get Specific Site SSR Upgrade", "operationId": "getSiteSsrUpgrade", "tags": ["Utilities Upgrade"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/upgrade_id"}]}}}}, "{device_id}": {"paths": {"upgrade": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}], "post": {"description": "Upgrade Site SSR device", "operationId": "upgradeSsr", "tags": ["Utilities Upgrade"]}}}}}}}, "stats": {"specs": {"get": {"description": "Get Site Stats", "operationId": "getSiteStats", "tags": ["Sites"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"apps": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Applications", "operationId": "countSiteApps", "parameters": [{"description": "Default for wireless devices is `ap`. Default for wired devices is `device_mac`", "in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_apps_count_distinct"}}, {"description": "MAC of the device", "in": "query", "name": "device_mac", "schema": {"type": "string"}}, {"description": "Application name", "in": "query", "name": "app", "schema": {"type": "string"}}, {"description": "If a device is wired or wireless. Default is False.", "in": "query", "name": "wired", "schema": {"type": "string"}}], "tags": ["Sites Applications"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "assets": {"specs": {"get": {"description": "Get List of Site Assets Stats", "operationId": "listSiteAssetsStats", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Assets"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"asset_id": {"specs": {"get": {"description": "Get Site Asset Details", "operationId": "getSiteAssetStats", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Assets"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "count": {"specs": {"get": {"description": "Count Asset by distinct field", "operationId": "countSiteAssets", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_assets_count_distinct"}}], "tags": ["Sites Assets"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Assets Search", "operationId": "searchSiteAssets", "parameters": [{"in": "query", "name": "mac", "schema": {"type": "string"}}, {"in": "query", "name": "map_id", "schema": {"type": "string"}}, {"in": "query", "name": "ibeacon_uuid", "schema": {"type": "string"}}, {"in": "query", "name": "ibeacon_major", "schema": {"type": "integer"}}, {"in": "query", "name": "ibeacon_minor", "schema": {"type": "integer"}}, {"in": "query", "name": "eddystone_uid_namespace", "schema": {"type": "string"}}, {"in": "query", "name": "eddystone_uid_instance", "schema": {"type": "string"}}, {"in": "query", "name": "eddystone_url", "schema": {"type": "string"}}, {"in": "query", "name": "device_name", "schema": {"type": "string"}}, {"in": "query", "name": "by", "schema": {"type": "string"}}, {"in": "query", "name": "name", "schema": {"type": "string"}}, {"in": "query", "name": "ap_mac", "schema": {"type": "string"}}, {"in": "query", "name": "beam", "schema": {"type": "string"}}, {"in": "query", "name": "rssi", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Assets"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "beacons": {"specs": {"get": {"description": "Get List of Site Beacons Stats", "operationId": "listSiteBeaconsStats", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Beacons"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "bgp_peers": {"paths": {"count": {"specs": {"get": {"description": "Count BGP Stats", "operationId": "countSiteBgpStats", "parameters": [{"in": "query", "name": "state", "schema": {"type": "string"}}, {"in": "query", "name": "distinct", "schema": {"type": "string"}}], "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search BGP Stats", "operationId": "searchSiteBgpStats", "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "calls": {"paths": {"client": {"paths": {"{client_mac}": {"paths": {"troubleshoot": {"specs": {"get": {"description": "Troubleshoot a call", "operationId": "troubleshootSiteCall", "parameters": [{"description": "meeting_id", "in": "query", "name": "meeting_id", "required": true, "schema": {"type": "string"}}, {"description": "device identifier", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Third party app name", "in": "query", "name": "app", "schema": {"example": "zoom", "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Sites Calls"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/client_mac"}]}}}}}}, "count": {"specs": {"get": {"description": "Count by Distinct Attributes of Calls", "operationId": "countSiteCalls", "parameters": [{"in": "query", "name": "distrinct", "schema": {"$ref": "#/components/schemas/count_site_calls_distrinct"}}, {"description": "feedback rating (e.g. \"rating=1\" or \"rating=1,2\")", "in": "query", "name": "rating", "schema": {"maximum": 5, "minimum": 1, "type": "integer"}}, {"in": "query", "name": "app", "schema": {"type": "string"}}, {"in": "query", "name": "start", "schema": {"type": "string"}}, {"in": "query", "name": "end", "schema": {"type": "string"}}], "tags": ["Sites Calls"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Calls", "operationId": "searchSiteCalls", "parameters": [{"description": "device identifier", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Third party app name", "in": "query", "name": "app", "schema": {"example": "zoom", "type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Calls"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "troubleshoot": {"specs": {"get": {"description": "Summary of calls troubleshoot by site", "operationId": "listSiteTroubleshootCalls", "parameters": [{"description": "AP MAC", "in": "query", "name": "ap", "schema": {"type": "string"}}, {"description": "meeting_id", "in": "query", "name": "meeting_id", "schema": {"type": "string"}}, {"description": "device identifier", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Third party app name", "in": "query", "name": "app", "schema": {"example": "zoom", "type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Sites Calls"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/client_mac"}]}}}}, "clients": {"specs": {"get": {"description": "Get List of Site All Clients Stats Details", "operationId": "listSiteWirelessClientsStats", "parameters": [{"in": "query", "name": "wired", "schema": {"default": false, "type": "boolean"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"{client_mac}": {"specs": {"get": {"description": "Get Site Client Stats Details", "operationId": "getSiteWirelessClientStats", "parameters": [{"in": "query", "name": "wired", "schema": {"default": false, "type": "boolean"}}], "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/client_mac"}]}}}}, "devices": {"specs": {"get": {"description": "Get List of Site Devices Stats", "operationId": "listSiteDevicesStats", "parameters": [{"in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/device_type_with_all"}}, {"in": "query", "name": "status", "schema": {"$ref": "#/components/schemas/stat_device_status_filter"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"{device_id}": {"specs": {"get": {"description": "Get Site Device Stats Details", "operationId": "getSiteDeviceStats", "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}]}, "paths": {"clients": {"specs": {"get": {"description": "Get wireless client stat by Device", "operationId": "getSiteAllClientsStatsByDevice", "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/device_id"}]}}}}}}, "discovered_assets": {"specs": {"get": {"description": "Get List of Site Discovered BLE Assets that doesn\u2019t match any of the Asset / Assetfilters", "operationId": "listSiteDiscoveredAssets", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Assets"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "discovered_switch_metrics": {"paths": {"search": {"specs": {"get": {"description": "Search Discovered Switch Metrics", "operationId": "searchSiteDiscoveredSwitchesMetrics", "parameters": [{"description": "metric scope", "in": "query", "name": "scope", "schema": {"$ref": "#/components/schemas/discovered_switches_metric_scope"}}, {"description": "metric type", "in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/discovered_switch_metric_type"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices - Discovered Switches"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "discovered_switches": {"paths": {"count": {"specs": {"get": {"description": "Count Discovered Switches", "operationId": "countSiteDiscoveredSwitches", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_discovered_switches_count_distinct"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices - Discovered Switches"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "metrics": {"specs": {"get": {"description": "Discovered switches related metrics, lists related switch system names & details if not compliant", "operationId": "getSiteDiscoveredSwitchesMetrics", "parameters": [{"description": "configurable # ap per switch threshold, default 12", "in": "query", "name": "threshold", "schema": {"type": "string"}}, {"description": "system name for switch level metrics, optional", "in": "query", "name": "system_name", "schema": {"type": "string"}}], "tags": ["Sites Devices - Discovered Switches"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Discovered Switches", "operationId": "searchSiteDiscoveredSwitches", "parameters": [{"in": "query", "name": "adopted", "schema": {"type": "boolean"}}, {"in": "query", "name": "system_name", "schema": {"type": "string"}}, {"in": "query", "name": "hostname", "schema": {"type": "string"}}, {"in": "query", "name": "vendor", "schema": {"type": "string"}}, {"in": "query", "name": "model", "schema": {"type": "string"}}, {"in": "query", "name": "version", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices - Discovered Switches"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "filtered_assets": {"specs": {"get": {"description": "Get a list of BLE beacons that matches Asset or AssetFilter", "operationId": "getSiteAssetsOfInterest", "parameters": [{"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Assets"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "gateways": {"paths": {"metrics": {"specs": {"get": {"description": "Get Site Gateway Metrics", "operationId": "getSiteGatewayMetrics", "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "maps": {"paths": {"{map_id}": {"paths": {"clients": {"specs": {"get": {"description": "Get Site Clients Stats By Map", "operationId": "getSiteWirelessClientsStatsByMap", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}]}}, "discovered_assets": {"specs": {"get": {"description": "Get a list of BLE beacons that we discovered (whether they\u2019re defined as assets or not)", "operationId": "getSiteDiscoveredAssetByMap", "tags": ["Sites Assets"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}]}}, "sdkclients": {"specs": {"get": {"description": "Get SdkClient Stats By Map", "operationId": "getSiteSdkStatsByMap", "tags": ["Sites Clients - SDK"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}]}}, "unconnected_clients": {"specs": {"get": {"description": "Get List of Site Unconnected Client Location", "operationId": "listSiteUnconnectedClientStats", "tags": ["Sites Clients - Wireless"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/map_id"}]}}}}}}, "mxedges": {"specs": {"get": {"description": "Get List of Site MxEdges Stats", "operationId": "listSiteMxEdgesStats", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}, "paths": {"{mxedge_id}": {"specs": {"get": {"description": "Get One Site MxEdge Stats", "operationId": "getSiteMxEdgeStats", "parameters": [{"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/mxedge_id"}]}}}}, "ports": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Switch/Gateway Ports", "operationId": "countSiteSwOrGwPorts", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_ports_count_distinct"}}, {"description": "indicates full or half duplex", "in": "query", "name": "full_duplex", "schema": {"type": "boolean"}}, {"description": "device identifier", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Chassis identifier of the chassis type listed", "in": "query", "name": "neighbor_mac", "schema": {"type": "string"}}, {"description": "Description supplied by the system on the interface E.g. \u201cGigabitEthernet2/0/39\u201d", "in": "query", "name": "neighbor_port_desc", "schema": {"type": "string"}}, {"description": "Name supplied by the system on the interface E.g. neighbor system name E.g. \u201cKumar-Acc-SW.mist.local\u201d", "in": "query", "name": "neighbor_system_name", "schema": {"type": "string"}}, {"description": "is the POE configured not be disabled.", "in": "query", "name": "poe_disabled", "schema": {"type": "boolean"}}, {"description": "poe mode depending on class E.g. \u201c802.3at\u201d", "in": "query", "name": "poe_mode", "schema": {"type": "string"}}, {"description": "is the device attached to POE", "in": "query", "name": "poe_on", "schema": {"type": "boolean"}}, {"description": "interface name", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "interface mac address", "in": "query", "name": "port_mac", "schema": {"type": "string"}}, {"description": "Amount of power being used by the interface at the time the command is executed. Unit in watts.", "in": "query", "name": "power_draw", "schema": {"type": "number"}}, {"description": "Output packets", "in": "query", "name": "tx_pkts", "schema": {"type": "integer"}}, {"description": "Input packets", "in": "query", "name": "rx_pkts", "schema": {"type": "integer"}}, {"description": "Input bytes", "in": "query", "name": "rx_bytes", "schema": {"type": "integer"}}, {"description": "Output rate", "in": "query", "name": "tx_bps", "schema": {"type": "integer"}}, {"description": "Input rate", "in": "query", "name": "rx_bps", "schema": {"type": "integer"}}, {"description": "Multicast output packets", "in": "query", "name": "tx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast output packets", "in": "query", "name": "tx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "Multicast input packets", "in": "query", "name": "rx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast input packets", "in": "query", "name": "rx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "port speed", "in": "query", "name": "speed", "schema": {"type": "integer"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_state", "schema": {"$ref": "#/components/schemas/count_site_sw_or_gw_ports_stp_state"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_role", "schema": {"$ref": "#/components/schemas/count_site_sw_or_gw_ports_stp_role"}}, {"description": "if `up`==`true` && has Authenticator role", "in": "query", "name": "auth_state", "schema": {"$ref": "#/components/schemas/count_site_sw_or_gw_ports_auth_state"}}, {"description": "indicates if interface is up", "in": "query", "name": "up", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Switch / Gateway Ports", "operationId": "searchSiteSwOrGwPorts", "parameters": [{"description": "indicates full or half duplex", "in": "query", "name": "full_duplex", "schema": {"type": "boolean"}}, {"description": "device identifier", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "device type", "in": "query", "name": "device_type", "schema": {"$ref": "#/components/schemas/search_site_sw_or_gw_ports_device_type"}}, {"description": "Chassis identifier of the chassis type listed", "in": "query", "name": "neighbor_mac", "schema": {"type": "string"}}, {"description": "Description supplied by the system on the interface E.g. \u201cGigabitEthernet2/0/39\u201d", "in": "query", "name": "neighbor_port_desc", "schema": {"type": "string"}}, {"description": "Name supplied by the system on the interface E.g. neighbor system name E.g. \u201cKumar-Acc-SW.mist.local\u201d", "in": "query", "name": "neighbor_system_name", "schema": {"type": "string"}}, {"description": "is the POE configured not be disabled.", "in": "query", "name": "poe_disabled", "schema": {"type": "boolean"}}, {"description": "poe mode depending on class E.g. \u201c802.3at\u201d", "in": "query", "name": "poe_mode", "schema": {"type": "string"}}, {"description": "is the device attached to POE", "in": "query", "name": "poe_on", "schema": {"type": "boolean"}}, {"description": "interface name", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "interface mac address", "in": "query", "name": "port_mac", "schema": {"type": "string"}}, {"description": "Amount of power being used by the interface at the time the command is executed. Unit in watts.", "in": "query", "name": "power_draw", "schema": {"type": "number"}}, {"description": "Output packets", "in": "query", "name": "tx_pkts", "schema": {"type": "integer"}}, {"description": "Input packets", "in": "query", "name": "rx_pkts", "schema": {"type": "integer"}}, {"description": "Input bytes", "in": "query", "name": "rx_bytes", "schema": {"type": "integer"}}, {"description": "Output rate", "in": "query", "name": "tx_bps", "schema": {"type": "integer"}}, {"description": "Input rate", "in": "query", "name": "rx_bps", "schema": {"type": "integer"}}, {"description": "Output errors", "in": "query", "name": "tx_errors", "schema": {"type": "integer"}}, {"description": "Input errors", "in": "query", "name": "rx_errors", "schema": {"type": "integer"}}, {"description": "Multicast output packets", "in": "query", "name": "tx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast output packets", "in": "query", "name": "tx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "Multicast input packets", "in": "query", "name": "rx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast input packets", "in": "query", "name": "rx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "port speed", "in": "query", "name": "speed", "schema": {"type": "integer"}}, {"description": "Limit on number of dynamically learned macs", "in": "query", "name": "mac_limit", "schema": {"type": "integer"}}, {"description": "Number of mac addresses in the forwarding table", "in": "query", "name": "mac_count", "schema": {"type": "integer"}}, {"description": "indicates if interface is up", "in": "query", "name": "up", "schema": {"type": "boolean"}}, {"description": "indicates if interface is active/inactive", "in": "query", "name": "active", "schema": {"type": "boolean"}}, {"description": "Last sampled jitter of the interface", "in": "query", "name": "jitter", "schema": {"type": "number"}}, {"description": "Last sampled loss of the interface", "in": "query", "name": "loss", "schema": {"type": "number"}}, {"description": "Last sampled latency of the interface", "in": "query", "name": "latency", "schema": {"type": "number"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_state", "schema": {"$ref": "#/components/schemas/search_site_sw_or_gw_ports_stp_state"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_role", "schema": {"$ref": "#/components/schemas/search_site_sw_or_gw_ports_stp_role"}}, {"description": "Optic Slot Partnumber, Check for null/empty", "in": "query", "name": "xcvr_part_number", "schema": {"type": "string"}}, {"description": "if `up`==`true` && has Authenticator role", "in": "query", "name": "auth_state", "schema": {"$ref": "#/components/schemas/search_site_sw_or_gw_ports_auth_state"}}, {"description": "LTE IMSI value, Check for null/empty", "in": "query", "name": "lte_imsi", "schema": {"type": "string"}}, {"description": "LTE ICCID value, Check for null/empty", "in": "query", "name": "lte_iccid", "schema": {"type": "string"}}, {"description": "LTE IMEI value, Check for null/empty", "in": "query", "name": "lte_imei", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "sdkclients": {"paths": {"{sdkclient_id}": {"specs": {"get": {"description": "Get Detail Stats of a SdkClient", "operationId": "getSiteSdkStats", "tags": ["Sites Clients - SDK"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/sdkclient_id"}]}}}}, "switch_ports": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Switch/Gateway Ports", "operationId": "countSiteSwitchPorts", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_switch_ports_count_distinct"}}, {"description": "indicates full or half duplex", "in": "query", "name": "full_duplex", "schema": {"type": "boolean"}}, {"description": "device identifier", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Chassis identifier of the chassis type listed", "in": "query", "name": "neighbor_mac", "schema": {"type": "string"}}, {"description": "Description supplied by the system on the interface E.g. \u201cGigabitEthernet2/0/39\u201d", "in": "query", "name": "neighbor_port_desc", "schema": {"type": "string"}}, {"description": "Name supplied by the system on the interface E.g. neighbor system name E.g. \u201cKumar-Acc-SW.mist.local\u201d", "in": "query", "name": "neighbor_system_name", "schema": {"type": "string"}}, {"description": "is the POE configured not be disabled.", "in": "query", "name": "poe_disabled", "schema": {"type": "boolean"}}, {"description": "poe mode depending on class E.g. \u201c802.3at\u201d", "in": "query", "name": "poe_mode", "schema": {"type": "string"}}, {"description": "is the device attached to POE", "in": "query", "name": "poe_on", "schema": {"type": "boolean"}}, {"description": "interface name", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "interface mac address", "in": "query", "name": "port_mac", "schema": {"type": "string"}}, {"description": "Amount of power being used by the interface at the time the command is executed. Unit in watts.", "in": "query", "name": "power_draw", "schema": {"type": "number"}}, {"description": "Output packets", "in": "query", "name": "tx_pkts", "schema": {"type": "integer"}}, {"description": "Input packets", "in": "query", "name": "rx_pkts", "schema": {"type": "integer"}}, {"description": "Input bytes", "in": "query", "name": "rx_bytes", "schema": {"type": "integer"}}, {"description": "Output rate", "in": "query", "name": "tx_bps", "schema": {"type": "integer"}}, {"description": "Input rate", "in": "query", "name": "rx_bps", "schema": {"type": "integer"}}, {"description": "Multicast output packets", "in": "query", "name": "tx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast output packets", "in": "query", "name": "tx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "Multicast input packets", "in": "query", "name": "rx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast input packets", "in": "query", "name": "rx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "port speed", "in": "query", "name": "speed", "schema": {"type": "integer"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_state", "schema": {"$ref": "#/components/schemas/count_site_switch_ports_stp_state"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_role", "schema": {"$ref": "#/components/schemas/count_site_switch_ports_stp_role"}}, {"description": "if `up`==`true`", "in": "query", "name": "auth_state", "schema": {"$ref": "#/components/schemas/count_site_switch_ports_auth_state"}}, {"description": "indicates if interface is up", "in": "query", "name": "up", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Switch / Gateway Ports", "operationId": "searchSiteSwitchPorts", "parameters": [{"description": "indicates full or half duplex", "in": "query", "name": "full_duplex", "schema": {"type": "boolean"}}, {"description": "device identifier", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Chassis identifier of the chassis type listed", "in": "query", "name": "neighbor_mac", "schema": {"type": "string"}}, {"description": "Description supplied by the system on the interface E.g. \u201cGigabitEthernet2/0/39\u201d", "in": "query", "name": "neighbor_port_desc", "schema": {"type": "string"}}, {"description": "Name supplied by the system on the interface E.g. neighbor system name E.g. \u201cKumar-Acc-SW.mist.local\u201d", "in": "query", "name": "neighbor_system_name", "schema": {"type": "string"}}, {"description": "is the POE configured not be disabled.", "in": "query", "name": "poe_disabled", "schema": {"type": "boolean"}}, {"description": "poe mode depending on class E.g. \u201c802.3at\u201d", "in": "query", "name": "poe_mode", "schema": {"type": "string"}}, {"description": "is the device attached to POE", "in": "query", "name": "poe_on", "schema": {"type": "boolean"}}, {"description": "interface name", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "interface mac address", "in": "query", "name": "port_mac", "schema": {"type": "string"}}, {"description": "Amount of power being used by the interface at the time the command is executed. Unit in watts.", "in": "query", "name": "power_draw", "schema": {"type": "number"}}, {"description": "Output packets", "in": "query", "name": "tx_pkts", "schema": {"type": "integer"}}, {"description": "Input packets", "in": "query", "name": "rx_pkts", "schema": {"type": "integer"}}, {"description": "Input bytes", "in": "query", "name": "rx_bytes", "schema": {"type": "integer"}}, {"description": "Output rate", "in": "query", "name": "tx_bps", "schema": {"type": "integer"}}, {"description": "Input rate", "in": "query", "name": "rx_bps", "schema": {"type": "integer"}}, {"description": "Multicast output packets", "in": "query", "name": "tx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast output packets", "in": "query", "name": "tx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "Multicast input packets", "in": "query", "name": "rx_mcast_pkts", "schema": {"type": "integer"}}, {"description": "Broadcast input packets", "in": "query", "name": "rx_bcast_pkts", "schema": {"type": "integer"}}, {"description": "port speed", "in": "query", "name": "speed", "schema": {"type": "integer"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_state", "schema": {"$ref": "#/components/schemas/search_site_switch_ports_stp_state"}}, {"description": "if `up`==`true`", "in": "query", "name": "stp_role", "schema": {"$ref": "#/components/schemas/search_site_switch_ports_stp_role"}}, {"description": "if `up`==`true` && has Authenticator role", "in": "query", "name": "auth_state", "schema": {"$ref": "#/components/schemas/search_site_switch_ports_auth_state"}}, {"description": "indicates if interface is up", "in": "query", "name": "up", "schema": {"type": "boolean"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Devices Stats"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "switches": {"paths": {"metrics": {"specs": {"get": {"description": "Get version compliance metrics for managed or monitored switches", "operationId": "getSiteSwitchesMetrics", "parameters": [{"in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/switch_metric_type"}}, {"in": "query", "name": "scope", "schema": {"$ref": "#/components/schemas/switch_metric_scope"}}, {"description": "switch mac, used only with metric `type`==`active_ports_summary`", "in": "query", "name": "switch_mac", "schema": {"type": "string"}}], "tags": ["Sites Devices - Wired"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "wxrules": {"specs": {"get": {"description": "Get Wxlan Rule usage", "operationId": "getSiteWxRulesUsage", "tags": ["Sites WxRules"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "zones": {"specs": {"get": {"description": "Get List of Site Zones Stats", "operationId": "listSiteZonesStats", "parameters": [{"example": "00000000-0000-0000-0000-000000000000", "in": "query", "name": "map_id", "schema": {"type": "string"}}], "tags": ["Sites Zones"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "{zone_type}": {"paths": {"{zone_id}": {"specs": {"get": {"description": "Get Detail Zone Stats", "operationId": "getSiteZoneStats", "tags": ["Sites Zones"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/zone_type"}, {"$ref": "#/components/parameters/zone_id"}]}}}}}}, "subscriptions": {"specs": {"delete": {"description": "Unsubscribe to Site Alarms", "operationId": "UnsubscribeSiteAlarms", "tags": ["Sites Alarms"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Subscribe to Site Alarms", "operationId": "SubscribeSiteAlarms", "tags": ["Sites Alarms"]}}}, "synthetic_test": {"specs": {"get": {"description": "Get Synthetic Testing Status", "operationId": "getSiteSyntheticTestStatus", "tags": ["Sites Synthetic Tests"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Trigger Synthetic Testing", "operationId": "triggerSiteSyntheticTest", "tags": ["Sites Synthetic Tests"]}}, "paths": {"search": {"specs": {"get": {"description": "Search Site Synthetic Testing", "operationId": "searchSiteSyntheticTest", "parameters": [{"description": "Device MAC Address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "port_id used to run the test (for SSR only)", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "VLAN ID", "in": "query", "name": "vlan_id", "schema": {"type": "string"}}, {"description": "entity who triggers the test", "in": "query", "name": "by", "schema": {"type": "string"}}, {"description": "test failure reason", "in": "query", "name": "reason", "schema": {"type": "string"}}, {"description": "synthetic test type", "in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/synthetictest_type"}}], "tags": ["Sites Synthetic Tests"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "uisettings": {"specs": {"get": {"description": "Site UI settings", "operationId": "listSiteUiSettings", "tags": ["Sites UI Settings"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Site UI settings", "operationId": "createSiteUiSettings", "tags": ["Sites UI Settings"]}}, "paths": {"derived": {"specs": {"get": {"description": "Get both site UI settings(for_site=true) and org UI settings (for_site=false)", "operationId": "getSiteUiSettingDerived", "tags": ["Sites UI Settings"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "{uisetting_id}": {"specs": {"delete": {"description": "Site UI settings", "operationId": "deleteSiteUiSetting", "tags": ["Sites UI Settings"]}, "get": {"description": "Site UI settings", "operationId": "getSiteUiSetting", "tags": ["Sites UI Settings"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/uisetting_id"}], "post": {"description": "Site UI settings", "operationId": "updateSiteUiSetting", "tags": ["Sites UI Settings"]}}}}}, "vbeacons": {"specs": {"get": {"description": "Get List of Site Virtual Beacons", "operationId": "listSiteVBeacons", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites vBeacons"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Virtual Beacon", "operationId": "createSiteVBeacon", "tags": ["Sites vBeacons"]}}, "paths": {"{vbeacon_id}": {"specs": {"delete": {"description": "Delete Site Virtual Beacon", "operationId": "deleteSiteVBeacon", "tags": ["Sites vBeacons"]}, "get": {"description": "Get Site Virtual Beacon Details", "operationId": "getSiteVBeacon", "tags": ["Sites vBeacons"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/vbeacon_id"}], "put": {"description": "Update Site Virtual Beacon", "operationId": "updateSiteVBeacon", "tags": ["Sites vBeacons"]}}}}}, "vpns": {"paths": {"derived": {"specs": {"get": {"description": "VPN object represents an overlay network where gateways can participate in and optionally expose routes to.", "operationId": "listSiteVpnsDerived", "parameters": [{"description": "whether resolve the site variables", "in": "query", "name": "resolve", "schema": {"default": false, "type": "boolean"}}], "tags": ["Sites VPNs"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "wan_client": {"paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Site WAN Client-Events", "operationId": "countSiteWanClientEvents", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_wan_client_events_distinct"}}, {"$ref": "#/components/parameters/client_event_type"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Clients - Wan"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}}}, "wan_clients": {"paths": {"count": {"specs": {"get": {"description": "Count Site WAN Clients", "operationId": "countSiteWanClients", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_wan_clients_count_distinct"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Sites Clients - Wan"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "events": {"paths": {"search": {"specs": {"get": {"description": "Search Site WAN Client Events", "operationId": "searchSiteWanClientEvents", "parameters": [{"$ref": "#/components/parameters/client_event_type"}, {"description": "partial / full MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "client IP", "in": "query", "name": "ip", "schema": {"type": "string"}}, {"description": "Manufacture", "in": "query", "name": "mfg", "schema": {"type": "string"}}, {"description": "nacrule_id", "in": "query", "name": "nacrule_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Clients - Wan"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "search": {"specs": {"get": {"description": "Search Site WAN Clients", "operationId": "searchSiteWanClients", "parameters": [{"description": "partial / full MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "partial / full hostname", "in": "query", "name": "hostname", "schema": {"type": "string"}}, {"description": "client IP", "in": "query", "name": "ip", "schema": {"type": "string"}}, {"description": "Manufacture", "in": "query", "name": "mfg", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/page"}], "tags": ["Sites Clients - Wan"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "wan_usages": {"paths": {"count": {"specs": {"get": {"description": "Count Site WAN Uages", "operationId": "countSiteWanUsage", "parameters": [{"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Peer MAC address", "in": "query", "name": "peer_mac", "schema": {"type": "string"}}, {"description": "Port ID for the device", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "Peer Port ID for the device", "in": "query", "name": "peer_port_id", "schema": {"type": "string"}}, {"description": "policy for the wan path", "in": "query", "name": "policy", "schema": {"type": "string"}}, {"description": "tenant network in which the packet is sent", "in": "query", "name": "tenant", "schema": {"type": "string"}}, {"description": "path_type of the port", "in": "query", "name": "path_type", "schema": {"type": "string"}}, {"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/wan_usages_count_disctinct"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites WAN Usages"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Site WAN Uages", "operationId": "searchSiteWanUsage", "parameters": [{"description": "MAC address", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "Peer MAC address", "in": "query", "name": "peer_mac", "schema": {"type": "string"}}, {"description": "Port ID for the device", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "Peer Port ID for the device", "in": "query", "name": "peer_port_id", "schema": {"type": "string"}}, {"description": "policy for the wan path", "in": "query", "name": "policy", "schema": {"type": "string"}}, {"description": "tenant network in which the packet is sent", "in": "query", "name": "tenant", "schema": {"type": "string"}}, {"description": "path_type of the port", "in": "query", "name": "path_type", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites WAN Usages"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "webhooks": {"specs": {"get": {"description": "Get List of Site Webhooks", "operationId": "listSiteWebhooks", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Webhooks"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Webhook defines a webhook, modeled after [github\u2019s model](https://developer.github.com/webhooks/).\n\nThere is two types of webhooks:\n* webhooks ([examples](https://www.postman.com/juniper-mist/workspace/mist-systems-s-public-workspace/folder/224925-be01e694-7253-4195-8563-78e2a745e114))\n* raw data webhooks ([examples](https://www.postman.com/juniper-mist/workspace/mist-systems-s-public-workspace/folder/224925-e2d5d5f8-4bdb-4efc-93e4-90f4b33d0b2b))\n\n##### Webhooks\nWebhooks can be configured at the org level (subset of topics only) and at the site level. It is possible to have multiple topics in the same webhook configuration and/or to have multiple webhooks configured at the same time.\n\n##### Client Raw Data Webhooks\nRaw data webhooks are a special subset of webhooks that provide insight into raw data packets emitted by a client, identified by their advertising MAC address (assets, discovered ble, connected wifi, unconnected wifi). The data that client raw data webhooks encompasses are reporting AP information, RSSI Data, and any special packets/telemetry packets that the client may emit. Note that client raw webhooks are the raw data coming from the client and do not contain the X,Y location data of the client. In order to get the location data for a client please see our location webhooks. Clients can be identified uniquely across these client raw data topics and location webhook topic using MAC address as the Unique identifier (client identifier).\n\n###### Client Raw Data Webhooks Topics\nTopics that correspond to client raw data for different client types. \n* `asset-raw-rssi` - Raw data from packets emitted by named and filtered assets \n* `discovered-raw-rssi` - Raw data from packets emitted by passive BLE devices \n* `wifi-conn-raw` - Raw data from packets emitted by connected devices \n* `wifi-unconn-raw` - Raw data from packets emitted by unconnected devices (passive)\n\n###### Rules for configuring client raw data webhooks\n1. Only one instance of a webhook object containing a client raw data webhook topic is allowed. (a site level entry will override an org level entry for the client raw data webhook topic in question)\n2. Only one client raw data webhook topic is allowed per `http-post` message to webhooks api\n", "operationId": "createSiteWebhook", "tags": ["Sites Webhooks"]}}, "paths": {"{webhook_id}": {"specs": {"delete": {"description": "Delete Site Webhook", "operationId": "deleteSiteWebhook", "tags": ["Sites Webhooks"]}, "get": {"description": "Get Site Webhook Details", "operationId": "getSiteWebhook", "tags": ["Sites Webhooks"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/webhook_id"}], "put": {"description": "Update Site Webhook", "operationId": "updateSiteWebhook", "tags": ["Sites Webhooks"]}}, "paths": {"events": {"paths": {"count": {"specs": {"get": {"description": "Count Site Webhooks deliveries\n\n\nTopics Supported:\n- alarms\n- audits\n- device-updowns\n- occupancy-alerts\n- ping", "operationId": "countSiteWebhooksDeliveries", "parameters": [{"in": "query", "name": "error", "schema": {"type": "string"}}, {"in": "query", "name": "status_code", "schema": {"type": "integer"}}, {"description": "webhook delivery status", "in": "query", "name": "status", "schema": {"$ref": "#/components/schemas/webhook_delivery_status"}}, {"description": "webhook topic", "in": "query", "name": "topic", "schema": {"$ref": "#/components/schemas/webhook_delivery_topic"}}, {"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/webhook_delivery_distinct"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Webhooks"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/webhook_id"}]}}, "search": {"specs": {"get": {"description": "Search Site Webhooks deliveries\n\n\nTopics Supported:\n- alarms\n- audits\n- device-updowns\n- occupancy-alerts\n- ping", "operationId": "searchSiteWebhooksDeliveries", "parameters": [{"in": "query", "name": "error", "schema": {"type": "string"}}, {"in": "query", "name": "status_code", "schema": {"type": "integer"}}, {"description": "webhook delivery status", "in": "query", "name": "status", "schema": {"$ref": "#/components/schemas/webhook_delivery_status"}}, {"description": "webhook topic", "in": "query", "name": "topic", "schema": {"$ref": "#/components/schemas/webhook_delivery_topic"}}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Webhooks"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/webhook_id"}]}}}}, "ping": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/webhook_id"}], "post": {"description": "send a Ping event to the webhook", "operationId": "pingSiteWebhook", "tags": ["Sites Webhooks"]}}}}}}}, "wired_clients": {"paths": {"count": {"specs": {"get": {"description": "Count by Distinct Attributes of Clients", "operationId": "countSiteWiredClients", "parameters": [{"in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_wired_clients_count_distinct"}}, {"description": "client mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "device mac", "in": "query", "name": "device_mac", "schema": {"type": "string"}}, {"description": "port id", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "vlan", "in": "query", "name": "vlan", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wired"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "search": {"specs": {"get": {"description": "Search Wired Clients", "operationId": "searchSiteWiredClients", "parameters": [{"description": "device mac", "in": "query", "name": "device_mac", "schema": {"type": "string"}}, {"description": "client mac", "in": "query", "name": "mac", "schema": {"type": "string"}}, {"description": "client ip", "in": "query", "name": "ip", "schema": {"type": "string"}}, {"description": "port id", "in": "query", "name": "port_id", "schema": {"type": "string"}}, {"description": "vlan", "in": "query", "name": "vlan", "schema": {"type": "string"}}, {"description": "manufacture", "in": "query", "name": "manufacture", "schema": {"type": "string"}}, {"description": "single entry of hostname/mac", "in": "query", "name": "text", "schema": {"type": "string"}}, {"description": "nacrule_id", "in": "query", "name": "nacrule_id", "schema": {"type": "string"}}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Clients - Wired"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}}}, "wlans": {"specs": {"get": {"description": "Get List of Site WLANs", "operationId": "listSiteWlans", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Wlans"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site WLAN", "operationId": "createSiteWlan", "tags": ["Sites Wlans"]}}, "paths": {"derived": {"specs": {"get": {"description": "Get Wlans Derived", "operationId": "listSiteWlanDerived", "parameters": [{"description": "whether to resolve SITE_VARS", "example": true, "in": "query", "name": "resolve", "schema": {"default": false, "type": "boolean"}}, {"description": "filter by WLAN ID", "in": "query", "name": "wlan_id", "schema": {"type": "string"}}], "tags": ["Sites Wlans"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "{wlan_id}": {"specs": {"delete": {"description": "Delete Site WLAN", "operationId": "deleteSiteWlan", "tags": ["Sites Wlans"]}, "get": {"description": "Get Site WLAN", "operationId": "getSiteWlan", "tags": ["Sites Wlans"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/wlan_id"}], "put": {"description": "Update Site WLAN", "operationId": "updateSiteWlan", "tags": ["Sites Wlans"]}}, "paths": {"portal_image": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/wlan_id"}], "post": {"description": "Wlan Portal Image Upload", "operationId": "uploadSiteWlanPortalImage", "tags": ["Sites Wlans"]}}}, "portal_template": {"specs": {"parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/wlan_id"}], "put": {"description": "Update a Portal Template\n\n#### Sponsor Email Template\nSponsor Email Template supports following template variables:\n\n| **Name** | **Description** |\n| --- | --- |\n| approve_url | Renders URL to approve the request; optionally &minutes=N query param can be appended to change the Authorization period of the guest, where N is a valid integer denoting number of minutes a guest remains authorized |\n| deny_url | Renders URL to reject the request |\n| guest_email | Renders Email ID of the guest |\n| guest_name | Renders Name of the guest |\n| field1 | Renders value of the Custom Field 1 |\n| field2 | Renders value of the Custom Field 2 |\n| company | Renders value of the Company field |\n| sponsor_link_validity_duration | Renders validity time of the request (i.e. Approve/Deny URL) |\n| auth_expire_minutes | Renders Wlan-level configured Guest Authorization Expiration time period (in minutes), If not configured then default (1 day in minutes) |", "operationId": "updateSiteWlanPortalTemplate", "tags": ["Sites Wlans"]}}}}}}}, "wxrules": {"specs": {"get": {"description": "Get List of Site WxLan Rules", "operationId": "listSiteWxRules", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites WxRules"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site WxLan Rule", "operationId": "createSiteWxRule", "tags": ["Sites WxRules"]}}, "paths": {"derived": {"specs": {"get": {"description": "Get Site WxLan Rule Derived", "operationId": "getSiteWxRulesDerived", "tags": ["Sites WxRules"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "{wxrule_id}": {"specs": {"delete": {"description": "Delete Site WxLan Rule", "operationId": "deleteSiteWxRule", "tags": ["Sites WxRules"]}, "get": {"description": "Get Site WxLan Rule Details", "operationId": "getSiteWxRule", "tags": ["Sites WxRules"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/wxrule_id"}], "put": {"description": "Update Site WxLan Rule", "operationId": "updateSiteWxRule", "tags": ["Sites WxRules"]}}}}}, "wxtags": {"specs": {"get": {"description": "Get List of Site WxTags", "operationId": "listSiteWxTags", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites WxTags"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site WxTag", "operationId": "createSiteWxTag", "tags": ["Sites WxTags"]}}, "paths": {"apps": {"specs": {"get": {"description": "Get Application List", "operationId": "getSiteApplicationList", "tags": ["Sites WxTags"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}]}}, "{wxtag_id}": {"specs": {"delete": {"description": "Delete Site WxTag", "operationId": "deleteSiteWxTag", "tags": ["Sites WxTags"]}, "get": {"description": "Get Site WxTag Details", "operationId": "getSiteWxTag", "tags": ["Sites WxTags"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/wxtag_id"}], "put": {"description": "Update Site WxTag", "operationId": "updateSiteWxTag", "tags": ["Sites WxTags"]}}, "paths": {"clients": {"specs": {"get": {"description": "Get Current Matching Clients of a WXLAN Tag", "operationId": "getSiteCurrentMatchingClientsOfAWxTag", "tags": ["Sites WxTags"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/wxtag_id"}]}}}}}}, "wxtunnels": {"specs": {"get": {"description": "Get List of Site WxLan Tunnels", "operationId": "listSiteWxTunnels", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites WxTunnels"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site WxLan Tunnel", "operationId": "createSiteWxTunnel", "tags": ["Sites WxTunnels"]}}, "paths": {"{wxtunnel_id}": {"specs": {"delete": {"description": "Delete Site WxLan Tunnel", "operationId": "deleteSiteWxTunnel", "tags": ["Sites WxTunnels"]}, "get": {"description": "Get Site WxLan tunnel Details", "operationId": "getSiteWxTunnel", "tags": ["Sites WxTunnels"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/wxtunnel_id"}], "put": {"description": "Update Site WxLan Tunnel", "operationId": "updateSiteWxTunnel", "tags": ["Sites WxTunnels"]}}}}}, "zones": {"specs": {"get": {"description": "Get List of Site Zones", "operationId": "listSiteZones", "parameters": [{"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}], "tags": ["Sites Zones"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}], "post": {"description": "Create Site Zone", "operationId": "createSiteZone", "tags": ["Sites Zones"]}}, "paths": {"{zone_id}": {"specs": {"delete": {"description": "Delete Site Zone", "operationId": "deleteSiteZone", "tags": ["Sites Zones"]}, "get": {"description": "Get Site Zone Details", "operationId": "getSiteZone", "tags": ["Sites Zones"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/zone_id"}], "put": {"description": "Update Site Zone", "operationId": "updateSiteZone", "tags": ["Sites Zones"]}}}}}, "{zone_type}": {"paths": {"count": {"specs": {"get": {"description": "Count Site Zone Sessions", "operationId": "countSiteZoneSessions", "parameters": [{"example": "scope_id", "in": "query", "name": "distinct", "schema": {"$ref": "#/components/schemas/site_zone_count_distinct"}}, {"description": "user type", "in": "query", "name": "user_type", "schema": {"$ref": "#/components/schemas/rf_client_type"}}, {"description": "client MAC / Asset MAC / SDK UUID", "in": "query", "name": "user", "schema": {"type": "string"}}, {"description": "if `scope`==`map`/`zone`/`rssizone`, the scope id", "in": "query", "name": "scope_id", "schema": {"type": "string"}}, {"description": "scope", "in": "query", "name": "scope", "schema": {"$ref": "#/components/schemas/zone_scope"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Zones"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/zone_type"}]}}, "visits": {"paths": {"search": {"specs": {"get": {"description": "Search Zone Sessions", "operationId": "searchSiteZoneSessions", "parameters": [{"description": "user type, client (default) / sdkclient / asset", "in": "query", "name": "user_type", "schema": {"$ref": "#/components/schemas/rf_client_type"}}, {"description": "client MAC / Asset MAC / SDK UUID", "in": "query", "name": "user", "schema": {"type": "string"}}, {"description": "if `scope`==`map`/`zone`/`rssizone`, the scope id", "in": "query", "name": "scope_id", "schema": {"type": "string"}}, {"description": "scope", "in": "query", "name": "scope", "schema": {"$ref": "#/components/schemas/visits_scope"}}, {"$ref": "#/components/parameters/page"}, {"$ref": "#/components/parameters/limit"}, {"$ref": "#/components/parameters/start"}, {"$ref": "#/components/parameters/end"}, {"$ref": "#/components/parameters/duration"}], "tags": ["Sites Zones"]}, "parameters": [{"$ref": "#/components/parameters/site_id"}, {"$ref": "#/components/parameters/zone_type"}]}}}}}}}}}}, "utils": {"paths": {"test_telstra": {"specs": {"post": {"description": "Allows validation of Telstra sms gateway credentials.\n\nIn case of success, a text message confirming successful setup should be received. In case of error, telstra error message are returned.", "operationId": "testSiteWlanTelstraSetup", "tags": ["Utilities Wi-Fi"]}}}, "test_twilio": {"specs": {"post": {"description": "Allows validation of twilio setup\nIn case of success, a text message confirming successful setup should be received. In case of error, twilio error code and message are returned.", "operationId": "testSiteWlanTwilioSetup", "tags": ["Utilities Wi-Fi"]}}}}}}}}}, "webhook_example": {"paths": {"_alarm_": {"specs": {"post": {"description": "Webhook sample for `alarm` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "alarms", "tags": ["Samples - Webhook"]}}}, "_asset_raw_": {"specs": {"post": {"description": "Webhook sample for `asset_raw` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages\n\n**will be deprecated after 06/30/2024**", "operationId": "assetRaw", "tags": ["Samples - Webhook"]}}}, "_audit_": {"specs": {"post": {"description": "Webhook sample for `audit` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "audits", "tags": ["Samples - Webhook"]}}}, "_client_info_": {"specs": {"post": {"description": "Webhook sample for `client_info` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "clientInfo", "tags": ["Samples - Webhook"]}}}, "_client_join_": {"specs": {"post": {"description": "Webhook sample for `client_join` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "clientJoin", "tags": ["Samples - Webhook"]}}}, "_client_latency_": {"specs": {"post": {"description": "Webhook sample for `client-latency` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "client_latency", "tags": ["Samples - Webhook"]}}}, "_client_sessions_": {"specs": {"post": {"description": "Webhook sample for `client_sessions` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "clientSessions", "tags": ["Samples - Webhook"]}}}, "_device_events_": {"specs": {"post": {"description": "Webhook sample for `device_events` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "deviceEvents", "tags": ["Samples - Webhook"]}}}, "_device_updowns_": {"specs": {"post": {"description": "Webhook sample for `device_updowns` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "deviceUpDown", "tags": ["Samples - Webhook"]}}}, "_discovered_raw_rssi_": {"specs": {"post": {"description": "Webhook sample for `discovered-raw-rssi` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "discovered-raw-rssi", "tags": ["Samples - Webhook"]}}}, "_location_": {"specs": {"post": {"description": "Webhook sample for `location` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "location", "tags": ["Samples - Webhook"]}}}, "_location_asset_": {"specs": {"post": {"description": "Webhook sample for `location_asset` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "location_asset", "tags": ["Samples - Webhook"]}}}, "_location_centrak_": {"specs": {"post": {"description": "Webhook sample for `location_centrak` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "location_centrak", "tags": ["Samples - Webhook"]}}}, "_location_client_": {"specs": {"post": {"description": "Webhook sample for `location_client` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "location_client", "tags": ["Samples - Webhook"]}}}, "_location_sdk_": {"specs": {"post": {"description": "Webhook sample for `location_sdk` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "location_sdk", "tags": ["Samples - Webhook"]}}}, "_location_unclient_": {"specs": {"post": {"description": "Webhook sample for `location_unclient` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "location_unclient", "tags": ["Samples - Webhook"]}}}, "_nac_accounting_": {"specs": {"post": {"description": "Webhook sample for `nac-accounting` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "nacAccounting", "tags": ["Samples - Webhook"]}}}, "_nac_events_": {"specs": {"post": {"description": "Example Delivery of nac_events", "operationId": "nac_events", "tags": ["Samples - Webhook"]}}}, "_occupancy_alerts_": {"specs": {"post": {"description": "Webhook sample for `occupancy_alerts` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "occupancyAlerts", "tags": ["Samples - Webhook"]}}}, "_ping_": {"specs": {"post": {"description": "Webhook sample for `ping` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "ping", "tags": ["Samples - Webhook"]}}}, "_sdkclient_scan_data": {"specs": {"post": {"description": "Webhook sample for `sdkclient_scan_data` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "sdkclientScanData", "tags": ["Samples - Webhook"]}}}, "_site_sle_": {"specs": {"post": {"description": "Webhook sample for `site_sle` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "site_sle", "tags": ["Samples - Webhook"]}}}, "_zone_": {"specs": {"post": {"description": "Webhook sample for `zone` topic\n\n**Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages", "operationId": "zone", "tags": ["Samples - Webhook"]}}}}}}, "components": {"parameters": {"account_id": {"in": "path", "name": "account_id", "required": true, "schema": {"example": "iojzXIJWEuiD73ZvydOfg", "type": "string"}}, "admin_id": {"in": "path", "name": "admin_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "alarm_id": {"in": "path", "name": "alarm_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "alarmtemplate_id": {"in": "path", "name": "alarmtemplate_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "apitoken_id": {"in": "path", "name": "apitoken_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "aptemplate_id": {"in": "path", "name": "aptemplate_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, "asset_id": {"in": "path", "name": "asset_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "assetfilter_id": {"in": "path", "name": "assetfilter_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "attachment_id": {"in": "path", "name": "attachment_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "beacon_id": {"in": "path", "name": "beacon_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "client_event_type": {"description": "see [listDeviceEventsDefinitions](/#operations/listDeviceEventsDefinitions)", "in": "query", "name": "type", "schema": {"type": "string"}}, "client_mac": {"in": "path", "name": "client_mac", "required": true, "schema": {"example": "0000000000ab", "pattern": "^[0-9a-fA-F]{12}$", "type": "string"}}, "country_code": {"description": "country code, in two-character", "in": "query", "name": "country_code", "schema": {"example": "US", "pattern": "^[a-zA-Z]{2}$", "type": "string"}}, "device_event_type": {"description": "see [listDeviceEventsDefinitions](/#operations/listDeviceEventsDefinitions)", "in": "query", "name": "type", "schema": {"type": "string"}}, "device_id": {"in": "path", "name": "device_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "device_mac": {"in": "path", "name": "device_mac", "required": true, "schema": {"example": "0000000000ab", "pattern": "^[0-9a-fA-F]{12}$", "type": "string"}}, "deviceprofile_id": {"in": "path", "name": "deviceprofile_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "dot11_band": {"description": "802.11 Band", "in": "query", "name": "band", "schema": {"$ref": "#/components/schemas/dot11_band"}}, "dot11_proto": {"description": "a / b / g / n / ac / ax", "in": "query", "name": "proto", "schema": {"$ref": "#/components/schemas/dot11_proto"}}, "duration": {"description": "duration like 7d, 2w", "in": "query", "name": "duration", "required": false, "schema": {"default": "1d", "example": "10m", "type": "string"}}, "end": {"description": "end datetime, can be epoch or relative time like -1d, -2h; now if not specified", "in": "query", "name": "end", "schema": {"type": "integer"}}, "evpn_topology_id": {"in": "path", "name": "evpn_topology_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "fields": {"description": "list of additional fields requests, comma separeted, or `fields=*` for all of them", "in": "query", "name": "fields", "required": false, "schema": {"example": "field1,field2", "type": "string"}}, "gatewaytemplate_id": {"in": "path", "name": "gatewaytemplate_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "guest_mac": {"in": "path", "name": "guest_mac", "required": true, "schema": {"example": "0000000000ab", "pattern": "^[0-9a-fA-F]{12}$", "type": "string"}}, "idpprofile_id": {"in": "path", "name": "idpprofile_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "image_name": {"in": "path", "name": "image_name", "required": true, "schema": {"type": "string"}}, "interval": {"description": "Aggregation works by giving a time range plus interval (e.g. 1d, 1h, 10m) where aggregation function would be applied to.", "in": "query", "name": "interval", "required": false, "schema": {"example": "10m", "type": "string"}}, "invite_id": {"in": "path", "name": "invite_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "ip": {"in": "query", "name": "ip_address", "required": false, "schema": {"example": "192.168.1.1", "format": "ipv4", "type": "string"}}, "limit": {"in": "query", "name": "limit", "required": false, "schema": {"default": 100, "minimum": 0, "type": "integer"}}, "map_id": {"in": "path", "name": "map_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "marvisinvite_id": {"in": "path", "name": "marvisinvite_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "metric": {"description": "see /api/v1/const/insight_metrics for available metrics", "in": "path", "name": "metric", "required": true, "schema": {"type": "string"}}, "msp_id": {"in": "path", "name": "msp_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "mxcluster_id": {"in": "path", "name": "mxcluster_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "mxedge_event_type": {"description": "see [listDeviceEventsDefinitions](/#operations/listDeviceEventsDefinitions)", "in": "query", "name": "type", "schema": {"type": "string"}}, "mxedge_id": {"in": "path", "name": "mxedge_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "mxtunnel_id": {"in": "path", "name": "mxtunnel_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "nac_event_type": {"description": "see [listDeviceEventsDefinitions](/#operations/listNacEventsDefinitions)", "in": "query", "name": "type", "schema": {"type": "string"}}, "naccrl_id": {"in": "path", "name": "naccrl_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, "nacportal_id": {"in": "path", "name": "nacportal_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "nacrule_id": {"in": "path", "name": "nacrule_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "nactag_id": {"in": "path", "name": "nactag_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "name": {"in": "query", "name": "name", "required": false, "schema": {"type": "string"}}, "network_id": {"in": "path", "name": "network_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "networktemplate_id": {"in": "path", "name": "networktemplate_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "org_id": {"in": "path", "name": "org_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "orggroup_id": {"in": "path", "name": "orggroup_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "otherdevice_event_type": {"description": "see [listDeviceEventsDefinitions](/#operations/listOtherDeviceEventsDefinitions)", "in": "query", "name": "type", "schema": {"type": "string"}}, "page": {"in": "query", "name": "page", "required": false, "schema": {"default": 1, "minimum": 1, "type": "integer"}}, "pcap_id": {"in": "path", "name": "pcap_id", "required": true, "schema": {"format": "uuid", "type": "string"}}, "psk_id": {"description": "PSK ID", "in": "path", "name": "psk_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "psk_id_query": {"description": "PSK ID", "in": "query", "name": "psk_id", "required": false, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "type": "string"}}, "pskportal_id": {"in": "path", "name": "pskportal_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "q": {"description": "search string", "in": "query", "name": "q", "schema": {"example": "search", "type": "string"}}, "resolution": {"in": "query", "name": "resolution", "schema": {"$ref": "#/components/schemas/resolution"}}, "rfdiag_id": {"in": "path", "name": "rfdiag_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "rftemplate_id": {"in": "path", "name": "rftemplate_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "rogue_bssid": {"in": "path", "name": "rogue_bssid", "required": true, "schema": {"example": "0000000000ab", "pattern": "^[0-9a-fA-F]{12}$", "type": "string"}}, "rogue_type": {"in": "query", "name": "type", "schema": {"$ref": "#/components/schemas/rogue_type"}}, "rssizone_id": {"in": "path", "name": "rssizone_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "sdkclient_id": {"in": "path", "name": "sdkclient_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "sdkinvite_id": {"in": "path", "name": "sdkinvite_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "sdktemplate_id": {"in": "path", "name": "sdktemplate_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "secpolicy_id": {"in": "path", "name": "secpolicy_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "secret": {"in": "path", "name": "secret", "required": true, "schema": {"type": "string"}}, "service_id": {"in": "path", "name": "service_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "servicepolicy_id": {"in": "path", "name": "servicepolicy_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "site_id": {"in": "path", "name": "site_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "site_name": {"in": "path", "name": "site_name", "required": true, "schema": {"type": "string"}}, "sitegroup_id": {"in": "path", "name": "sitegroup_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "sitetemplate_id": {"in": "path", "name": "sitetemplate_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "sso_id": {"in": "path", "name": "sso_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "ssorole_id": {"in": "path", "name": "ssorole_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "start": {"description": "start datetime, can be epoch or relative time like -1d, -1w; -1d if not specified", "in": "query", "name": "start", "schema": {"type": "integer"}}, "system_event_type": {"description": "see [listDeviceEventsDefinitions](/#operations/listDeviceEventsDefinitions)", "in": "query", "name": "type", "schema": {"type": "string"}}, "template_id": {"in": "path", "name": "template_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "ticket_id": {"in": "path", "name": "ticket_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "token": {"in": "path", "name": "token", "required": true, "schema": {"type": "string"}}, "uisetting_id": {"in": "path", "name": "uisetting_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "upgrade_id": {"in": "path", "name": "upgrade_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "usermac_id": {"in": "path", "name": "usermac_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "vbeacon_id": {"in": "path", "name": "vbeacon_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "vpn_id": {"in": "path", "name": "vpn_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "webhook_id": {"in": "path", "name": "webhook_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "wlan_id": {"in": "path", "name": "wlan_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "wxrule_id": {"in": "path", "name": "wxrule_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "wxtag_id": {"in": "path", "name": "wxtag_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "wxtunnel_id": {"in": "path", "name": "wxtunnel_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "zone_id": {"in": "path", "name": "zone_id", "required": true, "schema": {"example": "000000ab-00ab-00ab-00ab-0000000000ab", "format": "uuid", "type": "string"}}, "zone_type": {"in": "path", "name": "zone_type", "required": true, "schema": {"$ref": "#/components/schemas/zone_type"}}}}} \ No newline at end of file diff --git a/firefox_updates.json b/firefox_updates.json index 460dfd0..1afd1cd 100644 --- a/firefox_updates.json +++ b/firefox_updates.json @@ -105,6 +105,11 @@ "version": "3.8.1", "update_link": "https://github.com/Mist-Automation-Programmability/mist_browser_extension/releases/download/3.8.1/mist_extension-3.8.1.xpi", "update_info_url": "https://github.com/Mist-Automation-Programmability/mist_browser_extension/releases/tag/3.8.1" + }, + { + "version": "3.9.0", + "update_link": "https://github.com/Mist-Automation-Programmability/mist_browser_extension/releases/download/3.9.0/mist_extension-3.9.0.xpi", + "update_info_url": "https://github.com/Mist-Automation-Programmability/mist_browser_extension/releases/tag/3.9.0" } ] } diff --git a/mist_openapi b/mist_openapi index ed577a2..2d75611 160000 --- a/mist_openapi +++ b/mist_openapi @@ -1 +1 @@ -Subproject commit ed577a2be4aa966b5ef24ebf2218c2925b7d5505 +Subproject commit 2d756119b8d1d8de79bd1105d58af58bab5b1614