openapi: 3.0.1 info: contact: email: tmunzer@juniper.net name: Thomas Munzer description: '> Version: **2403.1.0** > > Date: **March 29, 2024** --- #### Available Documentation * [Postman](https://documenter.getpostman.com/view/224925/SzYgQufe) * [Open API](https://doc.mist-lab.fr/) --- #### Useful links * [Mist Homepage](https://www.mist.com) * [Mist Documentation](https://www.mist.com/documentation) * [Official API Documentation](https://api.mist.com/api/v1/docs/Home) (Mist account required) * [Mist Blog](https://www.mist.com/news/?md_post_type=post) * [Mist Updates](https://www.mist.com/documentation/category/product-updates/)' license: name: MIT url: https://raw.githubusercontent.com/tmunzer/Mist-OAS3.0/main/LICENSE title: Mist API version: 2403.1.0 x-logo: altText: Juniper-MistAI backgroundColor: '#FFFFFF' url: https://www.mist.com/wp-content/uploads/logo.png servers: - description: Mist Global 01 url: https://api.mist.com - description: Mist Global 02 url: https://api.gc1.mist.com - description: Mist Global 03 url: https://api.ac2.mist.com - description: Mist Global 04 url: https://api.gc2.mist.com - description: Mist EMEA 01 url: https://api.eu.mist.com - description: Mist EMEA 02 url: https://api.gc3.mist.com - description: Mist APAC 01 url: https://api.ac5.mist.com security: - apiToken: [] - basicAuth: [] tags: - name: Login - description: A Mist account can be linked to OAuth2 providers:\n1. First, login with your Mist account\n2. Obtain the Authorization URL for Linking 1. in JSON response, more usable for developers. Simply don\'t specify the forward parameter when obtaining the authorization URL 2. or as GET parameter, for UI where the user flow can be continued. Specify the landing page/url of your choice 3. Obtain the authorizaiton code by clicking / going through Authorization URL Link Mist Account against OAuth2 Provider by using the authorization code name: Login With OAuth2 - description: "In a typical enterprise, a separate group of people, Installers, are\ \ responsible for install new devices. May it be a new installation (e.g. new\ \ stores), a replacement installation (e.g. replacing Cisco APs with Mist APs),\ \ or addition (e.g. adding new APs for better coverage). Instead of granting them\ \ Admin/Write privilege, it's more desirable to grant them minimum privileges\ \ to do the initial provisioning so they cannot read sensible information (e.g.\ \ PSK of a WLAN), or change configs of running APs.\nAt a high level, Installer\ \ APs try to achieve the following:\n1. identifying a device by MAC (that\u2019\ s what they see)\n2. they can only touch configurations of the devices they\u2019\ re installing\n3. allow the following configurations: * name * site assignment\ \ * device profile assignment * map and location (x/y) assignment * claim (if\ \ not already in the inventory) * replace existing device with the device being\ \ installed\n\n* Grace Period *\nGrace period provides a dynamic way to limit\ \ what devices / sites installer can work on. Generally installers work on recent\ \ deployments - bringing up new sites, add newly claimed devices to new / existing\ \ sites. They make mistakes, too, and may need to further tweak some of the parameters.\ \ Default grace period is 7 days and can be set from 1 day to 365 days." name: Installer - name: Admins - name: Mobile - description: MSP (Managed Service Provider) contains multiple Organizations. name: Msps - name: Msps Admins - name: Msps Inventory - name: Msps Invites - name: Msps Logo - name: Msps Logs - name: Msps Licenses - name: Msps Marvis - name: Msps Org Groups - name: Msps Orgs - name: Msps SLEs - name: Msps SSO Roles - name: Msps SSO - name: Msps Stats - name: Msps Tickets - description: An organization usually represents a customer - which has inventories, licenses. An Organization can contain multiple sites. A site usually represents a deployment at the same location (a campus, an office). name: Orgs - name: Orgs 128T - name: Orgs Admins - description: Alarms are triggered based on certain events. Alarms could be configured using an Alarm Template. name: Orgs Alarms - description: An Alarm Template is a set of Alarm Rules that could be applied to one or more sites (while each site can only pick one Alarm Template), or to the whole org. name: Orgs Alarm Templates - name: Orgs AP Templates - name: Orgs API Tokens - name: Orgs Assets - name: Orgs Asset Filters - name: Orgs Cert - name: Orgs Clients - NAC - name: Orgs Clients - Wan - name: Orgs Clients - Wired - name: Orgs Clients - Wireless - name: Orgs Cradlepoint - name: Orgs CRL - description: 'While Templates / RF Templates / Network Templates / Gateway Templates provides powerful ways to control how a Device\''s configuration is derived for a Site. There are cases where you\''d like another level of control at the Org Level. A Device Profile contains a subset of Device\''s configurations you\''d like a device to have. It will be merged at runtime when we\''re provisioning an AP.' name: Orgs Device Profiles - name: Orgs Devices - name: Orgs Devices - WAN Cluster - description: 'EVPN allows an alternative but more efficient LAN architecture utilizing VxLAN / MP-BGP - separating control plane (MAC / IP Learning) from forwarding plane. In our implementation, following the steps to deploy EVPN topologies in a Site' name: Orgs EVPN Topologies - description: API Call for 3rd party devices name: Orgs Devices Others - name: Orgs Devices Stats - description: "In Zscaler UI \n 1. add Partner Integration at https://admin.zscalerbeta.net/#administration/partner-integration\ \ \n 2. Add Partner Administrator Role at https://admin.zscalerbeta.net/#administration/role-management\ \ - Name: Mist - Access: Full \n 3. add Partner Admin at https://admin.zscalerbeta.net/#administration/admin-management\ \ with - Login ID: john - email: john@abc.com \n 4. Find the cloud name for ZIA\ \ https://help.zscaler.com/zia/what-my-cloud-name-zia\n" name: Orgs Devices Zscaler - description: Gateway Template is applied to a site for gateway(s) in a site. name: Orgs Gateway Templates - name: Orgs Guests - name: Orgs IDP Profiles - name: Orgs Inventory - name: Orgs JSE - description: "Juniper Support Insight is a free service provided to all Mist customers.\ \ You can adopt your devices via a few lines CLI comands. Allowing you to \n*\ \ get some basic information about the adopted devices \n* web shell into device\ \ (write privilege required) \n* upgrade (write privilege required)" name: Orgs JSI - name: Orgs Licenses - name: Orgs Linked Applications - name: Orgs Logs - name: Orgs Marvis - name: Orgs Maps - name: Orgs MxClusters - name: Orgs MxEdges - name: Orgs MxTunnels - name: Orgs NAC IDP - description: 'nactags are the building blocks to compose nacrules. They can either appear in the "matching" / "not_matching" sections of a nacrule, in which case they play the role of classifiers, or they could appear in the "apply_tags" section of the of a nacrule, in which case they influence the result. When the "type" field of nactag is "match", it can be used as the classfier of a nacrule. "match" field specifies the attribute name and "values" field specifies the list of attribute values to match on. When multiple values are specified, its treated as an OR condition between those values. When the "type" field of nactag is NOT "match", it can be used as the result of a nacrule. "type" field identifies the action to take and the corresponding field would provide any associated parameters to that action.' name: Orgs NAC Tags - description: "PSK Portal is used to onboard Wireless Clients with PSK (by QR Code\ \ or URL) NAC Portals are for onboard Wireless and Wired client with 802.1X\n\ After a NAC portal is created, a URL is generated and can be given to the users\ \ (e.g. hosted on a web page \u201CGet Access to Campus Wireless\u201D) The user\ \ will use SSO to signin and download a Mist APP (via an App-Installation URL)\ \ that will get installed and used to provision certificates." name: Orgs NAC Portals - name: Orgs NAC CRL - name: Orgs NAC Rules - description: 'Network template is intended to be applied to a Site. It works like a blueprint of the network of the site. All Site Settings can go into Network Templates. See Site:Site Setting for schema Moreover, this can further be overwriten by individual Site Setting' name: Orgs Network Templates - name: Orgs Networks - name: Orgs Premium Analytics - name: Orgs Psks - description: "PSK Self-Service Portals are for \n 1. **WIFI users** who want to\ \ connect to a WLAN with personal PSK, they\u2019re told to connect to a URL where\ \ they can login (likely through company\u2019s SSO) and get the WIFI Name / Passphrase\ \ - required input fields name, email so we can generate PSK \n 2. **PSK Admins**\ \ (they don\u2019t have access to normal Network Admin Portal)\nWhen a PSK portal\ \ is created, an unique URL will be generated (e.g. https://psk.mist.com/xxxxxx)" name: Orgs Psk Portals - name: Orgs RF Templates - name: Orgs SDK Clients - name: Orgs SDK Invites - name: Orgs SDK Templates - description: "Security Policy is designed to audit / catch discripancies between\ \ \u201Cwhat\u2019s intended to be running\u201D versus \u201Cwhat\u2019s actually\ \ running\u201D in a network. Many big organizations have separated Security and\ \ IT team (for good reasons). Each site can be assigned a security policy. Whenever\ \ an AP is provisioned, the configuration will be checked against the security\ \ policy. Any violations will be flagged in [Device Config History](/#operation/searchSiteDeviceConfigHistory)\ \ where you can search for the when and where the violation occurs." name: Orgs SecPolicies - name: Orgs Services - name: Orgs Service Policies - name: Orgs Setting - name: Orgs Sitegroups - name: Orgs Sites - description: Site template is intended to be applied to a Site. The items in site setting which should be shared for all device types. name: Orgs Site Templates - name: Orgs SLEs - name: Orgs SSO Roles - name: Orgs SSO - name: Orgs Stats - name: Orgs Subscriptions - name: Orgs WLAN Templates - name: Orgs Tickets - name: Orgs Tunnels Stats - name: Orgs User MACs - name: Orgs Vars - name: Orgs VPNs - name: Orgs Webhooks - name: Orgs Wlans - name: Orgs WxRules - name: Orgs WxTags - name: Orgs WxTunnels - description: A site represents a project, a deployment. For MSP, it can be as small as a coffee shop or a five-star 600-room hotel. A site contains a set of Maps, Wlans, Policies, Zones. name: Sites - name: Sites Alarms - name: Sites AP Templates - description: Applications contains a list of applications users are interested in monitoring / routing / policying name: Sites Applications - name: Sites Anomaly - name: Sites Asset Filters - name: Sites Assets - name: Sites Beacons - name: Sites Calls - name: Sites Clients - NAC - name: Sites Clients - Wan - name: Sites Clients - Wired - name: Sites Clients - Wireless - description: 'Mist provides many ways (device-type specific template, site template, device profile, per-device) to configure devices for different kind of scenarios. The precedence goes from most specific to least specific Device > Device Profile > RFTemplate (for AP only) > DeviceType-specific Template > Site Template > Site Setting' name: Sites Devices - name: Sites Clients Stats - name: Sites Devices - Wireless - description: API Call for 3rd party devices name: Sites Devices Others - name: Sites Devices - Wired - name: Sites Devices - Wired Virtual Chassis - name: Sites Devices - WAN Cluster - name: Sites Devices Stats - name: Sites Device Profiles - name: Sites Discovered Switches Stats - name: Sites Events - description: 'EVPN allows an alternative but more efficient LAN architecture utilizing VxLAN / MP-BGP - separating control plane (MAC / IP Learning) from forwarding plane. In our implementation, following the steps to deploy EVPN topologies in a Site' name: Sites EVPN Topologies - name: Sites Gateway Templates - name: Sites Guests - name: Sites Insights - name: Sites JSE - name: Sites Licenses - name: Sites Location - name: Sites Maps - name: Sites Maps Auto-orientation - name: Sites Maps Auto-placement - name: Sites MxEdges - name: Sites Network Templates - name: Sites Networks - name: Sites Psks - name: Sites RF Templates - name: Sites Rfdiags - name: Sites Rogues - name: Sites RRM - name: Sites RSSI Zones - name: Sites Services - name: Sites Service Policies - name: Sites Setting - name: Sites Site Templates - name: Sites Skyatp - name: Sites SLEs - name: Sites Stats - name: Synthetic Tests - name: Sites UI Settings - name: Sites vBeacons - name: Sites VPNs - name: Sites Webhooks - name: Sites Wlans - name: Sites WxRules - name: Sites WxTags - name: Sites WxTunnels - name: Sites Zones - name: Constants Definitions - name: Constants Events - name: Constants Models - name: Constants Misc - name: Self Account - description: "Like many other API providers, it\u2019s also possible to generate\ \ API Tokens to be used (in HTTP Header) for authentication. An API token ties\ \ to a Admin with equal or less privileges.\n\nNotes:\n* an API token generated\ \ for a specific admin has the same privilege as the user\n* an API token will\ \ be automatically removed if not used for > 90 days\n* SSO admins cannot generate\ \ these API tokens. Refer Org level API tokens (/api/v1/docs/Org#api-token) which\ \ can have privileges of a specific Org/Site for more information. " name: Self API Token - name: Self OAuth2 - name: Recover Password - name: Self MFA - name: Self Alarms - name: Self Audit Logs - name: Webhook Samples - name: Utilities Common - name: Utilities WAN - name: Utilities LAN - name: Utilities Wi-Fi - name: Utilities PCAPs - name: Utilities Location - name: Utilities MxEdge - name: Utilities Upgrade paths: /api/v1/const/alarm_defs: 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 responses: '200': $ref: '#/components/responses/ConstAlarmDefinitions' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listAlarmDefinitions tags: - Constants Definitions /api/v1/const/ap_channels: get: description: Get List of List of Available channels per country code operationId: listApChannels parameters: - $ref: '#/components/parameters/country_code' responses: '200': $ref: '#/components/responses/ConstApChannels' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listApChannels tags: - Constants Misc /api/v1/const/ap_led_status: get: description: Get List of AP LED definition operationId: listApLedDefinition responses: '200': $ref: '#/components/responses/ConstApLedDefinitions' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listApLedDefinition tags: - Constants Definitions /api/v1/const/app_categories: 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 responses: '200': $ref: '#/components/responses/ConstAppCategoryDefinitions' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listAppCategoryDefinitions tags: - Constants Definitions /api/v1/const/app_subcategories: 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 responses: '200': $ref: '#/components/responses/ConstAppSubCategoryDefinitions' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listAppSubCategoryDefinitions tags: - Constants Definitions /api/v1/const/applications: get: description: Get List of a list of applications that Juniper-Mist APs recognize operationId: listApplications responses: '200': $ref: '#/components/responses/ConstApplications' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listApplications tags: - Constants Misc /api/v1/const/client_events: get: description: Get List of List of available Client Events operationId: listClientEventsDefinitions responses: '200': $ref: '#/components/responses/ConstClientEvents' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listClientEventsDefinitions tags: - Constants Events /api/v1/const/countries: get: description: Get List of List of available Country Codes operationId: listCountryCodes responses: '200': $ref: '#/components/responses/ConstCrountries' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listCountryCodes tags: - Constants Misc /api/v1/const/default_gateway_config: 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 responses: '200': $ref: '#/components/responses/ConstDefaultGatewayConfig' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getGatewayDefaultConfig tags: - Constants Misc /api/v1/const/device_events: get: description: Get list of available Device Events operationId: listDeviceEventsDefinitions responses: '200': $ref: '#/components/responses/ConstDeviceEvents' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listDeviceEventsDefinitions tags: - Constants Events /api/v1/const/device_models: get: description: Get list of AP device models for the Mist Site operationId: listDeviceModels responses: '200': $ref: '#/components/responses/ConstDeviceModels' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listDeviceModels tags: - Constants Models /api/v1/const/gateway_applications: get: description: Get the full list of applications that we recognize operationId: listGatewayApplications responses: '200': $ref: '#/components/responses/ConstGatewayApplications' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listGatewayApplications tags: - Constants Misc /api/v1/const/insight_metrics: get: description: List Insight Metrics operationId: listInsightMetrics responses: '200': $ref: '#/components/responses/ConstInsightMetrics' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listInsightMetrics tags: - Constants Misc /api/v1/const/languages: get: description: Get List of Languages operationId: listSiteLanguages responses: '200': $ref: '#/components/responses/ConstLanaguages' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteLanguages tags: - Constants Misc /api/v1/const/license_types: get: description: Get License Types operationId: getLicenseTypes responses: '200': $ref: '#/components/responses/ConstLicenceTypes' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getLicenseTypes tags: - Constants Misc /api/v1/const/mxedge_events: get: description: Get List of available MX Edge Events operationId: listMxEdgeEventsDefinitions responses: '200': $ref: '#/components/responses/ConstMxEdgeEvents' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listMxEdgeEventsDefinitions tags: - Constants Events /api/v1/const/mxedge_models: get: description: Get List of available Mx Edge models operationId: listMxEdgeModels responses: '200': $ref: '#/components/responses/ConstMxEdgeModels' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listMxEdgeModels tags: - Constants Models /api/v1/const/nac_events: get: description: Get List of List of available NAC Client Events operationId: listNacEventsDefinitions responses: '200': $ref: '#/components/responses/ConstNacEvents' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listNacEventsDefinitions tags: - Constants Events /api/v1/const/otherdevice_events: get: description: Supported Events Type operationId: listOtherDeviceEventsDefinitions responses: '200': $ref: '#/components/responses/ConstOtherDeviceEvents' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOtherDeviceEventsDefinitions tags: - Constants Events /api/v1/const/otherdevice_models: get: description: Supported OtherDevice Models operationId: listSupportedOtherDeviceModels responses: '200': $ref: '#/components/responses/ConstOtherDeviceModels' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSupportedOtherDeviceModels tags: - Constants Models /api/v1/const/system_events: get: description: Get List of List of available System Events operationId: listSystemEventsDefinitions responses: '200': $ref: '#/components/responses/ConstSystemEvents' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSystemEventsDefinitions tags: - Constants Events /api/v1/const/traffic_types: get: description: Get List of identified traffic operationId: listTrafficTypes responses: '200': $ref: '#/components/responses/ConstTrafficTypes' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listTrafficTypes tags: - Constants Misc /api/v1/installer/orgs/{org_id}/alarmtemplates: get: description: Get List of alarm templates operationId: listInstallerAlarmTemplates responses: '200': $ref: '#/components/responses/InstallerAlarmtemplates' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listInstallerAlarmTemplates tags: - Installer parameters: - $ref: '#/components/parameters/org_id' /api/v1/installer/orgs/{org_id}/deviceprofiles: get: description: Get List of Device Profiles operationId: listInstallerDeviceProfiles parameters: - in: query name: type schema: $ref: '#/components/schemas/device_type' responses: '200': $ref: '#/components/responses/InstallerDeviceProfiles' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listInstallerDeviceProfiles tags: - Installer parameters: - $ref: '#/components/parameters/org_id' /api/v1/installer/orgs/{org_id}/devices: 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' responses: '200': $ref: '#/components/responses/InstallerDevicesArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: 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 requestBody: content: application/json: examples: Example: value: - 6JG8E-PTFV2-A9Z2N - DVH4V-SNMSZ-PDXBR schema: $ref: '#/components/schemas/claim_codes' description: Request Body responses: '200': $ref: '#/components/responses/OrgInventoryAdd' '400': description: Bad Request if none of the entries are valid '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: claimInstallerDevices tags: - Installer /api/v1/installer/orgs/{org_id}/devices/{device_mac}: delete: description: Unassign recently claimed devices operationId: unassignInstallerRecentlyClaimedDevice responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: 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 requestBody: content: application/json: examples: example-1: value: deviceprofile_name: string for_site: true height: 0 map_id: 09d2b626-2e4e-45ef-a3c4-e6aeb6c83db1 name: string orientation: 0 site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 site_name: string x: 0 y: 0 schema: $ref: '#/components/schemas/installer_provision_device' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/OrgInventoryUnassignFailed' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/OrgInventoryUnassignNotFound' '429': $ref: '#/components/responses/HTTP429' summary: provisionInstallerDevices tags: - Installer /api/v1/installer/orgs/{org_id}/devices/{device_mac}/locate: 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 responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: startInstallerLocateDevice tags: - Installer /api/v1/installer/orgs/{org_id}/devices/{device_mac}/unlocate: parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/device_mac' post: description: Stop it operationId: stopInstallerLocateDevice responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: stopInstallerLocateDevice tags: - Installer /api/v1/installer/orgs/{org_id}/devices/{device_mac}/{image_name}: delete: description: delete image operationId: deleteInstallerDeviceImage responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: 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 requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/map_site_import_file' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: addInstallerDeviceImage tags: - Installer /api/v1/installer/orgs/{org_id}/devices/{fpc0_mac}/vc: get: description: 'Get VC Status The API returns a combined view of the VC status which includes topology and stats' operationId: getInstallerDeviceVirtualChassis responses: '200': $ref: '#/components/responses/VirtualChassis' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: 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\n\ 3. 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\n\ 6. Wait for the VC to be formed. The Org\u2019s inventory will be updated\ \ for the new VC." operationId: createInstallerVirtualChassis requestBody: content: application/json: examples: create-a-VC-with-three-members: value: members: - mac: aff827549235 vc_ports: - xe-0/1/0 vc_role: master - mac: 8396cd006c8c vc_ports: - xe-0/1/0 - xe-0/1/1 vc_role: backup - mac: 8396cd00888c vc_ports: - xe-0/1/0 vc_role: linecard create-a-pre-provisioned-VC-with-three-members: value: members: - mac: aff827549235 member_id: 0 vc_ports: - xe-0/1/0 - xe-0/1/1 vc_role: master - mac: 8396cd006c8c member_id: 1 vc_ports: - xe-0/1/0 vc_role: linecard - mac: 8396cd00888c member_id: 2 vc_ports: - xe-0/1/0 vc_role: backup preprovisioned: true schema: $ref: '#/components/schemas/virtual_chassis_config' description: Request Body responses: '200': $ref: '#/components/responses/VirtualChassis' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createInstallerVirtualChassis tags: - Installer put: description: "The VC creation and adding member switch API will update the device\u2019\ s 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\n\ 3. Waiting for the VC state (vc_state) of this switch is changed to not-present\n\ 4. 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\u2019\ t 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 requestBody: content: application/json: examples: adding-two-new-switches-as-line-cards-into-the-VC: value: members: - mac: aff827549235 member: 0 vc_ports: - xe-0/1/1 vc_role: linecard - mac: 8396cd00777c vc_ports: - xe-0/1/0 vc_role: linecard op: add convert-to-pre-provisioned-VC: value: member: 0 members: - mac: string member: 0 vc_ports: - string vc_role: master new-member: 0 op: add removing-two-switches-from-VC: value: members: - member: 2 - member: 3 op: remove renumber-member-ID-3-to-member-ID-2: value: member: 3 new-member: 2 op: renumber schema: $ref: '#/components/schemas/virtual_chassis_update' description: Request Body responses: '200': $ref: '#/components/responses/VirtualChassis' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateInstallerVirtualChassisMember tags: - Installer /api/v1/installer/orgs/{org_id}/rftemplates: get: description: Get List of RF Templates operationId: listInstallerRfTemplatesNames responses: '200': $ref: '#/components/responses/InstallerRftemplatesArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listInstallerRfTemplatesNames tags: - Installer parameters: - $ref: '#/components/parameters/org_id' /api/v1/installer/orgs/{org_id}/secpolicies: get: description: Get List of Secuity Policies operationId: listInstallerSecPolicies responses: '200': $ref: '#/components/responses/InstallerSecpoliciesArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listInstallerSecPolicies tags: - Installer parameters: - $ref: '#/components/parameters/org_id' /api/v1/installer/orgs/{org_id}/sitegroups: get: description: Get List of Site Groups operationId: listInstallerSiteGroups responses: '200': $ref: '#/components/responses/InstallerSitegroupsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listInstallerSiteGroups tags: - Installer parameters: - $ref: '#/components/parameters/org_id' /api/v1/installer/orgs/{org_id}/sites: get: description: Get List of Sites operationId: listInstallerSites responses: '200': $ref: '#/components/responses/InstallerSitesArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listInstallerSites tags: - Installer parameters: - $ref: '#/components/parameters/org_id' /api/v1/installer/orgs/{org_id}/sites/{site_name}: 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 requestBody: content: application/json: examples: example-1: value: address: 1601 S. Deanza Blvd., Cupertino, CA, 95014 country_code: US latlng: lat: 37.295833 lng: -122.032946 name: string rftemplate_name: rftemplate1 sitegroup_names: - sg1 - sg2 timezone: America/Los_Angeles schema: $ref: '#/components/schemas/installer_site' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrUpdateInstallerSites tags: - Installer /api/v1/installer/orgs/{org_id}/sites/{site_name}/maps: get: description: Get List of Maps operationId: listInstallerMaps responses: '200': $ref: '#/components/responses/MapsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listInstallerMaps tags: - Installer parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/site_name' /api/v1/installer/orgs/{org_id}/sites/{site_name}/maps/import: 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 requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/map_site_import_file' responses: '200': $ref: '#/components/responses/MapImport' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: importInstallerMap tags: - Installer /api/v1/installer/orgs/{org_id}/sites/{site_name}/maps/{map_id}: delete: description: Delete Map operationId: deleteInstallerMap responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: 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 requestBody: content: application/json: examples: example-1: value: flags: {} height: 0 latlng_br: lat: string lng: string latlng_tl: lat: string lng: string locked: true name: string orientation: 0 origin_x: 0 origin_y: 0 ppm: 0 sitesurvey_path: - coordinate: string id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 name: string nodes: - edges: N2: string name: string position: x: 0 y: 0 thumbnail_url: string type: image url: string view: roadmap wall_path: coordinate: string nodes: - edges: N2: string name: string position: x: 0 y: 0 wayfinding: micello: account_key: string default_level_id: 0 map_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 snap_to_path: true wayfinding_path: coordinate: string nodes: - edges: N2: string name: string position: x: 0 y: 0 width: 0 schema: $ref: '#/components/schemas/map' description: Request Body responses: '200': $ref: '#/components/responses/Map' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createInstallerMap tags: - Installer put: description: Update map operationId: updateInstallerMap requestBody: content: application/json: schema: $ref: '#/components/schemas/map' description: Request Body responses: '200': $ref: '#/components/responses/Map' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateInstallerMap tags: - Installer /api/v1/installer/sites/{site_name}/optimize: 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 responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: optimizeInstallerRrm tags: - Installer parameters: - $ref: '#/components/parameters/site_name' /api/v1/invite/verify/{token}: 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 responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/InviteVerifyNotFound' '429': $ref: '#/components/responses/HTTP429' summary: verifyAdminInvite tags: - Admins /api/v1/login: 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 requestBody: content: application/json: examples: with-2FA: value: email: test@mistsys.com password: foryoureyesonly two_factor: '123456' without-2FA: value: email: test@mistsys.com password: foryoureyesonly schema: $ref: '#/components/schemas/login' responses: '200': $ref: '#/components/responses/LoginSuccess' '400': $ref: '#/components/responses/LoginFailure' summary: login tags: - Login /api/v1/login/lookup: post: description: Login Lookup operationId: lookup requestBody: content: application/json: examples: example-1: value: email: test@mistsys.com schema: $ref: '#/components/schemas/email' description: Request Body responses: '200': $ref: '#/components/responses/LoginLookup' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': description: user does not exist '429': $ref: '#/components/responses/HTTP429' summary: lookup tags: - Login /api/v1/login/oauth/{provider}: delete: description: Unlink OAuth2 Provider operationId: unlinkOauth2Provider responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: 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 responses: '200': $ref: '#/components/responses/LoginOauthUrl' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOauth2AuthorizationUrlForLogin tags: - Login With OAuth2 parameters: - in: path name: provider required: true schema: type: string post: description: Login via OAuth2 operationId: loginOauth2 requestBody: content: application/json: examples: example-1: value: code: 4/S9tegDeLkrYg0L9pWNXV4cgMVbbr3SR9t693A2kSHzw schema: $ref: '#/components/schemas/code' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: loginOauth2 tags: - Login With OAuth2 /api/v1/login/two_factor: post: description: Send 2FA Code operationId: twoFactor requestBody: content: application/json: examples: Example: value: two_factor: '123456' schema: $ref: '#/components/schemas/two_factor' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': description: "two_factor code is incorrect or the user hasn\u2019t login\ \ yet" '403': $ref: '#/components/responses/HTTP403' '404': description: "the user doesn\u2019t have 2FA enabled" '429': $ref: '#/components/responses/HTTP429' summary: twoFactor tags: - Login /api/v1/logout: post: description: Logout operationId: logout responses: '200': $ref: '#/components/responses/Logout' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: logout tags: - Login /api/v1/mobile/verify/{secret}: parameters: - $ref: '#/components/parameters/secret' post: description: Verify secret operationId: activateSdkInvite requestBody: content: application/json: examples: example-1: value: device_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 schema: $ref: '#/components/schemas/device_id' responses: '200': $ref: '#/components/responses/MobileVerifySecret' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: activateSdkInvite tags: - Orgs SDK Invites /api/v1/msps: post: description: Create MSP account operationId: createMsp requestBody: content: application/json: examples: example-1: value: name: MSP schema: $ref: '#/components/schemas/msp' description: Request Body responses: '200': $ref: '#/components/responses/Msp' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createMsp tags: - Msps /api/v1/msps/{msp_id}: 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 responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteMsp tags: - Msps get: description: Get MSP Detail operationId: getMspDetails responses: '200': $ref: '#/components/responses/Msp' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getMspDetails tags: - Msps parameters: - $ref: '#/components/parameters/msp_id' put: description: Update MSP operationId: updateMsp requestBody: content: application/json: examples: example-1: value: name: MSP schema: $ref: '#/components/schemas/msp' description: Request Body responses: '200': $ref: '#/components/responses/Msp' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateMsp tags: - Msps /api/v1/msps/{msp_id}/admins: get: description: Get List of MSP Admins operationId: listMspAdmins responses: '200': $ref: '#/components/responses/AdminsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listMspAdmins tags: - Msps Admins parameters: - $ref: '#/components/parameters/msp_id' /api/v1/msps/{msp_id}/admins/{admin_id}: delete: description: This removes all privileges this admin has against the MSP. This goes deep all the way to the sites operationId: revokeMspAdmin responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: revokeMspAdmin tags: - Msps Admins get: description: Get MSP Admins operationId: getMspAdmin responses: '200': $ref: '#/components/responses/Admin' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getMspAdmin tags: - Msps Admins parameters: - $ref: '#/components/parameters/msp_id' - $ref: '#/components/parameters/admin_id' put: description: Update MSP Admin operationId: updateMspAdmin requestBody: content: application/json: examples: example-2: value: admin_id: 919c4da0-421a-479a-918d-df80e426d3bf email: user@example.com enable_two_factor: true first_name: string last_name: string oauth_google: true privileges: - for_site: true msp_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 msp_name: string name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 org_name: string orggroup_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 role: admin scope: org site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 sitegroup_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 session_expiry: 0 tags: - string two_factor_verified: true schema: $ref: '#/components/schemas/admin' description: Request Body responses: '200': $ref: '#/components/responses/Admin' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateMspAdmin tags: - Msps Admins /api/v1/msps/{msp_id}/claim: parameters: - $ref: '#/components/parameters/msp_id' post: description: Claim an Order by Activation Code operationId: claimMspLicence requestBody: content: application/json: examples: example-1: value: code: ZHT3K-H36DT-MG85D-M61AC schema: $ref: '#/components/schemas/code' responses: '200': $ref: '#/components/responses/ClaimLicense' '400': description: Response when the key is invalid (or already used) '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: claimMspLicence tags: - Msps Licenses /api/v1/msps/{msp_id}/insights/{metric}: 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' responses: '200': $ref: '#/components/responses/InsightMetricMsp' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getMspSle tags: - Msps SLEs parameters: - $ref: '#/components/parameters/msp_id' - $ref: '#/components/parameters/metric' /api/v1/msps/{msp_id}/inventory/{device_mac}: get: description: Get Inventoy By device MAC address operationId: getMspInventoryByMac responses: '200': $ref: '#/components/responses/MspInventoryDevice' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getMspInventoryByMac tags: - Msps Inventory parameters: - $ref: '#/components/parameters/msp_id' - $ref: '#/components/parameters/device_mac' /api/v1/msps/{msp_id}/invites: parameters: - $ref: '#/components/parameters/msp_id' post: description: 'Invite MSP Admin **Note**: An email will also be sent to the user with a link to https://manage.mist.com/verify/invite?token=:token' operationId: inviteMspAdmin requestBody: content: application/json: examples: example-1: value: email: user@example.com first_name: string last_name: string privileges: - msp_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 msp_name: string name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 org_name: string orggroup_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 role: admin scope: org site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 sitegroup_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 schema: $ref: '#/components/schemas/admin' description: Request Body responses: '200': $ref: '#/components/responses/Admin' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: inviteMspAdmin tags: - Msps Invites /api/v1/msps/{msp_id}/invites/{invite_id}: delete: description: Delete admin invite operationId: uninviteMspAdmin responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: uninviteMspAdmin tags: - Msps Invites parameters: - $ref: '#/components/parameters/msp_id' - $ref: '#/components/parameters/invite_id' put: description: Update MSP admin invite operationId: updateMspAdminInvite requestBody: content: application/json: examples: example-1: value: email: user@example.com first_name: string last_name: string privileges: - msp_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 msp_name: string name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 org_name: string orggroup_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 role: admin scope: org site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 sitegroup_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 schema: $ref: '#/components/schemas/admin' description: Request Body responses: '200': $ref: '#/components/responses/Admin' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateMspAdminInvite tags: - Msps Invites /api/v1/msps/{msp_id}/licenses: get: description: Get List of Msp Licenses operationId: listMspLicenses responses: '200': $ref: '#/components/responses/Licence' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listMspLicenses tags: - Msps Licenses parameters: - $ref: '#/components/parameters/msp_id' put: description: Move or Delete MSP Licenses operationId: moveOrDeleteMspLicenseToAnotherOrg requestBody: content: application/json: examples: delete-license: value: op: delete subscription_id: SUB-0000144 move-micense: value: dst_org_id: 3eff35f7-c218-894e-bca2-24e5325601cc op: amend quantity: 10 subscription_id: SUB-0000144 undo-the-license-move: value: amendment_id: 2b9116ab-cd1e-e897-6e08-31fccd88e792 op: unamend schema: $ref: '#/components/schemas/msp_license_action' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: moveOrDeleteMspLicenseToAnotherOrg tags: - Msps Licenses /api/v1/msps/{msp_id}/logo: delete: description: Delete MSP Logo operationId: deleteMspLogo responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteMspLogo tags: - Msps Logo parameters: - $ref: '#/components/parameters/msp_id' post: description: Upload Logo (only for advanced msp tier) operationId: postMspLogo requestBody: content: application/json: schema: $ref: '#/components/schemas/msp_logo' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: postMspLogo tags: - Msps Logo /api/v1/msps/{msp_id}/logs: 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' responses: '200': $ref: '#/components/responses/LogsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listMspLogs tags: - Msps Logs parameters: - $ref: '#/components/parameters/msp_id' /api/v1/msps/{msp_id}/logs/count: 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 title: MSP Logs count distinct type: string responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countMspLogs tags: - Msps Logs parameters: - $ref: '#/components/parameters/msp_id' /api/v1/msps/{msp_id}/orggroups: get: description: Get List of MSP Org Groups operationId: listMspOrgGroups responses: '200': $ref: '#/components/responses/OrggroupsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listMspOrgGroups tags: - Msps Org Groups parameters: - $ref: '#/components/parameters/msp_id' post: description: Create MSP Org Group operationId: createMspOrgGroup requestBody: content: application/json: examples: example-1: value: msp_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 name: string org_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 schema: $ref: '#/components/schemas/orggroup' description: Request Body responses: '200': $ref: '#/components/responses/Orggroup' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createMspOrgGroup tags: - Msps Org Groups /api/v1/msps/{msp_id}/orggroups/{orggroup_id}: delete: description: Delete MSP Org Group operationId: deleteMspOrgGroup responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteMspOrgGroup tags: - Msps Org Groups get: description: Get MSP Org Group Details operationId: getMspOrgGroup responses: '200': $ref: '#/components/responses/Orggroup' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getMspOrgGroup tags: - Msps Org Groups parameters: - $ref: '#/components/parameters/msp_id' - $ref: '#/components/parameters/orggroup_id' put: description: Update MSP Org Group operationId: updateMspOrgGroup requestBody: content: application/json: schema: $ref: '#/components/schemas/orggroup' description: Request Body responses: '200': $ref: '#/components/responses/Orggroup' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateMspOrgGroup tags: - Msps Org Groups /api/v1/msps/{msp_id}/orgs: get: description: Get List of MSP Orgs operationId: listMspOrgs responses: '200': $ref: '#/components/responses/OrgsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listMspOrgs tags: - Msps Orgs parameters: - $ref: '#/components/parameters/msp_id' post: description: Create an Org under MSP operationId: createMspOrg requestBody: content: application/json: examples: example-1: value: alarmtemplate_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 allow_mist: true name: string orggroup_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 session_expiry: 10 schema: $ref: '#/components/schemas/org' description: Request Body responses: '200': $ref: '#/components/responses/Org' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createMspOrg tags: - Msps Orgs put: description: Assign or Unassign Orgs to an MSP account operationId: manageMspOrgs requestBody: content: application/json: examples: example-1: value: op: assign org_ids: - 2b069b358-4c97-5319-1f8c-7c5ca64d6ab1 schema: $ref: '#/components/schemas/msp_org_change' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: manageMspOrgs tags: - Msps Orgs /api/v1/msps/{msp_id}/orgs/search: 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' responses: '200': $ref: '#/components/responses/OrgsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchMspOrgs tags: - Msps Orgs parameters: - $ref: '#/components/parameters/msp_id' /api/v1/msps/{msp_id}/orgs/{org_id}: delete: description: delete MSP Org operationId: deleteMspOrg responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteMspOrg tags: - Msps Orgs get: description: Get MSP Org Details operationId: getMspOrg responses: '200': $ref: '#/components/responses/Org' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getMspOrg tags: - Msps Orgs parameters: - $ref: '#/components/parameters/msp_id' - $ref: '#/components/parameters/org_id' put: description: Update MSP Org operationId: updateMspOrg requestBody: content: application/json: schema: $ref: '#/components/schemas/org' responses: '200': $ref: '#/components/responses/Org' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateMspOrg tags: - Msps Orgs /api/v1/msps/{msp_id}/search: get: description: Search in MSP Orgs operationId: searchMspOrgGroup parameters: - description: orgs example: orgs in: query name: type required: true schema: enum: - orgs title: MSP Search type type: string - $ref: '#/components/parameters/q' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' responses: '200': $ref: '#/components/responses/Search' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchMspOrgGroup tags: - Msps parameters: - $ref: '#/components/parameters/msp_id' /api/v1/msps/{msp_id}/ssoroles: get: description: Get List of MSP SSO Roles operationId: listMspSsoRoles responses: '200': $ref: '#/components/responses/SsoRolesOrgArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listMspSsoRoles tags: - Msps SSO Roles parameters: - $ref: '#/components/parameters/msp_id' post: description: Create MSP Role operationId: createMspSsoRole requestBody: content: application/json: schema: $ref: '#/components/schemas/sso_role_msp' description: Request Body responses: '200': $ref: '#/components/responses/SsoRoleMsp' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createMspSsoRole tags: - Msps SSO Roles /api/v1/msps/{msp_id}/ssoroles/{ssorole_id}: delete: description: Delete MSP SSO Roles operationId: deleteMspSsoRole responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteMspSsoRole tags: - Msps SSO Roles parameters: - $ref: '#/components/parameters/msp_id' - $ref: '#/components/parameters/ssorole_id' put: description: Update SSO Role operationId: updateMspSsoRole requestBody: content: application/json: schema: $ref: '#/components/schemas/sso_role_msp' description: Request Body responses: '200': $ref: '#/components/responses/SsoRoleMsp' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateMspSsoRole tags: - Msps SSO Roles /api/v1/msps/{msp_id}/ssos: get: description: List MSP SSO Configs operationId: listMspSsos responses: '200': $ref: '#/components/responses/SsosArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listMspSsos tags: - Msps SSO parameters: - $ref: '#/components/parameters/msp_id' post: description: Create MSP SSO profile operationId: createMspSso requestBody: content: application/json: schema: $ref: '#/components/schemas/sso' description: Request Body responses: '200': $ref: '#/components/responses/Sso' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createMspSso tags: - Msps SSO /api/v1/msps/{msp_id}/ssos/{sso_id}: delete: description: Delete MSP SSO Config operationId: deleteMspSso responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteMspSso tags: - Msps SSO get: description: Get MSP SSO Config operationId: getMspSso responses: '200': $ref: '#/components/responses/Sso' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getMspSso tags: - Msps SSO parameters: - $ref: '#/components/parameters/msp_id' - $ref: '#/components/parameters/sso_id' put: description: Update MSP SSO config operationId: updateMspSso requestBody: content: application/json: examples: example-1: value: custom_logout_url: string idp_cert: string idp_sign_algo: string idp_sso_url: string ignore_unmatched_roles: true issuer: string name: string nameid_format: email schema: $ref: '#/components/schemas/sso' description: Request Body responses: '200': $ref: '#/components/responses/Sso' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateMspSso tags: - Msps SSO /api/v1/msps/{msp_id}/ssos/{sso_id}/failures: get: description: Get List of MSP SSO Latest Failures operationId: listMspSsoLatestFailures responses: '200': $ref: '#/components/responses/SsoLatestFailures' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listMspSsoLatestFailures tags: - Msps SSO parameters: - $ref: '#/components/parameters/msp_id' - $ref: '#/components/parameters/sso_id' /api/v1/msps/{msp_id}/ssos/{sso_id}/metadata: get: description: Get MSP SSO SAML Metadata operationId: getMspSsoSamlMetadata responses: '200': $ref: '#/components/responses/SsoSamlMetadata' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getMspSsoSamlMetadata tags: - Msps SSO parameters: - $ref: '#/components/parameters/msp_id' - $ref: '#/components/parameters/sso_id' /api/v1/msps/{msp_id}/ssos/{sso_id}/metadata.xml: 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 responses: '200': $ref: '#/components/responses/File' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: downloadMspSsoSamlMetadata tags: - Msps SSO parameters: - $ref: '#/components/parameters/msp_id' - $ref: '#/components/parameters/sso_id' /api/v1/msps/{msp_id}/stats/licenses: get: description: Get List of MSP Licences operationId: listMspOrgLicenses parameters: [] responses: '200': $ref: '#/components/responses/Licence' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listMspOrgLicenses tags: - Msps Stats parameters: - $ref: '#/components/parameters/msp_id' /api/v1/msps/{msp_id}/stats/orgs: get: description: Get List of MSP Orgs Stats operationId: listMspOrgStats parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/OrgsArrayStats' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listMspOrgStats tags: - Msps Stats parameters: - $ref: '#/components/parameters/msp_id' /api/v1/msps/{msp_id}/suggestion/count: get: description: Count Marvis actions operationId: countMspsMarvisActions parameters: - in: query name: distinct schema: default: org_id enum: - org_id - status title: MSP Marvis Suggestions count distinct type: string - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page' responses: '200': $ref: '#/components/responses/CountMarvisActions' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countMspsMarvisActions tags: - Msps Marvis parameters: - $ref: '#/components/parameters/msp_id' /api/v1/msps/{msp_id}/tickets: get: description: Get List of Tickets of a MSP operationId: listMspTickets parameters: - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' responses: '200': $ref: '#/components/responses/TicketsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listMspTickets tags: - Msps Tickets parameters: - $ref: '#/components/parameters/msp_id' /api/v1/msps/{msp_id}/tickets/count: get: description: Count tickets operationId: countMspTickets parameters: - in: query name: distinct schema: default: status enum: - status - type - org_id title: MSP tickets count distinct type: string responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countMspTickets tags: - Msps Tickets parameters: - $ref: '#/components/parameters/msp_id' /api/v1/orgs: 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 requestBody: content: application/json: examples: example-1: value: alarmtemplate_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 allow_mist: true msp_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 name: string orggroup_ids: - 6f4bf402-45f9-2a56-6c8b-7f83d3bc98e9 session_expiry: 0 schema: $ref: '#/components/schemas/org' responses: '200': $ref: '#/components/responses/Org' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrg tags: - Orgs /api/v1/orgs/{org_id}: delete: description: Delete Org operationId: deleteOrg responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrg tags: - Orgs get: description: Get Organization information operationId: getOrg responses: '200': $ref: '#/components/responses/Org' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrg tags: - Orgs parameters: - $ref: '#/components/parameters/org_id' put: description: Update Org operationId: updateOrg requestBody: content: application/json: examples: example-1: value: alarmtemplate_id: 1984805d-2be2-4aec-a8d4-3ddf67fab0df allow_mist: true created_time: 0 id: 497f6eca-6276-5021-bfeb-53cbbbba6f2a modified_time: 0 msp_id: c0cf23fc-d82f-4219-988c-82fb61d8c875 name: string orggroup_ids: [] session_expiry: 1440 schema: $ref: '#/components/schemas/org' description: Request Body responses: '200': $ref: '#/components/responses/Org' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrg tags: - Orgs /api/v1/orgs/{org_id}/128routers/register_cmd: get: description: 128T devices can be managed/adopted by Mist. operationId: getOrg128TRegistrationCommands responses: '200': $ref: '#/components/responses/Router128TRegisterCmd' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrg128TRegistrationCommands tags: - Orgs 128T parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/admins: get: description: Get List of people who can manage the Site/Org under the Org operationId: listOrgAdmins responses: '200': $ref: '#/components/responses/AdminsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgAdmins tags: - Orgs Admins parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/admins/{admin_id}: delete: description: This removes all privileges this admin has against the org operationId: revokeOrgAdmin responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: revokeOrgAdmin tags: - Orgs Admins parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/admin_id' put: description: Invite Org Admin operationId: updateOrgAdmin requestBody: content: application/json: examples: Example: value: admin_id: 456b7016-a916-a4b1-78dd-72b947c152b7 email: jsnow@abc.com enable_two_factor: true expire_time: 0 first_name: John hours: 24 last_name: Sno oauth_google: true phone: string phone2: string privileges: - for_site: true msp_id: c0cf23fc-d82f-4219-988c-82fb61d8c875 msp_logo_url: string msp_name: string msp_url: string name: string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b org_name: string orggroup_ids: - 497f6eca-6276-4993-bfeb-53d5bbba6f08 role: admin scope: org site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 sitegroup_ids: - 497f6eca-6276-4993-bfeb-53d6bbba6f08 views: switch_admin session_expiry: 1440 tags: - string two_factor_verified: true via_sso: true schema: $ref: '#/components/schemas/admin' description: Request Body responses: '200': $ref: '#/components/responses/Admin' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgAdmin tags: - Orgs Admins /api/v1/orgs/{org_id}/alarms/ack: parameters: - $ref: '#/components/parameters/org_id' post: description: Ack multiple Org Alarms operationId: multiAckOrgAlarms requestBody: content: application/json: examples: example-1: value: alarm_ids: - ccb8c94d-ca56-4075-932f-1f2ab444ff2c - 98ff4a3d-ec9b-4138-a42e-54fc3335179d note: maintenance window schema: $ref: '#/components/schemas/alarm_ids' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: multiAckOrgAlarms tags: - Orgs Alarms /api/v1/orgs/{org_id}/alarms/ack_all: parameters: - $ref: '#/components/parameters/org_id' post: description: 'Ack all Org Alarms **N.B.**: Batch size for multiple alarm ack and unack has to be less or or equal to 1000.' operationId: ackOrgAllAlarms requestBody: content: application/json: examples: example-1: value: note: string schema: $ref: '#/components/schemas/note' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: ackOrgAllAlarms tags: - Orgs Alarms /api/v1/orgs/{org_id}/alarms/count: get: description: Count Org Alarms operationId: countOrgAlarms parameters: - in: query name: distinct schema: title: Org Alarms count distinct type: string - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countOrgAlarms tags: - Orgs Alarms parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/alarms/search: 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' responses: '200': $ref: '#/components/responses/AlarmsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchOrgAlarms tags: - Orgs Alarms parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/alarms/unack: parameters: - $ref: '#/components/parameters/org_id' post: description: Unack multiple Org Alarms operationId: multiUnackOrgAlarms requestBody: content: application/json: examples: example-1: value: alarm_ids: - ccb8c94d-ca56-4075-932f-1f2ab444ff2c - 98ff4a3d-ec9b-4138-a42e-54fc3335179d note: maintenance window schema: $ref: '#/components/schemas/alarm_ids' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: multiUnackOrgAlarms tags: - Orgs Alarms /api/v1/orgs/{org_id}/alarms/unack_all: parameters: - $ref: '#/components/parameters/org_id' post: description: 'Unack all Org Alarms **N.B.**: Batch size for multiple alarm ack and unack has to be less or or equal to 1000.' operationId: unackOrgAllArlarms requestBody: content: application/json: examples: example-1: value: note: maintenance window schema: $ref: '#/components/schemas/note' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: unackOrgAllArlarms tags: - Orgs Alarms /api/v1/orgs/{org_id}/alarms/{alarm_id}/ack: parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/alarm_id' post: description: Ack Org Alarm operationId: ackOrgAlarm requestBody: content: application/json: examples: example-1: value: note: maintenance window schema: $ref: '#/components/schemas/note' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: ackOrgAlarm tags: - Orgs Alarms /api/v1/orgs/{org_id}/alarmtemplates: get: description: Get List of Org Alarm Templates operationId: listOrgAlarmTemplates parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/AlarmtemplatesArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgAlarmTemplates tags: - Orgs Alarm Templates parameters: - $ref: '#/components/parameters/org_id' post: description: 'Available rules can be found in Orgs>Consts>getAlarmDefs The delivery dict is only required if different from the template delivery settings.' operationId: createOrgAlarmTemplate requestBody: content: application/json: schema: $ref: '#/components/schemas/alarm_template' description: Request Body responses: '200': $ref: '#/components/responses/Alarmtemplate' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgAlarmTemplate tags: - Orgs Alarm Templates /api/v1/orgs/{org_id}/alarmtemplates/suppress: delete: description: Un-Suppress Suppressed Alarms operationId: unsuppressOrgSuppressedAlarms responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: 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' responses: '200': $ref: '#/components/responses/OrgSuppressedAlarms' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgSuppressedAlarms 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 requestBody: content: application/json: examples: org-suppression: value: duration: 3600 scheduled_time: 1678232980 scope: org site-suppression: value: applies: org_id: 2818e386-8dec-2562-9ede-5b8a0fbbdc71 site_ids: - 4ac1dcf4-9d8b-7211-65c4-057819f0862b sitegroup_ids: - 581328b6-e382-f54e-c9dc-999983183a34 - f57096b9-0c2f-4df6-c77b-ae6ae87a3d43 duration: 3600 scheduled_time: 1678232980 scope: site schema: $ref: '#/components/schemas/suppressed_alarm' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: suppressOrgAlarm tags: - Orgs Alarm Templates /api/v1/orgs/{org_id}/alarmtemplates/{alarmtemplate_id}: delete: description: Delete Org Alarm Template operationId: deleteOrgAlarmTemplate responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgAlarmTemplate tags: - Orgs Alarm Templates get: description: Get Org Alarm Template Details operationId: getOrgAlarmTemplate responses: '200': $ref: '#/components/responses/Alarmtemplate' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgAlarmTemplate tags: - Orgs Alarm Templates parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/alarmtemplate_id' put: description: Update Org Alarm Template operationId: updateOrgAlarmTemplate requestBody: content: application/json: examples: example-1: value: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true name: string rules: adhoc_network: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true air_magnet_scan: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true ap_offline: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true bad_cable: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true beacon_flood: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true bssid_spoofing: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true device_down: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true device_restarted: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true dhcp_failure: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true disassociation_flood: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true dot1x_failure: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true eap_dictionary_attack: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true eap_failure_injection: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true eap_handshake_flood: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true eap_spoofed_success: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true eapol_logoff_attack: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true essid_jack: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true excessive_client: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true excessive_eapol_start: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true gateway_down: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true gw_bad_cable: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true gw_negotiation_mismatch: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true honeypot_ssid: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true krack_attack: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true missing_vlan: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true monkey_jack: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true negotiation_mismatch: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true non_compliant: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true out_of_sequence: enabled: true psk_failure: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true repeated_auth_failures: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true rogue_ap: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true rogue_client: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true secpolicy_violation: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true ssid_injection: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true switch_down: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true tkip_icv_attack: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true vendor_ie_missing: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true watched_station: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true zero_ssid_association: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true schema: $ref: '#/components/schemas/alarm_template' description: Request Body responses: '200': $ref: '#/components/responses/Alarmtemplate' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgAlarmTemplate tags: - Orgs Alarm Templates /api/v1/orgs/{org_id}/apitokens: get: description: Get List of Org API Tokens operationId: listOrgApiTokens responses: '200': $ref: '#/components/responses/ApitokensOrgArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgApiTokens tags: - Orgs API Tokens parameters: - $ref: '#/components/parameters/org_id' post: description: 'Create Org API Token Note that the token key is only available during creation time.' operationId: createOrgApiToken requestBody: content: application/json: schema: $ref: '#/components/schemas/org_apitoken' responses: '200': $ref: '#/components/responses/ApitokenOrg' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgApiToken tags: - Orgs API Tokens /api/v1/orgs/{org_id}/apitokens/{apitoken_id}: delete: description: Delete Org API Token operationId: deleteOrgApiToken responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgApiToken tags: - Orgs API Tokens get: description: Get Org API Token operationId: getOrgApiToken responses: '200': $ref: '#/components/responses/ApitokenOrg' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgApiToken tags: - Orgs API Tokens parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/apitoken_id' put: description: Update Org API Token operationId: updateOrgApiToken requestBody: content: application/json: examples: Example: value: name: org_token_xyz privileges: - org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b role: admin scope: org schema: $ref: '#/components/schemas/org_apitoken' description: Request Body responses: '200': $ref: '#/components/responses/ApitokenOrg' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgApiToken tags: - Orgs API Tokens /api/v1/orgs/{org_id}/aptemplates: get: description: Get List of Org AP Templates operationId: listOrgAptemplates parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/AptemplatesArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgAptemplates tags: - Orgs AP Templates parameters: - $ref: '#/components/parameters/org_id' post: description: Create Org AP Template operationId: createOrgAptemplate requestBody: content: application/json: examples: Example: value: ap_matching: enabled: true rules: - match_model: string name: string port_config: property1: additional_vlan_ids: - 55 - 66 authentication_protocol: pap disabled: true dynamic_vlan: default_vlan_id: 999 enabled: true type: string vlans: 1-10: null user: null enable_mac_auth: false forwarding: all mx_tunnel_id: 08cd7499-5841-51c8-e663-fb16b6f3b45e mxtunnel_name: string port_auth: none port_vlan_id: 1 radius_config: acct_interim_interval: 0 acct_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1813 secret: testing123 auth_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1812 secret: testing123 auth_servers_retries: 3 auth_servers_timeout: 5 coa_enabled: false coa_port: 3799 network: string source_ip: string radsec: enabled: true idle_timeout: 60 mxcluster_ids: - 572586b7-f97b-a22b-526c-8b97a3f609c4 proxy_hosts: - mxedge1.local server_name: radsec.abc.com servers: - host: 1.1.1.1 port: 1812 use_mxedge: true use_site_mxedge: false vlan_id: 9 vland_ids: - 1 - 10 - 50 wxtunnel_id: 7dae216d-7c98-a51b-e068-dd7d477b7216 wxtunnel_remote_id: wifiguest property2: additional_vlan_ids: - 55 - 66 authentication_protocol: pap disabled: true dynamic_vlan: default_vlan_id: 999 enabled: true type: string vlans: 1-10: null user: null enable_mac_auth: false forwarding: all mx_tunnel_id: 08cd7499-5841-51c8-e663-fb16b6f3b45e mxtunnel_name: string port_auth: none port_vlan_id: 1 radius_config: acct_interim_interval: 0 acct_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1813 secret: testing123 auth_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1812 secret: testing123 auth_servers_retries: 3 auth_servers_timeout: 5 coa_enabled: false coa_port: 3799 network: string source_ip: string radsec: enabled: true idle_timeout: 60 mxcluster_ids: - 572586b7-f97b-a22b-526c-8b97a3f609c4 proxy_hosts: - mxedge1.local server_name: radsec.abc.com servers: - host: 1.1.1.1 port: 1812 use_mxedge: true use_site_mxedge: false vlan_id: 9 vland_ids: - 1 - 10 - 50 wxtunnel_id: 7dae216d-7c98-a51b-e068-dd7d477b7216 wxtunnel_remote_id: wifiguest created_time: 0 for_site: true id: 497f6eca-6276-4993-bfeb-53d7bbba6f08 modified_time: 0 org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 wifi: cisco_enabled: true disable_11k: false disable_radios_when_power_constrained: true enable_arp_spoof: true enable_shared_radio_scanning: false enabled: true locate_connected: false locate_unconnected: false mesh_allow_dfs: false mesh_enable_crm: true mesh_enabled: true proxy_arp: false schema: $ref: '#/components/schemas/ap_template' responses: '200': $ref: '#/components/responses/Aptemplate' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgAptemplate tags: - Orgs AP Templates /api/v1/orgs/{org_id}/aptemplates/{aptemplate_id}: delete: description: Delete existing AP Template operationId: deleteOrgAptemplate responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgAptemplate tags: - Orgs AP Templates get: description: Get AP Template operationId: getOrgAptemplate responses: '200': $ref: '#/components/responses/Aptemplate' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgAptemplate tags: - Orgs AP Templates parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/aptemplate_id' put: description: Update AP Template operationId: updateOrgAptemplate requestBody: content: application/json: examples: Example: value: ap_matching: enabled: true rules: - match_model: string name: string port_config: property1: additional_vlan_ids: - 55 - 66 authentication_protocol: pap disabled: true dynamic_vlan: default_vlan_id: 999 enabled: true type: string vlans: 1-10: null user: null enable_mac_auth: false forwarding: all mx_tunnel_id: 08cd7499-5841-51c8-e663-fb16b6f3b45e mxtunnel_name: string port_auth: none port_vlan_id: 1 radius_config: acct_interim_interval: 0 acct_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1813 secret: testing123 auth_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1812 secret: testing123 auth_servers_retries: 3 auth_servers_timeout: 5 coa_enabled: false coa_port: 3799 network: string source_ip: string radsec: enabled: true idle_timeout: 60 mxcluster_ids: - 572586b7-f97b-a22b-526c-8b97a3f609c4 proxy_hosts: - mxedge1.local server_name: radsec.abc.com servers: - host: 1.1.1.1 port: 1812 use_mxedge: true use_site_mxedge: false vlan_id: 9 vland_ids: - 1 - 10 - 50 wxtunnel_id: 7dae216d-7c98-a51b-e068-dd7d477b7216 wxtunnel_remote_id: wifiguest property2: additional_vlan_ids: - 55 - 66 authentication_protocol: pap disabled: true dynamic_vlan: default_vlan_id: 999 enabled: true type: string vlans: 1-10: null user: null enable_mac_auth: false forwarding: all mx_tunnel_id: 08cd7499-5841-51c8-e663-fb16b6f3b45e mxtunnel_name: string port_auth: none port_vlan_id: 1 radius_config: acct_interim_interval: 0 acct_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1813 secret: testing123 auth_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1812 secret: testing123 auth_servers_retries: 3 auth_servers_timeout: 5 coa_enabled: false coa_port: 3799 network: string source_ip: string radsec: enabled: true idle_timeout: 60 mxcluster_ids: - 572586b7-f97b-a22b-526c-8b97a3f609c4 proxy_hosts: - mxedge1.local server_name: radsec.abc.com servers: - host: 1.1.1.1 port: 1812 use_mxedge: true use_site_mxedge: false vlan_id: 9 vland_ids: - 1 - 10 - 50 wxtunnel_id: 7dae216d-7c98-a51b-e068-dd7d477b7216 wxtunnel_remote_id: wifiguest created_time: 0 for_site: true id: 497f6eca-6276-4993-bfeb-53d8bbba6f08 modified_time: 0 org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 wifi: cisco_enabled: true disable_11k: false disable_radios_when_power_constrained: true enable_arp_spoof: true enable_shared_radio_scanning: false enabled: true locate_connected: false locate_unconnected: false mesh_allow_dfs: false mesh_enable_crm: true mesh_enabled: true proxy_arp: false schema: $ref: '#/components/schemas/ap_template' responses: '200': $ref: '#/components/responses/Aptemplate' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgAptemplate tags: - Orgs AP Templates /api/v1/orgs/{org_id}/assetfilters: 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' responses: '200': $ref: '#/components/responses/AssetfiltersArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgAssetFilters 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 requestBody: content: application/json: examples: example-1: value: created_time: 0 disasbled: true eddystone_uid_namespace: string eddystone_url: string for_site: true ibeacon_major: 0 ibeacon_uuid: 1f89bc00-d0af-481b-82fe-a6629259a39f id: 430f6eca-6276-4993-bfeb-53cb5bba6f08 mfg_company_id: 0 modified_time: 0 name: string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 schema: $ref: '#/components/schemas/asset_filter' responses: '200': $ref: '#/components/responses/Assetfilter' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgAssetFilters tags: - Orgs Asset Filters /api/v1/orgs/{org_id}/assetfilters/{assetfilter_id}: delete: description: Deletes an existing BLE asset filter for the given site. operationId: deleteOrgAssetFilter responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgAssetFilter tags: - Orgs Asset Filters get: description: Get Org Asset Filter Details operationId: getOrgAssetFilter responses: '200': $ref: '#/components/responses/Assetfilter' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: 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 requestBody: content: application/json: examples: example-1: value: disabled: true eddystone_uid_namespace: string eddystone_url: string ibeacon_major: 0 ibeacon_uuid: b069b358-4c97-5319-1f8c-7c5ca64d6ab2 mfg_company_id: 0 name: string schema: $ref: '#/components/schemas/asset_filter' description: Request Body responses: '200': $ref: '#/components/responses/Assetfilter' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgAssetFilters tags: - Orgs Asset Filters /api/v1/orgs/{org_id}/assets: get: description: Get List of Org Assets operationId: listOrgAssets parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/AssetsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgAssets tags: - Orgs Assets parameters: - $ref: '#/components/parameters/org_id' post: description: Create Org Asset operationId: createOrgAsset requestBody: content: application/json: schema: $ref: '#/components/schemas/asset' description: Request Body responses: '200': $ref: '#/components/responses/Asset' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgAsset tags: - Orgs Assets /api/v1/orgs/{org_id}/assets/import: 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 requestBody: content: application/json: examples: example-1: value: - mac: a31eb04e1c38 name: Expensive Instrument - mac: a31eb04e1c37 name: Cheap Instrument schema: $ref: '#/components/schemas/assets_import_json' multipart/form-data: schema: $ref: '#/components/schemas/assets_import_file' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: importOrgAssets tags: - Orgs Assets /api/v1/orgs/{org_id}/assets/{asset_id}: delete: description: Delete Org Asset operationId: deleteOrgAsset responses: '200': $ref: '#/components/responses/OK' '201': description: Created '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgAsset tags: - Orgs Assets get: description: Get Org Asset Details operationId: getOrgAsset responses: '200': $ref: '#/components/responses/Asset' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgAsset tags: - Orgs Assets parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/asset_id' put: description: Update Org Asset operationId: updateOrgAsset requestBody: content: application/json: schema: $ref: '#/components/schemas/asset' description: Request Body responses: '200': $ref: '#/components/responses/Asset' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgAsset tags: - Orgs Assets /api/v1/orgs/{org_id}/cert: get: description: Get Org Certificates operationId: getOrgCertificates responses: '200': $ref: '#/components/responses/Certificate' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgCertificates tags: - Orgs Cert parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/cert/regenerate: parameters: - $ref: '#/components/parameters/org_id' post: description: Clear Org Certificates operationId: clearOrgCertificates responses: '200': $ref: '#/components/responses/Certificate' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: clearOrgCertificates tags: - Orgs Cert /api/v1/orgs/{org_id}/claim: parameters: - $ref: '#/components/parameters/org_id' post: description: Claim Org licenses / activation codes operationId: claimOrgLicense requestBody: content: application/json: examples: example-1: value: code: ZHT3K-H36DT-MG85D-M61AC type: all schema: $ref: '#/components/schemas/claim_activation' description: Request Body responses: '200': $ref: '#/components/responses/ClaimLicense' '400': description: invalid key (or already used) '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: claimOrgLicense tags: - Orgs Licenses /api/v1/orgs/{org_id}/clients/count: 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 title: Org clients count distinct 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' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countOrgWirelessClients tags: - Orgs Clients - Wireless parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/clients/events/search: 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' responses: '200': $ref: '#/components/responses/EventsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchOrgWirelessClientEvents tags: - Orgs Clients - Wireless parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/clients/search: 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' responses: '200': $ref: '#/components/responses/ClientsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchOrgWirelessClients tags: - Orgs Clients - Wireless parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/clients/sessions/count: get: description: Count Org Wireless Clients Sessions operationId: countOrgWirelessClientsSessions parameters: - in: query name: distinct schema: default: device enum: - ssid - ap - ip - vlan - hostname - os - model - device title: Org Client Sessions count distinct type: string - 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' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countOrgWirelessClientsSessions tags: - Orgs Clients - Wireless parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/clients/sessions/search: 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' responses: '200': $ref: '#/components/responses/WirelessClientSessionsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchOrgWirelessClientSessions tags: - Orgs Clients - Wireless parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/clients/{client_mac}/coa: parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/client_mac' post: description: Trigger a CoA (change of authorization) against a client operationId: reauthOrgDot1xWirelessClient responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: reauthOrgDot1xWirelessClient tags: - Utilities Wi-Fi /api/v1/orgs/{org_id}/clone: 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 requestBody: content: application/json: examples: example-1: value: name: New Org schema: $ref: '#/components/schemas/name' description: Request Body responses: '200': $ref: '#/components/responses/Org' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: cloneOrg tags: - Orgs /api/v1/orgs/{org_id}/crl: get: description: Get Org CRL File operationId: getOrgCrlFile responses: '200': $ref: '#/components/responses/File' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgCrlFile tags: - Orgs CRL parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/crl/truncate: 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 requestBody: content: application/json: schema: $ref: '#/components/schemas/days_number' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: truncateOrgCrlFile tags: - Orgs Cert /api/v1/orgs/{org_id}/deviceprofiles: 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' responses: '200': $ref: '#/components/responses/DeviceprofilesArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgDeviceProfiles tags: - Orgs Device Profiles parameters: - $ref: '#/components/parameters/org_id' post: description: Create Device Profile operationId: createOrgDeviceProfiles requestBody: content: application/json: examples: deviceprofile_ap: value: aeroscout: enabled: false host: aero.pvt.net locate_connected: true ble_config: beacon_enabled: false beacon_rate: 3 beacon_rate_mode: custom beam_disabled: - 1 - 3 - 6 custom_ble_packet_enabled: false custom_ble_packet_frame: 0x........ custom_ble_packet_freq_msec: 300 eddystone_uid_adv_power: -65 eddystone_uid_beams: 2-4,7 eddystone_uid_enabled: false eddystone_uid_freq_msec: 200 eddystone_uid_instance: 5c5b35000001 eddystone_uid_namespace: 2818e3868dec25629ede eddystone_url_adv_power: -65 eddystone_url_beams: 2-4,7 eddystone_url_enabled: true eddystone_url_freq_msec: 1000 eddystone_url_url: https://www.abc.com ibeacon_adv_power: -65 ibeacon_beams: 2-4,7 ibeacon_enabled: false ibeacon_freq_msec: 0 ibeacon_major: 13 ibeacon_minor: 138 ibeacon_uuid: f3f17139-704a-f03a-2786-0400279e37c3 power: 10 power_mode: custom created_time: 0 disable_eth1: false disable_eth2: false disable_eth3: false disable_module: false for_site: true height: 0 id: 497f6eca-6276-4993-bfeb-53d9bbba6f08 iot_config: A1: enabled: false name: motion output: true pullup: internal value: 0 A2: enabled: false name: motion output: true pullup: internal value: 0 A3: enabled: false name: motion output: true pullup: internal value: 0 A4: enabled: false name: motion output: true pullup: internal value: 0 DI1: enabled: false name: string pullup: internal DI2: enabled: false name: string pullup: internal DO: enabled: false name: motion output: true pullup: internal value: 0 ip_config: dns: - 8.8.8.8 - 4.4.4.4 dns_suffix: - .mist.local - .mist.com gateway: 10.2.1.254 gateway6: 2607:f8b0:4005:808::1 ip: 10.2.1.1 ip6: 2607:f8b0:4005:808::2004 mtu: 0 netmask: 255.255.255.0 netmask6: /32 type: static type6: static vlan_id: 1 led: brightness: 255 enabled: true map_id: 09d2b626-2e4e-45ef-a3c4-e6aeb6c83db1 mesh: enabled: false group: 1 role: base modified_time: 0 name: string notes: string ntp_servers: - string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b orientation: 0 orientation_overwrite: true poe_passthrough: false port_config: property1: additional_vlan_ids: - 55 - 66 authentication_protocol: pap disabled: true dynamic_vlan: default_vlan_id: 999 enabled: true type: string vlans: 1-10: null user: null enable_mac_auth: false forwarding: all mx_tunnel_id: 08cd7499-5841-51c8-e663-fb16b6f3b45e mxtunnel_name: string port_auth: none port_vlan_id: 1 radius_config: acct_interim_interval: 0 acct_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1813 secret: testing123 auth_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1812 secret: testing123 auth_servers_retries: 3 auth_servers_timeout: 5 coa_enabled: false coa_port: 3799 network: string source_ip: string radsec: enabled: true idle_timeout: 60 mxcluster_ids: - 572586b7-f97b-a22b-526c-8b97a3f609c4 proxy_hosts: - mxedge1.local server_name: radsec.abc.com servers: - host: 1.1.1.1 port: 1812 use_mxedge: true use_site_mxedge: false vlan_id: 9 vland_ids: - 1 - 10 - 50 wxtunnel_id: 7dae216d-7c98-a51b-e068-dd7d477b7216 wxtunnel_remote_id: wifiguest property2: additional_vlan_ids: - 55 - 66 authentication_protocol: pap disabled: true dynamic_vlan: default_vlan_id: 999 enabled: true type: string vlans: 1-10: null user: null enable_mac_auth: false forwarding: all mx_tunnel_id: 08cd7499-5841-51c8-e663-fb16b6f3b45e mxtunnel_name: string port_auth: none port_vlan_id: 1 radius_config: acct_interim_interval: 0 acct_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1813 secret: testing123 auth_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1812 secret: testing123 auth_servers_retries: 3 auth_servers_timeout: 5 coa_enabled: false coa_port: 3799 network: string source_ip: string radsec: enabled: true idle_timeout: 60 mxcluster_ids: - 572586b7-f97b-a22b-526c-8b97a3f609c4 proxy_hosts: - mxedge1.local server_name: radsec.abc.com servers: - host: 1.1.1.1 port: 1812 use_mxedge: true use_site_mxedge: false vlan_id: 9 vland_ids: - 1 - 10 - 50 wxtunnel_id: 7dae216d-7c98-a51b-e068-dd7d477b7216 wxtunnel_remote_id: wifiguest pwr_config: base: 0 radio_config: allow_rrm_disable: false ant_gain_24: 4 ant_gain_5: 5 ant_gain_6: 5 antenna_mode: default band_24: allow_rrm_disable: true ant_gain: 0 antenna_mode: default bandwidth: 20 channel: 0 channels: - 0 disabled: true power: 0 power_max: 0 power_min: 0 preamble: short usage: '24' band_24_usage: '5' band_5: allow_rrm_disable: true ant_gain: 0 antenna_mode: default bandwidth: 20 channel: 0 channels: - 0 disabled: true power: 0 power_max: 0 power_min: 0 preamble: short usage: '24' band_5_on_24_radio: allow_rrm_disable: true ant_gain: 0 antenna_mode: default bandwidth: 20 channel: 0 channels: - 0 disabled: true power: 0 power_max: 0 power_min: 0 preamble: short usage: '24' band_6: allow_rrm_disable: true ant_gain: 0 antenna_mode: default bandwidth: 20 channel: 0 channels: - 0 disabled: true power: 0 power_max: 0 power_min: 0 preamble: short usage: '24' indoor_use: false scanning_enabled: true site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 switch_config: enabled: false eth0: additional_vlan_ids: - 0 enable_vlan: true port_vlan_id: 0 vlan_ids: - 0 eth1: additional_vlan_ids: - 0 enable_vlan: true port_vlan_id: 0 vlan_ids: - 0 eth2: additional_vlan_ids: - 0 enable_vlan: true port_vlan_id: 0 vlan_ids: - 0 eth3: additional_vlan_ids: - 0 enable_vlan: true port_vlan_id: 0 vlan_ids: - 0 module: additional_vlan_ids: - 0 enable_vlan: true port_vlan_id: 0 vlan_ids: - 0 wds: additional_vlan_ids: - 0 enable_vlan: true port_vlan_id: 0 vlan_ids: - 0 type: ap usb_config: cacert: string channel: 3 enabled: true host: 1.1.1.1 port: 0 type: imagotag verify_cert: true vlan_id: 1 vars: {} x: 0 y: 0 deviceprofile_hub: value: additional_config_cmds: - set snmp community public bgp_config: property1: auth_key: string bfd_minimum_interval: 150 communities: - id: string local_preference: 0 vpn_name: string disable_bfd: false export: string export_policy: string graceful_restart_time: 0 hold_time: 90 import: string import_policy: string imported_networks: - dc-apps local_as: 0 neighbor_as: 0 neighbors: property1: export_policy: string hold_time: 90 import_policy: string multihop_ttl: 0 neighbor_as: 0 property2: export_policy: string hold_time: 90 import_policy: string multihop_ttl: 0 neighbor_as: 0 networks: - string no_readvertise_to_overlay: false type: internal via: lan vpn_name: string wan_name: string property2: auth_key: string bfd_minimum_interval: 150 communities: - id: string local_preference: 0 vpn_name: string disable_bfd: false export: string export_policy: string graceful_restart_time: 0 hold_time: 90 import: string import_policy: string imported_networks: - dc-apps local_as: 0 neighbor_as: 0 neighbors: property1: export_policy: string hold_time: 90 import_policy: string multihop_ttl: 0 neighbor_as: 0 property2: export_policy: string hold_time: 90 import_policy: string multihop_ttl: 0 neighbor_as: 0 networks: - string no_readvertise_to_overlay: false type: internal via: lan vpn_name: string wan_name: string created_time: 0 dhcpd_config: property1: dns_servers: - 192.168.0.1 dns_suffix: - string fixed_bindings: property1: ip: 192.168.0.1 name: string property2: ip: 192.168.0.1 name: string gateway: 192.168.0.1 ip_end: 192.168.0.1 ip_start: 192.168.0.1 servers: - 192.168.0.1 type: local property2: dns_servers: - 192.168.0.1 dns_suffix: - string fixed_bindings: property1: ip: 192.168.0.1 name: string property2: ip: 192.168.0.1 name: string gateway: 192.168.0.1 ip_end: 192.168.0.1 ip_start: 192.168.0.1 servers: - 192.168.0.1 type: local extra_routes: property1: via: 192.168.0.1 property2: via: 192.168.0.1 gateway_matching: enable: true rules: - additional_config_cmds: - set snmp community public name: string port_config: property1: ae_disable_lacp: true ae_idx: 0 aggregated: false critical: true description: string disable_autoneg: false duplex: auto dynamic_usage: string esilag: true mtu: 1514 no_local_overwrite: true poe_disabled: false speed: auto usage: string property2: ae_disable_lacp: true ae_idx: 0 aggregated: false critical: true description: string disable_autoneg: false duplex: auto dynamic_usage: string esilag: true mtu: 1514 no_local_overwrite: true poe_disabled: false speed: auto usage: string property1: string property2: string id: 497f6eca-6276-4993-bfeb-53cbbbba6f1c ip_configs: property1: ip: 192.168.0.1 netmask: /24 property2: ip: 192.168.0.1 netmask: /24 modified_time: 0 name: string networks: - created_time: 0 disallow_mist_services: false gateway: 192.168.70.1 hosts: property1: external_ips: 172.16.10.32-172.16.10.35 ips: 192.168.70.32-192.168.70.35 property2: external_ips: 172.16.10.32-172.16.10.35 ips: 192.168.70.32-192.168.70.35 id: 497f6eca-6276-4993-bfeb-53cbbbba6f1d internal_access: enabled: true internet_access: create_simple_service_policy: false destination_nat: property1: internal_ip: 192.168.70.30 name: web server port: 443 property2: internal_ip: 192.168.70.30 name: web server port: 443 enabled: true restricted: false static_nat: property1: internal_ip: 192.168.70.3 name: printer-1 property2: internal_ip: 192.168.70.3 name: printer-1 isolation: true modified_time: 0 name: string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b subnet: 192.168.70.0/24 tenants: property1: addresses: string property2: addresses: string vlan_id: 0 vpn_access: property1: affinity: hub allow_ping: true destination_nat: property1: name: web server port: 443 to: 192.168.70.5/30 property2: name: web server port: 443 to: 192.168.70.5/30 nat_pool: 172.16.0.0/26 no_readvertise_to_lan_bgp: false no_readvertise_to_overlay: true routed: true source_nat: exteral_ip: 172.16.0.8/30 static_nat: property1: internal_ip: 192.168.70.3 name: pos-station-1 property2: internal_ip: 192.168.70.3 name: pos-station-1 summarized_subnet: 172.16.0.0/16 summarized_subnet_to_lan_bgp: 172.16.0.0/16 property2: affinity: hub allow_ping: true destination_nat: property1: name: web server port: 443 to: 192.168.70.5/30 property2: name: web server port: 443 to: 192.168.70.5/30 nat_pool: 172.16.0.0/26 no_readvertise_to_lan_bgp: false no_readvertise_to_overlay: true routed: true source_nat: exteral_ip: 172.16.0.8/30 static_nat: property1: internal_ip: 192.168.70.3 name: pos-station-1 property2: internal_ip: 192.168.70.3 name: pos-station-1 summarized_subnet: 172.16.0.0/16 summarized_subnet_to_lan_bgp: 172.16.0.0/16 - created_time: 0 disallow_mist_services: false gateway: 192.168.70.1 hosts: property1: external_ips: 172.16.10.32-172.16.10.35 ips: 192.168.70.32-192.168.70.35 property2: external_ips: 172.16.10.32-172.16.10.35 ips: 192.168.70.32-192.168.70.35 id: 497f6eca-6276-4993-bfeb-53cbbbba6f1e internal_access: enabled: true internet_access: create_simple_service_policy: false destination_nat: property1: internal_ip: 192.168.70.30 name: web server port: 443 property2: internal_ip: 192.168.70.30 name: web server port: 443 enabled: true restricted: false static_nat: property1: internal_ip: 192.168.70.3 name: printer-1 property2: internal_ip: 192.168.70.3 name: printer-1 isolation: true modified_time: 0 name: string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b subnet: 192.168.70.0/24 tenants: property1: addresses: string property2: addresses: string vlan_id: 0 vpn_access: property1: affinity: hub allow_ping: true destination_nat: property1: name: web server port: 443 to: 192.168.70.5/30 property2: name: web server port: 443 to: 192.168.70.5/30 nat_pool: 172.16.0.0/26 no_readvertise_to_lan_bgp: false no_readvertise_to_overlay: true routed: true source_nat: exteral_ip: 172.16.0.8/30 static_nat: property1: internal_ip: 192.168.70.3 name: pos-station-1 property2: internal_ip: 192.168.70.3 name: pos-station-1 summarized_subnet: 172.16.0.0/16 summarized_subnet_to_lan_bgp: 172.16.0.0/16 property2: affinity: hub allow_ping: true destination_nat: property1: name: web server port: 443 to: 192.168.70.5/30 property2: name: web server port: 443 to: 192.168.70.5/30 nat_pool: 172.16.0.0/26 no_readvertise_to_lan_bgp: false no_readvertise_to_overlay: true routed: true source_nat: exteral_ip: 172.16.0.8/30 static_nat: property1: internal_ip: 192.168.70.3 name: pos-station-1 property2: internal_ip: 192.168.70.3 name: pos-station-1 summarized_subnet: 172.16.0.0/16 summarized_subnet_to_lan_bgp: 172.16.0.0/16 oob_ip_config: dns: - string dns_suffix: - string gateway: string ip: string netmask: string network: string node1: ip: string netmask: string network: string type: dynamic use_mgmt_vrf: false use_mgmt_vrf_for_host_out: false vlan_id: 0 property1: ip: string netmask: string network: string type: dynamic property2: ip: string netmask: string network: string type: dynamic type: dynamic use_mgmt_vrf: false use_mgmt_vrf_for_host_out: false vlan_id: 0 org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b path_preferences: property1: paths: cost: 0 gateway_ip: string internet_access: false name: string networks: - string target_ips: - string type: local strategy: ordered property2: paths: cost: 0 gateway_ip: string internet_access: false name: string networks: - string target_ips: - string type: local strategy: ordered port_config: property1: description: string disable_autoneg: false dsl_config: ppoe_auth: none ppoe_password: string ppoe_username: string duplex: full ip_config: dns: - string dns_suffix: - string gateway: string ip: string netmask: string network: string poser_password: string ppoe_username: string pppoe_auth: none type: dhcp lte_apn: string lte_auth: none lte_backup: true lte_password: string lte_username: string mtu: 0 name: string networks: - string outer_vlan_id: 0 poe_disabled: false port_network: string preserve_dscp: true redundant: true reth_idx: 0 reth_node: string speed: 1g svr_port_range: 60000-60005 traffic_shaping: class_percentages: - 0 enabled: false usage: lan vlan_id: 10 vpn_paths: property1: bfd_profile: broadband bfd_udp_transform: false bfd_use_tunnel_mode: false role: spoke traffic_shaping: class_percentage: - 0 enabled: true max_tx_kbps: 0 property2: bfd_profile: broadband bfd_udp_transform: false bfd_use_tunnel_mode: false role: spoke traffic_shaping: class_percentage: - 0 enabled: true max_tx_kbps: 0 wan_ext_ip: string wan_source_nat: disabled: false nat_pool: 64.2.4.0/30 wan_type: broadband property2: description: string disable_autoneg: false dsl_config: ppoe_auth: none ppoe_password: string ppoe_username: string duplex: full ip_config: dns: - string dns_suffix: - string gateway: string ip: string netmask: string network: string poser_password: string ppoe_username: string pppoe_auth: none type: dhcp lte_apn: string lte_auth: none lte_backup: true lte_password: string lte_username: string mtu: 0 name: string networks: - string outer_vlan_id: 0 poe_disabled: false port_network: string preserve_dscp: true redundant: true reth_idx: 0 reth_node: string speed: 1g svr_port_range: 60000-60005 traffic_shaping: class_percentages: - 0 enabled: false usage: lan vlan_id: 10 vpn_paths: property1: bfd_profile: broadband bfd_udp_transform: false bfd_use_tunnel_mode: false role: spoke traffic_shaping: class_percentage: - 0 enabled: true max_tx_kbps: 0 property2: bfd_profile: broadband bfd_udp_transform: false bfd_use_tunnel_mode: false role: spoke traffic_shaping: class_percentage: - 0 enabled: true max_tx_kbps: 0 wan_ext_ip: string wan_source_nat: disabled: false nat_pool: 64.2.4.0/30 wan_type: broadband routing_policies: property1: terms: - action: accept: true add_community: - '65003:10' community: - '65003:10' exclude_as_path: - '65002' exclude_community: - '65003:10' export_communitites: - string local_preference: string prepend_as_path: - '65003' matching: as_path: - '65001' community: - '65001:2' network: - string prefix: - 192.168.0.0/16-30 protocol: - direct route_exists: route: 192.168.0.0/24 vrf_name: default vpn_neighbor_mac: - string vpn_path: - string vpn_path_sla: max_jitter: 0 max_latency: 1500 max_loss: 30 property2: terms: - action: accept: true add_community: - '65003:10' community: - '65003:10' exclude_as_path: - '65002' exclude_community: - '65003:10' export_communitites: - string local_preference: string prepend_as_path: - '65003' matching: as_path: - '65001' community: - '65001:2' network: - string prefix: - 192.168.0.0/16-30 protocol: - direct route_exists: route: 192.168.0.0/24 vrf_name: default vpn_neighbor_mac: - string vpn_path: - string vpn_path_sla: max_jitter: 0 max_latency: 1500 max_loss: 30 service_policies: - action: allow ewf: - alert_only: true block_message: Access to this URL Category has been blocked enabled: false profile: strict idp: alert_only: string enabled: false profile: strict local_routing: false name: string path_preferences: string servicepolicy_id: a4b81837-7a2f-46c1-bf27-dc8af6edd0a0 services: - string tenants: - string tunnel_configs: property1: auto_provision: enable: true latlng: lat: 37.295833 lng: -122.032946 primary: num_hosts: string wan_names: - wan0 region: auto secondary: num_hosts: string wan_names: - wan0 ike_lifetime: 0 ike_mode: main ike_proposals: - auth_algo: sha1 dh_group: '14' enc_algo: aes256 ipsec_lifetime: 0 ipsec_proposals: - auth_algo: sha1 dh_group: '14' enc_algo: aes256 local_id: string mode: active-standby primary: hosts: - string internal_ips: - string probe_ips: - string remote_ids: - string wan_names: - string probe: interval: 0 threshold: 0 timeout: 0 type: icmp protocol: ipsec provider: zscaler-ipsec psk: string secondary: hosts: - string internal_ips: - string probe_ips: - string remote_ids: - string wan_names: - string version: '2' property2: auto_provision: enable: true latlng: lat: 37.295833 lng: -122.032946 primary: num_hosts: string wan_names: - wan0 region: auto secondary: num_hosts: string wan_names: - wan0 ike_lifetime: 0 ike_mode: main ike_proposals: - auth_algo: sha1 dh_group: '14' enc_algo: aes256 ipsec_lifetime: 0 ipsec_proposals: - auth_algo: sha1 dh_group: '14' enc_algo: aes256 local_id: string mode: active-standby primary: hosts: - string internal_ips: - string probe_ips: - string remote_ids: - string wan_names: - string probe: interval: 0 threshold: 0 timeout: 0 type: icmp protocol: ipsec provider: zscaler-ipsec psk: string secondary: hosts: - string internal_ips: - string probe_ips: - string remote_ids: - string wan_names: - string version: '2' type: standalone schema: $ref: '#/components/schemas/deviceprofile' description: Request Body responses: '200': $ref: '#/components/responses/Deviceprofile' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgDeviceProfiles tags: - Orgs Device Profiles /api/v1/orgs/{org_id}/deviceprofiles/{deviceprofile_id}: delete: description: Delete Org Device Profile operationId: deleteOrgDeviceProfile responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgDeviceProfile tags: - Orgs Device Profiles get: description: Get Org device Profile Details operationId: getOrgDeviceProfile responses: '200': $ref: '#/components/responses/Deviceprofile' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgDeviceProfile tags: - Orgs Device Profiles parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/deviceprofile_id' put: description: Update Org Device Profile operationId: updateOrgDeviceProfile requestBody: content: application/json: examples: deviceprofile_ap: value: aeroscout: enabled: true host: string ble_config: beacon_enabled: true beacon_rate: 0 beacon_rate_mode: default beam_disabled: - 0 eddystone_uid_adv_power: -100 eddystone_uid_beams: string eddystone_uid_enabled: true eddystone_uid_freq_msec: 0 eddystone_uid_instance: string eddystone_uid_namespace: string eddystone_url_adv_power: 0 eddystone_url_beams: string eddystone_url_enabled: true eddystone_url_freq_msec: 0 eddystone_url_url: string ibeacon_adv_power: -100 ibeacon_beams: string ibeacon_enabled: true ibeacon_freq_msec: 0 ibeacon_major: 0 ibeacon_minor: 0 ibeacon_uuid: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 power: 1 power_mode: string created_time: 0 disable_eth1: true disable_module: true id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 ip_config: dns: - string dns_suffix: - string gateway: 192.168.0.1 gateway6: 2001:0db8:85a3:0000:0000:8a2e:0370:7334 ip: 192.168.0.1 ip6: 2001:0db8:85a3:0000:0000:8a2e:0370:7334 mtu: 0 netmask: 192.168.0.1 netmask6: 2001:0db8:85a3:0000:0000:8a2e:0370:7334 type: static type6: static vlan_id: 1 mesh: enabled: true group: 0 role: base modified_time: 0 name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 poe_passthrough: true radio_config: ant_gain_24: 0 ant_gain_5: 0 band_24: allow_rrm_disable: true antenna_mode: default bandwidth: 20 channel: 0 disabled: true power: 0 power_max: 0 power_min: 0 preamble: auto usage: '24' band_24_usage: '24' band_5: allow_rrm_disable: true antenna_mode: default bandwidth: 20 channel: 0 disabled: true power: 0 power_max: 0 power_min: 0 preamble: auto usage: '24' band_5_on_24_radio: allow_rrm_disable: true antenna_mode: default bandwidth: 20 channel: 0 disabled: true power: 0 power_max: 0 power_min: 0 preamble: auto usage: '24' scanning_enabled: true site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 switch_config: enabled: true eth0: port_vlan_id: 1 vlan_ids: - 0 eth1: port_vlan_id: 1 vlan_ids: - 0 eth2: port_vlan_id: 1 vlan_ids: - 0 eth3: port_vlan_id: 1 vlan_ids: - 0 module: port_vlan_id: 1 vlan_ids: - 0 wds: port_vlan_id: 1 vlan_ids: - 0 usb_config: cacert: string channel: 0 enabled: true host: string port: 0 type: imagotag verify_cert: true deviceprofile_hub: value: additional_config_cmds: - set snmp community public bgp_config: property1: auth_key: string bfd_minimum_interval: 150 communities: - id: string local_preference: 0 vpn_name: string disable_bfd: false export: string export_policy: string graceful_restart_time: 0 hold_time: 90 import: string import_policy: string imported_networks: - dc-apps local_as: 0 neighbor_as: 0 neighbors: property1: export_policy: string hold_time: 90 import_policy: string multihop_ttl: 0 neighbor_as: 0 property2: export_policy: string hold_time: 90 import_policy: string multihop_ttl: 0 neighbor_as: 0 networks: - string no_readvertise_to_overlay: false type: internal via: lan vpn_name: string wan_name: string property2: auth_key: string bfd_minimum_interval: 150 communities: - id: string local_preference: 0 vpn_name: string disable_bfd: false export: string export_policy: string graceful_restart_time: 0 hold_time: 90 import: string import_policy: string imported_networks: - dc-apps local_as: 0 neighbor_as: 0 neighbors: property1: export_policy: string hold_time: 90 import_policy: string multihop_ttl: 0 neighbor_as: 0 property2: export_policy: string hold_time: 90 import_policy: string multihop_ttl: 0 neighbor_as: 0 networks: - string no_readvertise_to_overlay: false type: internal via: lan vpn_name: string wan_name: string created_time: 0 dhcpd_config: property1: dns_servers: - 192.168.0.1 dns_suffix: - string fixed_bindings: property1: ip: 192.168.0.1 name: string property2: ip: 192.168.0.1 name: string gateway: 192.168.0.1 ip_end: 192.168.0.1 ip_start: 192.168.0.1 servers: - 192.168.0.1 type: local property2: dns_servers: - 192.168.0.1 dns_suffix: - string fixed_bindings: property1: ip: 192.168.0.1 name: string property2: ip: 192.168.0.1 name: string gateway: 192.168.0.1 ip_end: 192.168.0.1 ip_start: 192.168.0.1 servers: - 192.168.0.1 type: local extra_routes: property1: via: 192.168.0.1 property2: via: 192.168.0.1 gateway_matching: enable: true rules: - additional_config_cmds: - set snmp community public name: string port_config: property1: ae_disable_lacp: true ae_idx: 0 aggregated: false critical: true description: string disable_autoneg: false duplex: auto dynamic_usage: string esilag: true mtu: 1514 no_local_overwrite: true poe_disabled: false speed: auto usage: string property2: ae_disable_lacp: true ae_idx: 0 aggregated: false critical: true description: string disable_autoneg: false duplex: auto dynamic_usage: string esilag: true mtu: 1514 no_local_overwrite: true poe_disabled: false speed: auto usage: string property1: string property2: string id: 497f6eca-6276-4993-bfeb-53dabbba6f08 ip_configs: property1: ip: 192.168.0.1 netmask: /24 property2: ip: 192.168.0.1 netmask: /24 modified_time: 0 name: string networks: - created_time: 0 disallow_mist_services: false gateway: 192.168.70.1 hosts: property1: external_ips: 172.16.10.32-172.16.10.35 ips: 192.168.70.32-192.168.70.35 property2: external_ips: 172.16.10.32-172.16.10.35 ips: 192.168.70.32-192.168.70.35 id: 497f6eca-6276-4993-bfeb-53dbbbba6f08 internal_access: enabled: true internet_access: create_simple_service_policy: false destination_nat: property1: internal_ip: 192.168.70.30 name: web server port: 443 property2: internal_ip: 192.168.70.30 name: web server port: 443 enabled: true restricted: false static_nat: property1: internal_ip: 192.168.70.3 name: printer-1 property2: internal_ip: 192.168.70.3 name: printer-1 isolation: true modified_time: 0 name: string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b subnet: 192.168.70.0/24 tenants: property1: addresses: string property2: addresses: string vlan_id: 0 vpn_access: property1: affinity: hub allow_ping: true destination_nat: property1: name: web server port: 443 to: 192.168.70.5/30 property2: name: web server port: 443 to: 192.168.70.5/30 nat_pool: 172.16.0.0/26 no_readvertise_to_lan_bgp: false no_readvertise_to_overlay: true routed: true source_nat: exteral_ip: 172.16.0.8/30 static_nat: property1: internal_ip: 192.168.70.3 name: pos-station-1 property2: internal_ip: 192.168.70.3 name: pos-station-1 summarized_subnet: 172.16.0.0/16 summarized_subnet_to_lan_bgp: 172.16.0.0/16 property2: affinity: hub allow_ping: true destination_nat: property1: name: web server port: 443 to: 192.168.70.5/30 property2: name: web server port: 443 to: 192.168.70.5/30 nat_pool: 172.16.0.0/26 no_readvertise_to_lan_bgp: false no_readvertise_to_overlay: true routed: true source_nat: exteral_ip: 172.16.0.8/30 static_nat: property1: internal_ip: 192.168.70.3 name: pos-station-1 property2: internal_ip: 192.168.70.3 name: pos-station-1 summarized_subnet: 172.16.0.0/16 summarized_subnet_to_lan_bgp: 172.16.0.0/16 - created_time: 0 disallow_mist_services: false gateway: 192.168.70.1 hosts: property1: external_ips: 172.16.10.32-172.16.10.35 ips: 192.168.70.32-192.168.70.35 property2: external_ips: 172.16.10.32-172.16.10.35 ips: 192.168.70.32-192.168.70.35 id: 497f6eca-6276-4993-bfeb-53dcbbba6f08 internal_access: enabled: true internet_access: create_simple_service_policy: false destination_nat: property1: internal_ip: 192.168.70.30 name: web server port: 443 property2: internal_ip: 192.168.70.30 name: web server port: 443 enabled: true restricted: false static_nat: property1: internal_ip: 192.168.70.3 name: printer-1 property2: internal_ip: 192.168.70.3 name: printer-1 isolation: true modified_time: 0 name: string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b subnet: 192.168.70.0/24 tenants: property1: addresses: string property2: addresses: string vlan_id: 0 vpn_access: property1: affinity: hub allow_ping: true destination_nat: property1: name: web server port: 443 to: 192.168.70.5/30 property2: name: web server port: 443 to: 192.168.70.5/30 nat_pool: 172.16.0.0/26 no_readvertise_to_lan_bgp: false no_readvertise_to_overlay: true routed: true source_nat: exteral_ip: 172.16.0.8/30 static_nat: property1: internal_ip: 192.168.70.3 name: pos-station-1 property2: internal_ip: 192.168.70.3 name: pos-station-1 summarized_subnet: 172.16.0.0/16 summarized_subnet_to_lan_bgp: 172.16.0.0/16 property2: affinity: hub allow_ping: true destination_nat: property1: name: web server port: 443 to: 192.168.70.5/30 property2: name: web server port: 443 to: 192.168.70.5/30 nat_pool: 172.16.0.0/26 no_readvertise_to_lan_bgp: false no_readvertise_to_overlay: true routed: true source_nat: exteral_ip: 172.16.0.8/30 static_nat: property1: internal_ip: 192.168.70.3 name: pos-station-1 property2: internal_ip: 192.168.70.3 name: pos-station-1 summarized_subnet: 172.16.0.0/16 summarized_subnet_to_lan_bgp: 172.16.0.0/16 oob_ip_config: dns: - string dns_suffix: - string gateway: string ip: string netmask: string network: string node1: ip: string netmask: string network: string type: dynamic use_mgmt_vrf: false use_mgmt_vrf_for_host_out: false vlan_id: 0 property1: ip: string netmask: string network: string type: dynamic property2: ip: string netmask: string network: string type: dynamic type: dynamic use_mgmt_vrf: false use_mgmt_vrf_for_host_out: false vlan_id: 0 org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b path_preferences: property1: paths: cost: 0 gateway_ip: string internet_access: false name: string networks: - string target_ips: - string type: local strategy: ordered property2: paths: cost: 0 gateway_ip: string internet_access: false name: string networks: - string target_ips: - string type: local strategy: ordered port_config: property1: description: string disable_autoneg: false dsl_config: ppoe_auth: none ppoe_password: string ppoe_username: string duplex: full ip_config: dns: - string dns_suffix: - string gateway: string ip: string netmask: string network: string poser_password: string ppoe_username: string pppoe_auth: none type: dhcp lte_apn: string lte_auth: none lte_backup: true lte_password: string lte_username: string mtu: 0 name: string networks: - string outer_vlan_id: 0 poe_disabled: false port_network: string preserve_dscp: true redundant: true reth_idx: 0 reth_node: string speed: 1g svr_port_range: 60000-60005 traffic_shaping: class_percentages: - 0 enabled: false usage: lan vlan_id: 10 vpn_paths: property1: bfd_profile: broadband bfd_udp_transform: false bfd_use_tunnel_mode: false role: spoke traffic_shaping: class_percentage: - 0 enabled: true max_tx_kbps: 0 property2: bfd_profile: broadband bfd_udp_transform: false bfd_use_tunnel_mode: false role: spoke traffic_shaping: class_percentage: - 0 enabled: true max_tx_kbps: 0 wan_ext_ip: string wan_source_nat: disabled: false nat_pool: 64.2.4.0/30 wan_type: broadband property2: description: string disable_autoneg: false dsl_config: ppoe_auth: none ppoe_password: string ppoe_username: string duplex: full ip_config: dns: - string dns_suffix: - string gateway: string ip: string netmask: string network: string poser_password: string ppoe_username: string pppoe_auth: none type: dhcp lte_apn: string lte_auth: none lte_backup: true lte_password: string lte_username: string mtu: 0 name: string networks: - string outer_vlan_id: 0 poe_disabled: false port_network: string preserve_dscp: true redundant: true reth_idx: 0 reth_node: string speed: 1g svr_port_range: 60000-60005 traffic_shaping: class_percentages: - 0 enabled: false usage: lan vlan_id: 150 vpn_paths: property1: bfd_profile: broadband bfd_udp_transform: false bfd_use_tunnel_mode: false role: spoke traffic_shaping: class_percentage: - 0 enabled: true max_tx_kbps: 0 property2: bfd_profile: broadband bfd_udp_transform: false bfd_use_tunnel_mode: false role: spoke traffic_shaping: class_percentage: - 0 enabled: true max_tx_kbps: 0 wan_ext_ip: string wan_source_nat: disabled: false nat_pool: 64.2.4.0/30 wan_type: broadband routing_policies: property1: terms: - action: accept: true add_community: - '65003:10' community: - '65003:10' exclude_as_path: - '65002' exclude_community: - '65003:10' export_communitites: - string local_preference: string prepend_as_path: - '65003' matching: as_path: - '65001' community: - '65001:2' network: - string prefix: - 192.168.0.0/16-30 protocol: - direct route_exists: route: 192.168.0.0/24 vrf_name: default vpn_neighbor_mac: - string vpn_path: - string vpn_path_sla: max_jitter: 0 max_latency: 1500 max_loss: 30 property2: terms: - action: accept: true add_community: - '65003:10' community: - '65003:10' exclude_as_path: - '65002' exclude_community: - '65003:10' export_communitites: - string local_preference: string prepend_as_path: - '65003' matching: as_path: - '65001' community: - '65001:2' network: - string prefix: - 192.168.0.0/16-30 protocol: - direct route_exists: route: 192.168.0.0/24 vrf_name: default vpn_neighbor_mac: - string vpn_path: - string vpn_path_sla: max_jitter: 0 max_latency: 1500 max_loss: 30 service_policies: - action: allow ewf: - alert_only: true block_message: Access to this URL Category has been blocked enabled: false profile: strict idp: alert_only: string enabled: false profile: strict local_routing: false name: string path_preferences: string servicepolicy_id: a4b81837-7a2f-46c1-bf27-dc8af6edd0a0 services: - string tenants: - string tunnel_configs: property1: auto_provision: enable: true latlng: lat: 37.295833 lng: -122.032946 primary: num_hosts: string wan_names: - wan0 region: auto secondary: num_hosts: string wan_names: - wan0 ike_lifetime: 0 ike_mode: main ike_proposals: - auth_algo: sha1 dh_group: '14' enc_algo: aes256 ipsec_lifetime: 0 ipsec_proposals: - auth_algo: sha1 dh_group: '14' enc_algo: aes256 local_id: string mode: active-standby primary: hosts: - string internal_ips: - string probe_ips: - string remote_ids: - string wan_names: - string probe: interval: 0 threshold: 0 timeout: 0 type: icmp protocol: ipsec provider: zscaler-ipsec psk: string secondary: hosts: - string internal_ips: - string probe_ips: - string remote_ids: - string wan_names: - string version: '2' property2: auto_provision: enable: true latlng: lat: 37.295833 lng: -122.032946 primary: num_hosts: string wan_names: - wan0 region: auto secondary: num_hosts: string wan_names: - wan0 ike_lifetime: 0 ike_mode: main ike_proposals: - auth_algo: sha1 dh_group: '14' enc_algo: aes256 ipsec_lifetime: 0 ipsec_proposals: - auth_algo: sha1 dh_group: '14' enc_algo: aes256 local_id: string mode: active-standby primary: hosts: - string internal_ips: - string probe_ips: - string remote_ids: - string wan_names: - string probe: interval: 0 threshold: 0 timeout: 0 type: icmp protocol: ipsec provider: zscaler-ipsec psk: string secondary: hosts: - string internal_ips: - string probe_ips: - string remote_ids: - string wan_names: - string version: '2' type: standalone schema: $ref: '#/components/schemas/deviceprofile' description: Request Body responses: '200': $ref: '#/components/responses/Deviceprofile' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgDeviceProfiles tags: - Orgs Device Profiles /api/v1/orgs/{org_id}/deviceprofiles/{deviceprofile_id}/assign: parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/deviceprofile_id' post: description: Assign Org Device Profile to Devices operationId: assignOrgDeviceProfile requestBody: content: application/json: examples: example-1: value: macs: - 5c5b350e0001 - 5c5b350e0003 schema: $ref: '#/components/schemas/mac_addresses' description: Request Body responses: '200': $ref: '#/components/responses/AssignSuccess' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: assignOrgDeviceProfile tags: - Orgs Device Profiles /api/v1/orgs/{org_id}/deviceprofiles/{deviceprofile_id}/unassign: parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/deviceprofile_id' post: description: Unassign Org Device Profile from Devices operationId: unassignOrgDeviceProfiles requestBody: content: application/json: examples: example-1: value: macs: - 5c5b350e0001 - 5c5b350e0003 schema: $ref: '#/components/schemas/mac_addresses' description: Request Body responses: '200': $ref: '#/components/responses/AssignSuccess' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: unassignOrgDeviceProfiles tags: - Orgs Device Profiles /api/v1/orgs/{org_id}/devices: get: description: Get List of Org Devices operationId: listOrgDevices responses: '200': $ref: '#/components/responses/OrgDevices' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgDevices tags: - Orgs Devices parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/devices/count: get: description: Count Org Devices operationId: countOrgDevices parameters: - in: query name: distinct 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 title: Org Devices count distinct 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' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countOrgDevices tags: - Orgs Devices parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/devices/events/count: get: description: Count Org Devices Events operationId: countOrgDeviceEvents parameters: - in: query name: distinct schema: default: model enum: - org_id - site_id - ap - apfw - model - text - timestamp - type title: Org Devices Events count distinct 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 - $ref: '#/components/parameters/device_event_type' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countOrgDeviceEvents tags: - Orgs Devices parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/devices/events/search: 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' responses: '200': $ref: '#/components/responses/DeviceEventsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchOrgDeviceEvents tags: - Orgs Devices parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/devices/last_config/count: 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: enum: - mac - version - name - site_id title: Org Devices Last Configs count distinct type: string - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countOrgDeviceLastConfigs tags: - Orgs Devices parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/devices/last_config/search: get: description: Search Device Last Configs operationId: searchOrgDeviceLastConfigs parameters: - in: query name: type schema: $ref: '#/components/schemas/device_type' - 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' responses: '200': $ref: '#/components/responses/ConfigsHistorySearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchOrgDeviceLastConfigs tags: - Orgs Devices parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/devices/radio_macs: 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. Each radio MAC can have 16 BSSIDs (enumerate the last octet from 0-F)' operationId: listOrgApsMacs parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/RadioMacs' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgApsMacs tags: - Orgs Devices parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/devices/search: 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' responses: '200': $ref: '#/components/responses/DevicesSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchOrgDevices tags: - Orgs Devices parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/devices/upgrade: get: description: Get List of Org multi devces upgrades operationId: listOrgMultiSitesDevicesUpgrades responses: '200': $ref: '#/components/responses/OrgDeviceUpgradeMulti' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgMultiSitesDevicesUpgrades tags: - Utilities Upgrade parameters: - $ref: '#/components/parameters/org_id' post: description: Upgrade Multiple Sites operationId: upgradeOrgMultiSitesDevices requestBody: content: application/json: schema: $ref: '#/components/schemas/device_upgrade_org_multi' responses: '200': $ref: '#/components/responses/Uuid' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: upgradeOrgMultiSitesDevices tags: - Utilities Upgrade /api/v1/orgs/{org_id}/devices/upgrade/{upgrade_id}: get: description: Get Multi Site Upgrade operationId: getOrgMultiSitesUpgrade responses: '200': $ref: '#/components/responses/OrgDeviceUpgrade' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgMultiSitesUpgrade tags: - Utilities Upgrade parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/upgrade_id' /api/v1/orgs/{org_id}/evpn_topologies: get: description: Get List of the existing Org EVPN topologies operationId: listOrgEvpnTopologies parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/EvpnTopologiesArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgEvpnTopologies 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\n\ 2. You can also use `core` / `distribution` to form a 2-tier EVPN topology\ \ where ESI-Lag is configured distribution to connect to access switches\n\ 3. 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\n\ For 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 requestBody: content: application/json: examples: Example: value: id: 9197ec96-4c8d-529f-c595-035895e688b2 name: CC pod_names: '1': default '2': default switches: - mac: 5c5b35000003 role: collapsed-core - mac: 5c5b35000004 role: collapsed-core schema: $ref: '#/components/schemas/junos_evpn_topology' responses: '200': $ref: '#/components/responses/EvpnTopology' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgEvpnTopology tags: - Orgs EVPN Topologies /api/v1/orgs/{org_id}/evpn_topologies/{evpn_topology_id}: delete: description: Delete the Org EVPN Topology operationId: deleteOrgEvpnTopology responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgEvpnTopology tags: - Orgs EVPN Topologies get: description: Get One EVPN Topology Detail operationId: getOrgEvpnTolopogy responses: '200': $ref: '#/components/responses/EvpnTopology' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: 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 requestBody: content: application/json: examples: example-1: value: overwrite: false switches: - mac: 5c5b35000003 role: collapsed-core - mac: 5c5b35000004 role: none schema: $ref: '#/components/schemas/junos_evpn_topology' responses: '200': $ref: '#/components/responses/EvpnTopology' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgEvpnTopology tags: - Orgs EVPN Topologies /api/v1/orgs/{org_id}/gatewaytemplates: get: description: Get List of Org Gateway Templates operationId: listOrgGatewayTemplates parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/GatewaytemplatesArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgGatewayTemplates tags: - Orgs Gateway Templates parameters: - $ref: '#/components/parameters/org_id' post: description: Create Org Gateway Template operationId: createOrgGatewayTemplate requestBody: content: application/json: examples: Example: value: additional_config_cmds: - set snmp community public bgp_config: property1: auth_key: string bfd_minimum_interval: 150 communities: - id: string local_preference: 0 vpn_name: string disable_bfd: false export: string export_policy: string graceful_restart_time: 0 hold_time: 90 import: string import_policy: string local_as: 0 neighbor_as: 0 neighbors: property1: export_policy: string hold_time: 90 import_policy: string multihop_ttl: 0 neighbor_as: 0 property2: export_policy: string hold_time: 90 import_policy: string multihop_ttl: 0 neighbor_as: 0 networks: - string type: internal via: lan vpn_name: string wan_name: string property2: auth_key: string bfd_minimum_interval: 150 communities: - id: string local_preference: 0 vpn_name: string disable_bfd: false export: string export_policy: string graceful_restart_time: 0 hold_time: 90 import: string import_policy: string local_as: 0 neighbor_as: 0 neighbors: property1: export_policy: string hold_time: 90 import_policy: string multihop_ttl: 0 neighbor_as: 0 property2: export_policy: string hold_time: 90 import_policy: string multihop_ttl: 0 neighbor_as: 0 networks: - string type: internal via: lan vpn_name: string wan_name: string created_time: 0 dhcpd_config: property1: dns_servers: - 192.168.0.1 dns_suffix: - string fixed_bindings: property1: ip: 192.168.0.1 name: string property2: ip: 192.168.0.1 name: string gateway: 192.168.0.1 ip_end: 192.168.0.1 ip_start: 192.168.0.1 servers: - 192.168.0.1 type: local property2: dns_servers: - 192.168.0.1 dns_suffix: - string fixed_bindings: property1: ip: 192.168.0.1 name: string property2: ip: 192.168.0.1 name: string gateway: 192.168.0.1 ip_end: 192.168.0.1 ip_start: 192.168.0.1 servers: - 192.168.0.1 type: local extra_routes: property1: via: 192.168.0.1 property2: via: 192.168.0.1 gateway_matching: enable: true rules: - additional_config_cmds: - set snmp community public name: string port_config: property1: ae_disable_lacp: true ae_idx: 0 aggregated: false critical: true description: string disable_autoneg: false duplex: auto dynamic_usage: string esilag: true mtu: 1514 no_local_overwrite: true poe_disabled: false speed: auto usage: string property2: ae_disable_lacp: true ae_idx: 0 aggregated: false critical: true description: string disable_autoneg: false duplex: auto dynamic_usage: string esilag: true mtu: 1514 no_local_overwrite: true poe_disabled: false speed: auto usage: string property1: string property2: string id: 497f6eca-6276-4993-bfeb-53cbbbba6f31 ip_configs: property1: ip: 192.168.0.1 netmask: /24 property2: ip: 192.168.0.1 netmask: /24 modified_time: 0 name: string networks: - created_time: 0 disallow_mist_services: false gateway: 192.168.70.1 hosts: property1: external_ips: 172.16.10.32-172.16.10.35 ips: 192.168.70.32-192.168.70.35 property2: external_ips: 172.16.10.32-172.16.10.35 ips: 192.168.70.32-192.168.70.35 id: 497f6eca-6276-4993-bfeb-53cbbbba6f32 internal_access: enabled: true internet_access: create_simple_service_policy: false destination_nat: property1: internal_ip: 192.168.70.30 name: web server port: 443 property2: internal_ip: 192.168.70.30 name: web server port: 443 enabled: true restricted: false static_nat: property1: internal_ip: 192.168.70.3 name: printer-1 property2: internal_ip: 192.168.70.3 name: printer-1 isolation: true modified_time: 0 name: string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b subnet: 192.168.70.0/24 tenants: property1: addresses: string property2: addresses: string vlan_id: 0 vpn_access: property1: allow_ping: true destination_nat: property1: name: web server port: 443 to: 192.168.70.5/30 property2: name: web server port: 443 to: 192.168.70.5/30 nat_pool: 172.16.0.0/26 routed: true source_nat: exteral_ip: 172.16.0.8/30 static_nat: property1: internal_ip: 192.168.70.3 name: pos-station-1 property2: internal_ip: 192.168.70.3 name: pos-station-1 summarized_subnet: 172.16.0.0/16 property2: allow_ping: true destination_nat: property1: name: web server port: 443 to: 192.168.70.5/30 property2: name: web server port: 443 to: 192.168.70.5/30 nat_pool: 172.16.0.0/26 routed: true source_nat: exteral_ip: 172.16.0.8/30 static_nat: property1: internal_ip: 192.168.70.3 name: pos-station-1 property2: internal_ip: 192.168.70.3 name: pos-station-1 summarized_subnet: 172.16.0.0/16 - created_time: 0 disallow_mist_services: false gateway: 192.168.70.1 hosts: property1: external_ips: 172.16.10.32-172.16.10.35 ips: 192.168.70.32-192.168.70.35 property2: external_ips: 172.16.10.32-172.16.10.35 ips: 192.168.70.32-192.168.70.35 id: 497f6eca-6276-4993-bfeb-53cbbbba6f33 internal_access: enabled: true internet_access: create_simple_service_policy: false destination_nat: property1: internal_ip: 192.168.70.30 name: web server port: 443 property2: internal_ip: 192.168.70.30 name: web server port: 443 enabled: true restricted: false static_nat: property1: internal_ip: 192.168.70.3 name: printer-1 property2: internal_ip: 192.168.70.3 name: printer-1 isolation: true modified_time: 0 name: string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b subnet: 192.168.70.0/24 tenants: property1: addresses: string property2: addresses: string vlan_id: 0 vpn_access: property1: allow_ping: true destination_nat: property1: name: web server port: 443 to: 192.168.70.5/30 property2: name: web server port: 443 to: 192.168.70.5/30 nat_pool: 172.16.0.0/26 routed: true source_nat: exteral_ip: 172.16.0.8/30 static_nat: property1: internal_ip: 192.168.70.3 name: pos-station-1 property2: internal_ip: 192.168.70.3 name: pos-station-1 summarized_subnet: 172.16.0.0/16 property2: allow_ping: true destination_nat: property1: name: web server port: 443 to: 192.168.70.5/30 property2: name: web server port: 443 to: 192.168.70.5/30 nat_pool: 172.16.0.0/26 routed: true source_nat: exteral_ip: 172.16.0.8/30 static_nat: property1: internal_ip: 192.168.70.3 name: pos-station-1 property2: internal_ip: 192.168.70.3 name: pos-station-1 summarized_subnet: 172.16.0.0/16 oob_ip_config: dns: - string dns_suffix: - string gateway: string ip: string netmask: string network: string node1: ip: string netmask: string network: string type: dynamic use_mgmt_vrf: false use_mgmt_vrf_for_host_out: false vlan_id: 0 property1: ip: string netmask: string network: string type: dynamic property2: ip: string netmask: string network: string type: dynamic type: dynamic use_mgmt_vrf: false use_mgmt_vrf_for_host_out: false vlan_id: 0 org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b path_preferences: property1: paths: cost: 0 gateway_ip: string internet_access: false name: string networks: - string target_ips: - string type: local strategy: ordered property2: paths: cost: 0 gateway_ip: string internet_access: false name: string networks: - string target_ips: - string type: local strategy: ordered port_config: property1: description: string disable_autoneg: false dsl_config: ppoe_auth: none ppoe_password: string ppoe_username: string duplex: full ip_config: dns: - string dns_suffix: - string gateway: string ip: string netmask: string network: string poser_password: string ppoe_username: string pppoe_auth: none type: dhcp lte_apn: string lte_auth: none lte_backup: true lte_password: string lte_username: string mtu: 0 name: string networks: - string outer_vlan_id: 0 poe_disabled: false port_network: string preserve_dscp: true redundant: true reth_idx: 0 reth_node: string speed: 1g svr_port_range: 60000-60005 traffic_shaping: class_percentages: - 0 enabled: false usage: lan vlan_id: 0 vpn_paths: property1: bfd_profile: broadband bfd_udp_transform: false role: spoke traffic_shaping: class_percentage: - 0 enabled: true max_tx_kbps: 0 property2: bfd_profile: broadband bfd_udp_transform: false role: spoke traffic_shaping: class_percentage: - 0 enabled: true max_tx_kbps: 0 wan_ext_ip: string wan_source_nat: disabled: false nat_pool: 64.2.4.0/30 wan_type: broadband property2: description: string disable_autoneg: false dsl_config: ppoe_auth: none ppoe_password: string ppoe_username: string duplex: full ip_config: dns: - string dns_suffix: - string gateway: string ip: string netmask: string network: string poser_password: string ppoe_username: string pppoe_auth: none type: dhcp lte_apn: string lte_auth: none lte_backup: true lte_password: string lte_username: string mtu: 0 name: string networks: - string outer_vlan_id: 0 poe_disabled: false port_network: string preserve_dscp: true redundant: true reth_idx: 0 reth_node: string speed: 1g svr_port_range: 60000-60005 traffic_shaping: class_percentages: - 0 enabled: false usage: lan vlan_id: 0 vpn_paths: property1: bfd_profile: broadband bfd_udp_transform: false role: spoke traffic_shaping: class_percentage: - 0 enabled: true max_tx_kbps: 0 property2: bfd_profile: broadband bfd_udp_transform: false role: spoke traffic_shaping: class_percentage: - 0 enabled: true max_tx_kbps: 0 wan_ext_ip: string wan_source_nat: disabled: false nat_pool: 64.2.4.0/30 wan_type: broadband routing_policies: property1: terms: - action: accept: true community: - '65003:10' exclude_as_path: - '65002' export_communitites: - string local_preference: string prepend_as_path: - '65003' summarize: 192.168.0.0/16 matching: as_path: - '65001' community: - '65001:2' network: - string prefix: - 192.168.0.0/16-30 protocol: - direct route_exists: route: 192.168.0.0/24 vrf_name: default vpn_name: - string vpn_path: - string property2: terms: - action: accept: true community: - '65003:10' exclude_as_path: - '65002' export_communitites: - string local_preference: string prepend_as_path: - '65003' summarize: 192.168.0.0/16 matching: as_path: - '65001' community: - '65001:2' network: - string prefix: - 192.168.0.0/16-30 protocol: - direct route_exists: route: 192.168.0.0/24 vrf_name: default vpn_name: - string vpn_path: - string service_policies: - action: allow ewf: - alert_only: true block_message: Access to this URL Category has been blocked enabled: false profile: strict idp: alert_only: string enabled: false profile: strict local_routing: false name: string path_preferences: string servicepolicy_id: a4b81837-7a2f-46c1-bf27-dc8af6edd0a0 services: - string tenants: - string tunnel_configs: property1: auto_provision: enable: true latlng: lat: 37.295833 lng: -122.032946 primary: num_hosts: string wan_names: - wan0 region: auto secondary: num_hosts: string wan_names: - wan0 ike_lifetime: 0 ike_mode: main ike_proposals: - auth_algo: sha1 dh_group: '14' enc_algo: aes256 ipsec_lifetime: 0 ipsec_proposals: - auth_algo: sha1 dh_group: '14' enc_algo: aes256 local_id: string mode: active-standby primary: hosts: - string internal_ips: - string probe_ips: - string remote_ids: - string wan_names: - string probe: interval: 0 threshold: 0 timeout: 0 type: icmp protocol: ipsec provider: zscaler-ipsec psk: string secondary: hosts: - string internal_ips: - string probe_ips: - string remote_ids: - string wan_names: - string version: '2' property2: auto_provision: enable: true latlng: lat: 37.295833 lng: -122.032946 primary: num_hosts: string wan_names: - wan0 region: auto secondary: num_hosts: string wan_names: - wan0 ike_lifetime: 0 ike_mode: main ike_proposals: - auth_algo: sha1 dh_group: '14' enc_algo: aes256 ipsec_lifetime: 0 ipsec_proposals: - auth_algo: sha1 dh_group: '14' enc_algo: aes256 local_id: string mode: active-standby primary: hosts: - string internal_ips: - string probe_ips: - string remote_ids: - string wan_names: - string probe: interval: 0 threshold: 0 timeout: 0 type: icmp protocol: ipsec provider: zscaler-ipsec psk: string secondary: hosts: - string internal_ips: - string probe_ips: - string remote_ids: - string wan_names: - string version: '2' type: standalone schema: $ref: '#/components/schemas/gateway_template' description: Gateway Template responses: '200': $ref: '#/components/responses/Gatewaytemplate' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgGatewayTemplate tags: - Orgs Gateway Templates /api/v1/orgs/{org_id}/gatewaytemplates/{gatewaytemplate_id}: delete: description: Delete Organization Gateway Template operationId: deleteOrgGatewayTemplate responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgGatewayTemplate tags: - Orgs Gateway Templates get: description: Get Organization Gateway Template details operationId: getOrgGatewayTemplate responses: '200': $ref: '#/components/responses/Gatewaytemplate' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgGatewayTemplate tags: - Orgs Gateway Templates parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/gatewaytemplate_id' put: description: Update Organization Gateway Template operationId: updateOrgGatewayTemplate requestBody: content: application/json: examples: Example: value: additional_config_cmds: - set snmp community public bgp_config: property1: auth_key: string bfd_minimum_interval: 150 communities: - id: string local_preference: 0 vpn_name: string disable_bfd: false export: string export_policy: string graceful_restart_time: 0 hold_time: 90 import: string import_policy: string local_as: 0 neighbor_as: 0 neighbors: property1: export_policy: string hold_time: 90 import_policy: string multihop_ttl: 0 neighbor_as: 0 property2: export_policy: string hold_time: 90 import_policy: string multihop_ttl: 0 neighbor_as: 0 networks: - string type: internal via: lan vpn_name: string wan_name: string property2: auth_key: string bfd_minimum_interval: 150 communities: - id: string local_preference: 0 vpn_name: string disable_bfd: false export: string export_policy: string graceful_restart_time: 0 hold_time: 90 import: string import_policy: string local_as: 0 neighbor_as: 0 neighbors: property1: export_policy: string hold_time: 90 import_policy: string multihop_ttl: 0 neighbor_as: 0 property2: export_policy: string hold_time: 90 import_policy: string multihop_ttl: 0 neighbor_as: 0 networks: - string type: internal via: lan vpn_name: string wan_name: string created_time: 0 dhcpd_config: property1: dns_servers: - 192.168.0.1 dns_suffix: - string fixed_bindings: property1: ip: 192.168.0.1 name: string property2: ip: 192.168.0.1 name: string gateway: 192.168.0.1 ip_end: 192.168.0.1 ip_start: 192.168.0.1 servers: - 192.168.0.1 type: local property2: dns_servers: - 192.168.0.1 dns_suffix: - string fixed_bindings: property1: ip: 192.168.0.1 name: string property2: ip: 192.168.0.1 name: string gateway: 192.168.0.1 ip_end: 192.168.0.1 ip_start: 192.168.0.1 servers: - 192.168.0.1 type: local extra_routes: property1: via: 192.168.0.1 property2: via: 192.168.0.1 gateway_matching: enable: true rules: - additional_config_cmds: - set snmp community public name: string port_config: property1: ae_disable_lacp: true ae_idx: 0 aggregated: false critical: true description: string disable_autoneg: false duplex: auto dynamic_usage: string esilag: true mtu: 1514 no_local_overwrite: true poe_disabled: false speed: auto usage: string property2: ae_disable_lacp: true ae_idx: 0 aggregated: false critical: true description: string disable_autoneg: false duplex: auto dynamic_usage: string esilag: true mtu: 1514 no_local_overwrite: true poe_disabled: false speed: auto usage: string property1: string property2: string id: 497f6eca-6276-4993-bfeb-53cbbbba6f34 ip_configs: property1: ip: 192.168.0.1 netmask: /24 property2: ip: 192.168.0.1 netmask: /24 modified_time: 0 name: string networks: - created_time: 0 disallow_mist_services: false gateway: 192.168.70.1 hosts: property1: external_ips: 172.16.10.32-172.16.10.35 ips: 192.168.70.32-192.168.70.35 property2: external_ips: 172.16.10.32-172.16.10.35 ips: 192.168.70.32-192.168.70.35 id: 497f6eca-6276-4993-bfeb-53cbbbba6f35 internal_access: enabled: true internet_access: create_simple_service_policy: false destination_nat: property1: internal_ip: 192.168.70.30 name: web server port: 443 property2: internal_ip: 192.168.70.30 name: web server port: 443 enabled: true restricted: false static_nat: property1: internal_ip: 192.168.70.3 name: printer-1 property2: internal_ip: 192.168.70.3 name: printer-1 isolation: true modified_time: 0 name: string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b subnet: 192.168.70.0/24 tenants: property1: addresses: string property2: addresses: string vlan_id: 0 vpn_access: property1: allow_ping: true destination_nat: property1: name: web server port: 443 to: 192.168.70.5/30 property2: name: web server port: 443 to: 192.168.70.5/30 nat_pool: 172.16.0.0/26 routed: true source_nat: exteral_ip: 172.16.0.8/30 static_nat: property1: internal_ip: 192.168.70.3 name: pos-station-1 property2: internal_ip: 192.168.70.3 name: pos-station-1 summarized_subnet: 172.16.0.0/16 property2: allow_ping: true destination_nat: property1: name: web server port: 443 to: 192.168.70.5/30 property2: name: web server port: 443 to: 192.168.70.5/30 nat_pool: 172.16.0.0/26 routed: true source_nat: exteral_ip: 172.16.0.8/30 static_nat: property1: internal_ip: 192.168.70.3 name: pos-station-1 property2: internal_ip: 192.168.70.3 name: pos-station-1 summarized_subnet: 172.16.0.0/16 - created_time: 0 disallow_mist_services: false gateway: 192.168.70.1 hosts: property1: external_ips: 172.16.10.32-172.16.10.35 ips: 192.168.70.32-192.168.70.35 property2: external_ips: 172.16.10.32-172.16.10.35 ips: 192.168.70.32-192.168.70.35 id: 497f6eca-6276-4993-bfeb-53cbbbba6f36 internal_access: enabled: true internet_access: create_simple_service_policy: false destination_nat: property1: internal_ip: 192.168.70.30 name: web server port: 443 property2: internal_ip: 192.168.70.30 name: web server port: 443 enabled: true restricted: false static_nat: property1: internal_ip: 192.168.70.3 name: printer-1 property2: internal_ip: 192.168.70.3 name: printer-1 isolation: true modified_time: 0 name: string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b subnet: 192.168.70.0/24 tenants: property1: addresses: string property2: addresses: string vlan_id: 0 vpn_access: property1: allow_ping: true destination_nat: property1: name: web server port: 443 to: 192.168.70.5/30 property2: name: web server port: 443 to: 192.168.70.5/30 nat_pool: 172.16.0.0/26 routed: true source_nat: exteral_ip: 172.16.0.8/30 static_nat: property1: internal_ip: 192.168.70.3 name: pos-station-1 property2: internal_ip: 192.168.70.3 name: pos-station-1 summarized_subnet: 172.16.0.0/16 property2: allow_ping: true destination_nat: property1: name: web server port: 443 to: 192.168.70.5/30 property2: name: web server port: 443 to: 192.168.70.5/30 nat_pool: 172.16.0.0/26 routed: true source_nat: exteral_ip: 172.16.0.8/30 static_nat: property1: internal_ip: 192.168.70.3 name: pos-station-1 property2: internal_ip: 192.168.70.3 name: pos-station-1 summarized_subnet: 172.16.0.0/16 oob_ip_config: dns: - string dns_suffix: - string gateway: string ip: string netmask: string network: string node1: ip: string netmask: string network: string type: dynamic use_mgmt_vrf: false use_mgmt_vrf_for_host_out: false vlan_id: 0 property1: ip: string netmask: string network: string type: dynamic property2: ip: string netmask: string network: string type: dynamic type: dynamic use_mgmt_vrf: false use_mgmt_vrf_for_host_out: false vlan_id: 0 org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b path_preferences: property1: paths: cost: 0 gateway_ip: string internet_access: false name: string networks: - string target_ips: - string type: local strategy: ordered property2: paths: cost: 0 gateway_ip: string internet_access: false name: string networks: - string target_ips: - string type: local strategy: ordered port_config: property1: description: string disable_autoneg: false dsl_config: ppoe_auth: none ppoe_password: string ppoe_username: string duplex: full ip_config: dns: - string dns_suffix: - string gateway: string ip: string netmask: string network: string poser_password: string ppoe_username: string pppoe_auth: none type: dhcp lte_apn: string lte_auth: none lte_backup: true lte_password: string lte_username: string mtu: 0 name: string networks: - string outer_vlan_id: 0 poe_disabled: false port_network: string preserve_dscp: true redundant: true reth_idx: 0 reth_node: string speed: 1g svr_port_range: 60000-60005 traffic_shaping: class_percentages: - 0 enabled: false usage: lan vlan_id: 0 vpn_paths: property1: bfd_profile: broadband bfd_udp_transform: false role: spoke traffic_shaping: class_percentage: - 0 enabled: true max_tx_kbps: 0 property2: bfd_profile: broadband bfd_udp_transform: false role: spoke traffic_shaping: class_percentage: - 0 enabled: true max_tx_kbps: 0 wan_ext_ip: string wan_source_nat: disabled: false nat_pool: 64.2.4.0/30 wan_type: broadband property2: description: string disable_autoneg: false dsl_config: ppoe_auth: none ppoe_password: string ppoe_username: string duplex: full ip_config: dns: - string dns_suffix: - string gateway: string ip: string netmask: string network: string poser_password: string ppoe_username: string pppoe_auth: none type: dhcp lte_apn: string lte_auth: none lte_backup: true lte_password: string lte_username: string mtu: 0 name: string networks: - string outer_vlan_id: 0 poe_disabled: false port_network: string preserve_dscp: true redundant: true reth_idx: 0 reth_node: string speed: 1g svr_port_range: 60000-60005 traffic_shaping: class_percentages: - 0 enabled: false usage: lan vlan_id: 0 vpn_paths: property1: bfd_profile: broadband bfd_udp_transform: false role: spoke traffic_shaping: class_percentage: - 0 enabled: true max_tx_kbps: 0 property2: bfd_profile: broadband bfd_udp_transform: false role: spoke traffic_shaping: class_percentage: - 0 enabled: true max_tx_kbps: 0 wan_ext_ip: string wan_source_nat: disabled: false nat_pool: 64.2.4.0/30 wan_type: broadband routing_policies: property1: terms: - action: accept: true community: - '65003:10' exclude_as_path: - '65002' export_communitites: - string local_preference: string prepend_as_path: - '65003' summarize: 192.168.0.0/16 matching: as_path: - '65001' community: - '65001:2' network: - string prefix: - 192.168.0.0/16-30 protocol: - direct route_exists: route: 192.168.0.0/24 vrf_name: default vpn_name: - string vpn_path: - string property2: terms: - action: accept: true community: - '65003:10' exclude_as_path: - '65002' export_communitites: - string local_preference: string prepend_as_path: - '65003' summarize: 192.168.0.0/16 matching: as_path: - '65001' community: - '65001:2' network: - string prefix: - 192.168.0.0/16-30 protocol: - direct route_exists: route: 192.168.0.0/24 vrf_name: default vpn_name: - string vpn_path: - string service_policies: - action: allow ewf: - alert_only: true block_message: Access to this URL Category has been blocked enabled: false profile: strict idp: alert_only: string enabled: false profile: strict local_routing: false name: string path_preferences: string servicepolicy_id: a4b81837-7a2f-46c1-bf27-dc8af6edd0a0 services: - string tenants: - string tunnel_configs: property1: auto_provision: enable: true latlng: lat: 37.295833 lng: -122.032946 primary: num_hosts: string wan_names: - wan0 region: auto secondary: num_hosts: string wan_names: - wan0 ike_lifetime: 0 ike_mode: main ike_proposals: - auth_algo: sha1 dh_group: '14' enc_algo: aes256 ipsec_lifetime: 0 ipsec_proposals: - auth_algo: sha1 dh_group: '14' enc_algo: aes256 local_id: string mode: active-standby primary: hosts: - string internal_ips: - string probe_ips: - string remote_ids: - string wan_names: - string probe: interval: 0 threshold: 0 timeout: 0 type: icmp protocol: ipsec provider: zscaler-ipsec psk: string secondary: hosts: - string internal_ips: - string probe_ips: - string remote_ids: - string wan_names: - string version: '2' property2: auto_provision: enable: true latlng: lat: 37.295833 lng: -122.032946 primary: num_hosts: string wan_names: - wan0 region: auto secondary: num_hosts: string wan_names: - wan0 ike_lifetime: 0 ike_mode: main ike_proposals: - auth_algo: sha1 dh_group: '14' enc_algo: aes256 ipsec_lifetime: 0 ipsec_proposals: - auth_algo: sha1 dh_group: '14' enc_algo: aes256 local_id: string mode: active-standby primary: hosts: - string internal_ips: - string probe_ips: - string remote_ids: - string wan_names: - string probe: interval: 0 threshold: 0 timeout: 0 type: icmp protocol: ipsec provider: zscaler-ipsec psk: string secondary: hosts: - string internal_ips: - string probe_ips: - string remote_ids: - string wan_names: - string version: '2' type: standalone schema: $ref: '#/components/schemas/gateway_template' description: Gateway Template responses: '200': $ref: '#/components/responses/Gatewaytemplate' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgGatewayTemplate tags: - Orgs Gateway Templates /api/v1/orgs/{org_id}/guests: get: description: Get List of Org Guest Authorizations operationId: listOrgGuestAuthorizations responses: '200': $ref: '#/components/responses/GuestsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgGuestAuthorizations tags: - Orgs Guests parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/guests/count: get: description: Count Org Authorized Guest operationId: countOrgGuestAuthorizations parameters: - in: query name: distinct schema: default: auth_method enum: - auth_method - ssid - company title: Org Guests count distinct type: string - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countOrgGuestAuthorizations tags: - Orgs Guests parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/guests/search: 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' responses: '200': $ref: '#/components/responses/GuestsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchOrgGuestAuthorization tags: - Orgs Guests parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/guests/{guest_mac}: delete: description: Delete Guest Authorization operationId: deleteOrgGuestAuthorization responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgGuestAuthorization tags: - Orgs Guests get: description: Get Guest Authorization operationId: getOrgGuestAuthorization responses: '200': $ref: '#/components/responses/Guest' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgGuestAuthorization tags: - Orgs Guests parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/guest_mac' put: description: Update Guest Authorization operationId: updateOrgGuestAuthorization requestBody: content: application/json: examples: Example: value: authorized: true authorized_expiring_time: 0 authorized_time: 0 company: string email: user@example.com field1: string field2: string field3: string field4: string mac: string minutes: 0 name: string schema: $ref: '#/components/schemas/guest' responses: '200': $ref: '#/components/responses/Guest' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgGuestAuthorization tags: - Orgs Guests /api/v1/orgs/{org_id}/idpprofiles: get: description: get the list of Org IDP Profiles operationId: listOrgIdpProfiles parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/IdpProfileArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgIdpProfiles tags: - Orgs IDP Profiles parameters: - $ref: '#/components/parameters/org_id' post: description: Create Org IDP Profile operationId: createOrgIdpProfile requestBody: content: application/json: examples: Example: value: base_profile: strict name: relaxed overwrites: - action: alert matching: attack_name: - HTTP:INVALID:HDR-FIELD dst_subnet: - 63.1.2.0/24 severity: - major schema: $ref: '#/components/schemas/idp_profile' responses: '200': $ref: '#/components/responses/IdpProfile' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgIdpProfile tags: - Orgs IDP Profiles /api/v1/orgs/{org_id}/idpprofiles/{idpprofile_id}: delete: description: Delete Org IDP Profile operationId: deleteOrgIdpProfile responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgIdpProfile tags: - Orgs IDP Profiles get: description: Get Org IDP Profile operationId: getOrgIdpProfile responses: '200': $ref: '#/components/responses/IdpProfile' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgIdpProfile tags: - Orgs IDP Profiles parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/idpprofile_id' put: description: Update Org IDP Profile operationId: updateOrgIdpProfile requestBody: content: application/json: examples: idpprofile: value: base_profile: strict name: relaxed overwrites: - action: alert matching: attack_name: - HTTP:INVALID:HDR-FIELD dst_subnet: - 63.1.2.0/24 severity: - major schema: $ref: '#/components/schemas/idp_profile' responses: '200': description: OK '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgIdpProfile tags: - Orgs IDP Profiles /api/v1/orgs/{org_id}/insights/sites-sle: get: description: Get Org Sites SLE operationId: getOrgSitesSle parameters: - in: query name: sle schema: enum: - wan - wired - wifi title: org_site_sle_type 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' responses: '200': $ref: '#/components/responses/OrgSiteSle' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgSitesSle tags: - Orgs SLEs parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/insights/{metric}: 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' responses: '200': $ref: '#/components/responses/InsightMetricOrg' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgSle tags: - Orgs SLEs parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/metric' /api/v1/orgs/{org_id}/inventory: 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 \n\ 2. 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 - 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' responses: '200': $ref: '#/components/responses/OrgInventory' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgInventory tags: - Orgs Inventory parameters: - $ref: '#/components/parameters/org_id' post: description: Add Device to Org Inventory with the device claim codes operationId: addOrgInventory requestBody: content: application/json: examples: example-1: value: - 6JG8E-PTFV2-A9Z2N - DVH4V-SNMSZ-PDXBR schema: $ref: '#/components/schemas/claim_codes' description: Request Body responses: '200': $ref: '#/components/responses/OrgInventoryAdd' '400': content: application/json: examples: example-1: value: {} schema: properties: {} type: object description: if none of the entries are valid '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: addOrgInventory tags: - Orgs Inventory put: description: Update Org Inventory operationId: updateOrgInventoryAssignment requestBody: content: application/json: examples: assign: value: disable_auto_config: false macs: - 5c5b350e0001 managed: false no_reassign: false op: assign site_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862b delete: value: macs: - 5c5b350e0001 op: delete serials: - FXLH2015150025 - FXLH2015150026 schema: $ref: '#/components/schemas/inventory_update' responses: '200': $ref: '#/components/responses/OrgInventoryChanges' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgInventoryAssignment tags: - Orgs Inventory /api/v1/orgs/{org_id}/inventory/create_ha_cluster: parameters: - $ref: '#/components/parameters/org_id' post: description: Create HA Cluster from unassigned Gateways operationId: createOrgGatewayHaCluster requestBody: content: application/json: examples: Example: value: disable_auto_config: true managed: true nodes: - mac: aff827549235 - mac: 8396cd006c8c site_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862b schema: $ref: '#/components/schemas/ha_cluster_config' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgGatewayHaCluster tags: - Orgs Devices - WAN Cluster /api/v1/orgs/{org_id}/inventory/delete_ha_cluster: parameters: - $ref: '#/components/parameters/org_id' post: description: 'Delete HA Cluster After HA cluster deleted, both of the nodes will be unassigned.' operationId: deleteOrgGatewayHaCluster requestBody: content: application/json: schema: $ref: '#/components/schemas/ha_cluster_delete' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgGatewayHaCluster tags: - Orgs Devices - WAN Cluster /api/v1/orgs/{org_id}/inventory/reevaluate_auto_assignment: parameters: - $ref: '#/components/parameters/org_id' post: description: Reevaluate Auto Assignment operationId: reevaluateOrgAutoAssignment responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: reevaluateOrgAutoAssignment tags: - Orgs Inventory /api/v1/orgs/{org_id}/inventory/replace: 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 requestBody: content: application/json: examples: example-1: value: discard: [] inventory_mac: 5c5b35000301 mac: 5c5b35000101 site_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862b schema: $ref: '#/components/schemas/replace_device' description: Request Body responses: '200': $ref: '#/components/responses/OrgInventoryChanges' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: replaceOrgDevices tags: - Orgs Inventory /api/v1/orgs/{org_id}/invites: 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 requestBody: content: application/json: examples: example-1: value: email: user@example.com first_name: string last_name: string privileges: - msp_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 msp_name: string name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 org_name: string orggroup_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 role: admin scope: org site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 sitegroup_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 schema: $ref: '#/components/schemas/admin' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: inviteOrgAdmin tags: - Orgs Admins /api/v1/orgs/{org_id}/invites/{invite_id}: delete: description: Delete Admin Invite operationId: uninviteOrgAdmin responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: uninviteOrgAdmin tags: - Orgs Admins parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/invite_id' put: description: Update Admin Invite operationId: updateOrgAdminInvite requestBody: content: application/json: examples: example-1: value: email: user@example.com first_name: string last_name: string privileges: - msp_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 msp_name: string name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 org_name: string orggroup_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 role: admin scope: org site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 sitegroup_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 schema: $ref: '#/components/schemas/admin' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgAdminInvite tags: - Orgs Admins /api/v1/orgs/{org_id}/jsi/devices: 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 responses: '200': $ref: '#/components/responses/JsiDevices' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgJsiDevices tags: - Orgs JSI parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/jsi/devices/outbound_ssh_cmd: get: description: Adopt JSI devices operationId: adoptOrgJsiDevice responses: '200': $ref: '#/components/responses/JunosRegisterCmd' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: adoptOrgJsiDevice tags: - Orgs JSI parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/jsi/devices/{device_mac}/shell: parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/device_mac' post: description: Create Shell Session operationId: createOrgJsiDeviceShellSession responses: '200': $ref: '#/components/responses/JsiShellSession' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgJsiDeviceShellSession tags: - Orgs JSI /api/v1/orgs/{org_id}/jsi/devices/{device_mac}/upgrade: parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/device_mac' post: description: Upgrade operationId: upgradeOrgJsiDevice requestBody: content: application/json: examples: example-1: value: version: 3.1.5 schema: $ref: '#/components/schemas/version' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: upgradeOrgJsiDevice tags: - Utilities Upgrade /api/v1/orgs/{org_id}/jsi/inventory: 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 responses: '200': $ref: '#/components/responses/JsiInventory' '400': $ref: '#/components/responses/JsiInventoryError' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgJsiPastPurchases tags: - Orgs JSI parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/licenses: get: description: Get the list of licenses operationId: getOrgLicencesSummary responses: '200': $ref: '#/components/responses/Licence' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: 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 requestBody: content: application/json: examples: annotate: value: notes: customer notes op: annotate subscription_id: SUB-000144 delete: value: op: delete subscription_id: SUB-0000144 move: value: dst_org_id: 3eff35f7-c218-894e-bca2-24e5325601cc op: amend quantity: 10 subscription_id: SUB-0000144 undo_move: value: amendment_id: 2b9116ab-cd1e-e897-6e08-31fccd88e792 op: unamend schema: $ref: '#/components/schemas/org_license_action' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: moveOrDeleteOrgLicenseToAnotherOrg tags: - Orgs Licenses /api/v1/orgs/{org_id}/licenses/usages: get: description: 'Get Licenses Usage by Sites This shows license usage (i.e. needed) based on the features enabled for the site.' operationId: getOrgLicencesBySite responses: '200': $ref: '#/components/responses/LicenceUsage' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgLicencesBySite tags: - Orgs Licenses parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/logs: 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' responses: '200': $ref: '#/components/responses/LogsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgLogs tags: - Orgs Logs parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/logs/count: get: description: Count by Distinct Attributes of Audit Logs operationId: countOrgLogs parameters: - in: query name: distinct schema: default: admin_name enum: - admin_id - admin_name - message - site_id title: Org Logs count distinct 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' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countOrgLogs tags: - Orgs Logs parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/maps/import: 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 ### CSV File Format ```csv Vendor AP name,Mist AP Mac US Office AP-2 - 5c:5b:35:00:00:02,5c5b35000002 ```' operationId: importOrgMaps requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/map_org_import_file' responses: '200': $ref: '#/components/responses/MapImport' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: importOrgMaps tags: - Orgs Maps /api/v1/orgs/{org_id}/mist_nac/test_idp: 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 requestBody: content: application/json: examples: Example: value: password: xxxxxx username: suriyas@juniper.net schema: $ref: '#/components/schemas/username_password' responses: '200': $ref: '#/components/responses/WebsocketSession' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: validateOrgIdpCredential tags: - Orgs NAC IDP /api/v1/orgs/{org_id}/mxclusters: get: description: Get List of Org MxEdge Clusters operationId: listOrgMxEdgeClusters parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/MxclustersArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgMxEdgeClusters tags: - Orgs MxClusters parameters: - $ref: '#/components/parameters/org_id' post: description: Create MxCluster operationId: createOrgMxEdgeCluster requestBody: content: application/json: examples: example-1: value: name: string radsec: enabled: true server_name: string servers: - host: string port: 0 tunterm_ap_subnets: - string tunterm_hosts: - string schema: $ref: '#/components/schemas/mxcluster' description: Request Body responses: '200': $ref: '#/components/responses/Mxcluster' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgMxEdgeCluster tags: - Orgs MxClusters /api/v1/orgs/{org_id}/mxclusters/{mxcluster_id}: delete: description: Delete Org MXEdge Cluster operationId: deleteOrgMxEdgeCluster responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgMxEdgeCluster tags: - Orgs MxClusters get: description: Get Org MxEdge Cluster Details operationId: getOrgMxEdgeCluster responses: '200': $ref: '#/components/responses/Mxcluster' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgMxEdgeCluster tags: - Orgs MxClusters parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/mxcluster_id' put: description: Update Org MxEdge Cluster operationId: updateOrgMxEdgeCluster requestBody: content: application/json: examples: example-1: value: name: string radsec: enabled: true server_name: string servers: - host: string port: 0 tunterm_ap_subnets: - string tunterm_hosts: - string schema: $ref: '#/components/schemas/mxcluster' description: Request Body responses: '200': $ref: '#/components/responses/Mxcluster' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgMxEdgeCluster tags: - Orgs MxClusters /api/v1/orgs/{org_id}/mxedges: 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' title: mxedge_for_site type: string - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page' responses: '200': $ref: '#/components/responses/MxedgesArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgMxEdges tags: - Orgs MxEdges parameters: - $ref: '#/components/parameters/org_id' post: description: Create MxEdge operationId: createOrgMxEdge requestBody: content: application/json: examples: example-1: value: model: ME-100 mxcluster_id: 572586b7-f97b-a22b-526c-8b97a3f609c4 mxedge_mgmt: {} name: Guest ntp_servers: [] oob_ip_config: {} services: - tunterm tunterm_ip_config: gateway: 10.2.1.254 ip: 10.2.1.1 netmask: 255.255.255.0 tunterm_port_config: downstream_ports: - '0' - '1' - '2' - '3' separate_upstream_downstream: true upstream_port_vlan_id: 1 upstream_ports: - '0' - '1' - '2' - '3' tunterm_switch_config: '0': port_vlan_id: 1 vlan_ids: - 5 - 2 - 3 enabled: true versions: mxagent: 2.4.194 tunterm: 0.1.928-1 schema: $ref: '#/components/schemas/mxedge' description: Request Body responses: '200': $ref: '#/components/responses/Mxedge' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgMxEdge tags: - Orgs MxEdges /api/v1/orgs/{org_id}/mxedges/assign: parameters: - $ref: '#/components/parameters/org_id' post: description: Assign Org MxEdge to Site operationId: assignOrgMxEdgeToSite requestBody: content: application/json: examples: example-1: value: mxedge_ids: - 387804a7-3474-85ce-15a2-f9a9684c9c90 site_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862b schema: $ref: '#/components/schemas/mxedges_assign' description: Request Body responses: '200': $ref: '#/components/responses/AssignSuccess' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: assignOrgMxEdgeToSite tags: - Orgs MxEdges /api/v1/orgs/{org_id}/mxedges/claim: 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 requestBody: content: application/json: examples: example-1: value: code: 135-546-673 schema: $ref: '#/components/schemas/code' description: Request Body responses: '200': $ref: '#/components/responses/ClaimMxedge' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: claimOrgMxEdge tags: - Orgs MxEdges /api/v1/orgs/{org_id}/mxedges/count: 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 title: Org MxEdge count distinct 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' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countOrgMxEdges tags: - Orgs MxEdges parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/mxedges/events/count: 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 title: Org Mx Edge events count distinct 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 - $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' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countOrgSiteMxEdgeEvents tags: - Orgs MxEdges parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/mxedges/events/search: 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' responses: '200': $ref: '#/components/responses/MxEdgeEventsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchOrgMistEdgeEvents tags: - Orgs MxEdges parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/mxedges/search: 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' responses: '200': $ref: '#/components/responses/MxEdgeSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchOrgMxEdges tags: - Orgs MxEdges parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/mxedges/unassign: parameters: - $ref: '#/components/parameters/org_id' post: description: Unassign Org MxEdge from Site operationId: unassignOrgMxEdgeFromSite requestBody: content: application/json: examples: example-1: value: mxedge_ids: - 387804a7-3474-85ce-15a2-f9a9684c9c90 schema: $ref: '#/components/schemas/mxedges_unassign' description: Request Body responses: '200': $ref: '#/components/responses/AssignSuccess' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: unassignOrgMxEdgeFromSite tags: - Orgs MxEdges /api/v1/orgs/{org_id}/mxedges/upgrade: get: description: Get List of Org Mist Edge Upgrades operationId: listOrgMxEdgeUpgrades responses: '200': $ref: '#/components/responses/MxEdgeUpgradesArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgMxEdgeUpgrades tags: - Utilities Upgrade parameters: - $ref: '#/components/parameters/org_id' post: description: Upgrade Mist Edges operationId: upgradeOrgMxEdges requestBody: content: application/json: examples: example-1: value: channel: stable mxedge_ids: - 387804a7-3474-85ce-15a2-f9a9684c9c90 versions: mxagent: current tunterm: default schema: $ref: '#/components/schemas/mxedge_upgrade_multi' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: upgradeOrgMxEdges tags: - Utilities Upgrade /api/v1/orgs/{org_id}/mxedges/upgrade/{upgrade_id}: get: description: Get Mist Edge Upgrade operationId: getOrgMxEdgeUpgrade responses: '200': $ref: '#/components/responses/MxEdgeUpgrade' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgMxEdgeUpgrade tags: - Utilities Upgrade parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/upgrade_id' /api/v1/orgs/{org_id}/mxedges/version: 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 responses: '200': $ref: '#/components/responses/MxedgeUpgradeInfo' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgMxEdgeUpgradeInfo tags: - Orgs MxEdges parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/mxedges/{mxedge_id}: delete: description: Delete Org MxEdge operationId: deleteOrgMxEdge responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgMxEdge tags: - Orgs MxEdges get: description: Get Org MxEdge details operationId: getOrgMxEdge responses: '200': $ref: '#/components/responses/Mxedge' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgMxEdge tags: - Orgs MxEdges parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/mxedge_id' put: description: Update Org MxEdge operationId: updateOrgMxEdge requestBody: content: application/json: examples: example-1: value: magic: string model: string mxcluster_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 name: string ntp_servers: - string services: - tunterm tunterm_ip_config: dns: - string dns_suffix: - string gateway: string ip: string netmask: string tunterm_port_config: downstream_ports: - string separate_upstream_downstream: true upstream_port_vlan_id: 1 upstream_ports: - string schema: $ref: '#/components/schemas/mxedge' description: Request Body responses: '200': $ref: '#/components/responses/Mxedge' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgMxEdge tags: - Orgs MxEdges /api/v1/orgs/{org_id}/mxedges/{mxedge_id}/image/{image_number}: delete: description: Remove MxEdge Image operationId: deleteOrgMxEdgeImage responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: 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 requestBody: content: application/json: schema: $ref: '#/components/schemas/image_import' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: addOrgMxEdgeImage tags: - Orgs MxEdges /api/v1/orgs/{org_id}/mxedges/{mxedge_id}/restart: 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 responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: restartOrgMxEdge tags: - Orgs MxEdges /api/v1/orgs/{org_id}/mxedges/{mxedge_id}/services/tunterm/bounce_port: parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/mxedge_id' post: description: Bounce TunTerm Data Ports operationId: bounceOrgMxEdgeDataPorts parameters: [] requestBody: content: application/json: examples: example-1: value: ports: - '0' - '2' example-2: value: hold_time: 0 ports: - string schema: $ref: '#/components/schemas/utils_tunterm_bounce_port' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: bounceOrgMxEdgeDataPorts tags: - Orgs MxEdges /api/v1/orgs/{org_id}/mxedges/{mxedge_id}/services/{name}/{action}: parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/mxedge_id' - in: path name: name required: true schema: enum: - tunterm - radsecproxy - mxagent - mxocproxy - mxdas title: mxedge_service_name type: string - description: restart or start or stop in: path name: action required: true schema: enum: - restart - start - stop title: mxedge_service_action type: string post: description: Control Services on a Mist Edge operationId: controlOrgMxEdgeServices responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: controlOrgMxEdgeServices tags: - Orgs MxEdges /api/v1/orgs/{org_id}/mxedges/{mxedge_id}/support: parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/mxedge_id' post: description: Support / Upload Mist Edge support files operationId: uploadOrgMxEdgeSupportFiles responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: uploadOrgMxEdgeSupportFiles tags: - Orgs MxEdges /api/v1/orgs/{org_id}/mxedges/{mxedge_id}/unregister: 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 responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: unregisterOrgMxEdge tags: - Orgs MxEdges /api/v1/orgs/{org_id}/mxtunnels: get: description: Get List of Org MxTunnels operationId: listOrgMxTunnels parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/MxtunnelsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgMxTunnels tags: - Orgs MxTunnels parameters: - $ref: '#/components/parameters/org_id' post: description: Create MxTunnel operationId: createOrgMxTunnel requestBody: content: application/json: examples: example-1: value: cluster_ids: - string created_time: 0 for_site: true hello_interval: 60 hello_retries: 7 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 ipsec: dns_servers: - string enabled: true extra_routes: - dest: string next_hop: 192.168.0.1 split_tunnel: true use_mxedge: true modified_time: 0 org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 vlan_ids: - 0 schema: $ref: '#/components/schemas/mxtunnel' description: Request Body responses: '200': $ref: '#/components/responses/Mxtunnel' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgMxTunnel tags: - Orgs MxTunnels /api/v1/orgs/{org_id}/mxtunnels/{mxtunnel_id}: delete: description: Delete Org MxTunnel operationId: deleteOrgMxTunnel responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgMxTunnel tags: - Orgs MxTunnels get: description: Get Org MxTunnel Details operationId: getOrgMxTunnel responses: '200': $ref: '#/components/responses/Mxtunnel' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgMxTunnel tags: - Orgs MxTunnels parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/mxtunnel_id' put: description: Update Org MxTunnel operationId: updateOrgMxTunnel requestBody: content: application/json: schema: $ref: '#/components/schemas/mxtunnel' description: Request Body responses: '200': $ref: '#/components/responses/Mxtunnel' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgMxTunnel tags: - Orgs MxTunnels /api/v1/orgs/{org_id}/nac_clients/count: 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 title: Org Nac Clients count distinct 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, \u201C\ denied, \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' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countOrgNacClients tags: - Orgs Clients - NAC parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/nac_clients/events/count: 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 title: Org Nac Client events count distinct type: string - $ref: '#/components/parameters/nac_event_type' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countOrgNacClientEvents tags: - Orgs Clients - NAC parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/nac_clients/events/search: 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 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: $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' responses: '200': $ref: '#/components/responses/EventsNacClientSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchOrgNacClientEvents tags: - Orgs Clients - NAC parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/nac_clients/search: 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, \u201C\ denied, \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' responses: '200': $ref: '#/components/responses/ClientNacSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchOrgNacClients tags: - Orgs Clients - NAC parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/nacportals: get: description: List Org NAC Portals operationId: "listOrg\u03BCNacPortals" parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/NacPortalArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgUserMacs tags: - Orgs NAC Portals parameters: - $ref: '#/components/parameters/org_id' post: description: Create Org NAC Portal operationId: createOrgNacPortal requestBody: content: application/json: schema: $ref: '#/components/schemas/nac_portal' responses: '200': $ref: '#/components/responses/NacPortal' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgNacPortal tags: - Orgs NAC Portals /api/v1/orgs/{org_id}/nacportals/{nacportal_id}: delete: description: Delete Org NAC Portal operationId: deleteOrgNacPortal responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgNacPortal tags: - Orgs NAC Portals get: description: Get Org NAC Portal operationId: getOrgNacPortal responses: '200': $ref: '#/components/responses/NacPortal' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgNacPortal tags: - Orgs NAC Portals parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/nacportal_id' put: description: Update Org NAC Portal operationId: updateOrgNacPortal requestBody: content: application/json: schema: $ref: '#/components/schemas/nac_portal' responses: '200': $ref: '#/components/responses/NacPortal' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgNacPortal tags: - Orgs NAC Portals /api/v1/orgs/{org_id}/nacportals/{nacportal_id}/failures: 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' responses: '200': $ref: '#/components/responses/SsoLatestFailures' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgNacPortalSsoLatestFailures tags: - Orgs NAC Portals parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/nacportal_id' /api/v1/orgs/{org_id}/nacportals/{nacportal_id}/saml_metadata: get: description: Get Org NAC Portal SSO SAML Metadata operationId: getOrgNacPortalSsoSamlMetadata responses: '200': $ref: '#/components/responses/SsoSamlMetadata' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgNacPortalSsoSamlMetadata tags: - Orgs NAC Portals parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/nacportal_id' /api/v1/orgs/{org_id}/nacportals/{nacportal_id}/saml_metadata.xml: 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 responses: '200': $ref: '#/components/responses/File' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: downloadOrgNacPortalSsoSamlMetadata tags: - Orgs NAC Portals parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/nacportal_id' /api/v1/orgs/{org_id}/nacrules: get: description: Get List of Org NAC Rules operationId: listOrgNacRules parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/NacRulesArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgNacRules tags: - Orgs NAC Rules parameters: - $ref: '#/components/parameters/org_id' post: description: create Org NAC Rule operationId: createOrgNacRule requestBody: content: application/json: examples: example-1: value: action: allow apply_tags: - c049dfcd-0c73-5014-1c64-062e9903f1e5" matching: auth_type: eap-tls nactags: - 041d5d36-716c-4cfb-4988-3857c6aa14a2 - a809a97f-d599-f812-eb8c-c3f84aabf6ba port_types: - wired site_ids: - bb19fc3e-4124-4b57-80d9-c3f6edce47c4 - bb19fc3e-6564-4b57-80d9-c3f6edce47c1 sitegroup_ids: - bb19fc3e-4124-4b57-80d9-c3f6edce47c4 - bb19fc3e-6564-4b57-80d9-c3f6edce47c1 name: name1 not_matching: {} order: 1 schema: $ref: '#/components/schemas/nac_rule' responses: '200': $ref: '#/components/responses/NacRule' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgNacRule tags: - Orgs NAC Rules /api/v1/orgs/{org_id}/nacrules/{nacrule_id}: delete: description: Delete Org NAC Rule operationId: deleteOrgNacRule responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgNacRule tags: - Orgs NAC Rules get: description: Get Org NAC Rule operationId: getOrgNacRule responses: '200': $ref: '#/components/responses/NacRule' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgNacRule tags: - Orgs NAC Rules parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/nacrule_id' put: description: Update Org NAC Rule operationId: updateOrgNacRule requestBody: content: application/json: schema: $ref: '#/components/schemas/nac_rule' responses: '200': $ref: '#/components/responses/NacRule' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgNacRule tags: - Orgs NAC Rules /api/v1/orgs/{org_id}/nactags: 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 - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/NacTagsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgNacTags tags: - Orgs NAC Tags parameters: - $ref: '#/components/parameters/org_id' post: description: Create Org NAC Tag operationId: createOrgNacTag requestBody: content: application/json: schema: $ref: '#/components/schemas/nac_tag' responses: '200': $ref: '#/components/responses/NacTag' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgNacTag tags: - Orgs NAC Tags /api/v1/orgs/{org_id}/nactags/{nactag_id}: delete: description: Delete Org NAC Tag operationId: deleteOrgNacTag responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgNacTag tags: - Orgs NAC Tags get: description: Get Org NAC Tag operationId: getOrgNacTag responses: '200': $ref: '#/components/responses/NacTag' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgNacTag tags: - Orgs NAC Tags parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/nactag_id' put: description: Update Org NAC Tag operationId: updateOrgNacTag requestBody: content: application/json: examples: {} schema: $ref: '#/components/schemas/nac_tag' responses: '200': $ref: '#/components/responses/NacTag' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgNacTag tags: - Orgs NAC Tags /api/v1/orgs/{org_id}/networks: get: description: Get List of Org Networks operationId: listOrgNetworks parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/NetworksArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgNetworks tags: - Orgs Networks parameters: - $ref: '#/components/parameters/org_id' post: description: Create Organization Network operationId: createOrgNetwork requestBody: content: application/json: examples: Example: value: created_time: 0 disallow_mist_services: false gateway: 192.168.70.1 hosts: property1: external_ips: 172.16.10.32-172.16.10.35 ips: 192.168.70.32-192.168.70.35 property2: external_ips: 172.16.10.32-172.16.10.35 ips: 192.168.70.32-192.168.70.35 id: 497f6eca-6276-4993-bfeb-53cbbbba6f37 internal_access: enabled: true internet_access: create_simple_service_policy: false destination_nat: property1: internal_ip: 192.168.70.30 name: web server port: 443 property2: internal_ip: 192.168.70.30 name: web server port: 443 enabled: true restricted: false static_nat: property1: internal_ip: 192.168.70.3 name: printer-1 property2: internal_ip: 192.168.70.3 name: printer-1 isolation: true modified_time: 0 name: string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b subnet: 192.168.70.0/24 tenants: property1: addresses: string property2: addresses: string vlan_id: 0 vpn_access: property1: allow_ping: true destination_nat: property1: name: web server port: 443 to: 192.168.70.5/30 property2: name: web server port: 443 to: 192.168.70.5/30 nat_pool: 172.16.0.0/26 routed: true source_nat: exteral_ip: 172.16.0.8/30 static_nat: property1: internal_ip: 192.168.70.3 name: pos-station-1 property2: internal_ip: 192.168.70.3 name: pos-station-1 summarized_subnet: 172.16.0.0/16 property2: allow_ping: true destination_nat: property1: name: web server port: 443 to: 192.168.70.5/30 property2: name: web server port: 443 to: 192.168.70.5/30 nat_pool: 172.16.0.0/26 routed: true source_nat: exteral_ip: 172.16.0.8/30 static_nat: property1: internal_ip: 192.168.70.3 name: pos-station-1 property2: internal_ip: 192.168.70.3 name: pos-station-1 summarized_subnet: 172.16.0.0/16 schema: $ref: '#/components/schemas/network' responses: '200': $ref: '#/components/responses/Network' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgNetwork tags: - Orgs Networks /api/v1/orgs/{org_id}/networks/{network_id}: delete: description: Delete Organization Network operationId: deleteOrgNetwork responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgNetwork tags: - Orgs Networks get: description: Get Organization Network Details operationId: getOrgNetwork responses: '200': $ref: '#/components/responses/Network' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgNetwork tags: - Orgs Networks parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/network_id' put: description: Update Organization Network operationId: updateOrgNetwork requestBody: content: application/json: examples: Example: value: created_time: 0 disallow_mist_services: false gateway: 192.168.70.1 hosts: property1: external_ips: 172.16.10.32-172.16.10.35 ips: 192.168.70.32-192.168.70.35 property2: external_ips: 172.16.10.32-172.16.10.35 ips: 192.168.70.32-192.168.70.35 id: 497f6eca-6276-4993-bfeb-53cbbbba6f38 internal_access: enabled: true internet_access: create_simple_service_policy: false destination_nat: property1: internal_ip: 192.168.70.30 name: web server port: 443 property2: internal_ip: 192.168.70.30 name: web server port: 443 enabled: true restricted: false static_nat: property1: internal_ip: 192.168.70.3 name: printer-1 property2: internal_ip: 192.168.70.3 name: printer-1 isolation: true modified_time: 0 name: string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b subnet: 192.168.70.0/24 tenants: property1: addresses: string property2: addresses: string vlan_id: 0 vpn_access: property1: allow_ping: true destination_nat: property1: name: web server port: 443 to: 192.168.70.5/30 property2: name: web server port: 443 to: 192.168.70.5/30 nat_pool: 172.16.0.0/26 routed: true source_nat: exteral_ip: 172.16.0.8/30 static_nat: property1: internal_ip: 192.168.70.3 name: pos-station-1 property2: internal_ip: 192.168.70.3 name: pos-station-1 summarized_subnet: 172.16.0.0/16 property2: allow_ping: true destination_nat: property1: name: web server port: 443 to: 192.168.70.5/30 property2: name: web server port: 443 to: 192.168.70.5/30 nat_pool: 172.16.0.0/26 routed: true source_nat: exteral_ip: 172.16.0.8/30 static_nat: property1: internal_ip: 192.168.70.3 name: pos-station-1 property2: internal_ip: 192.168.70.3 name: pos-station-1 summarized_subnet: 172.16.0.0/16 schema: $ref: '#/components/schemas/network' responses: '200': $ref: '#/components/responses/Network' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgNetwork tags: - Orgs Networks /api/v1/orgs/{org_id}/networktemplates: get: description: Get List of Org Network Templates operationId: listOrgNetworkTemplates parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/NetworktemplatesArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgNetworkTemplates tags: - Orgs Network Templates parameters: - $ref: '#/components/parameters/org_id' post: description: Update Org Network Templates operationId: createOrgNetworkTemplate requestBody: content: application/json: examples: Example: value: additional_config_cmds: - set snmp community public created_time: 0 dhcp_snooping: all_networks: true enable_arp_spoof_check: true enable_ip_source_guard: true enabled: true networks: - string dns_servers: - string dns_suffix: - string extra_routes: property1: via: string property2: via: string group_tags: {} id: 497f6eca-6276-4993-bfeb-53debbba6f08 import_org_networks: - ap mist_nac: enabled: true network: string modified_time: 0 name: string networks: property1: subnet: 192.168.1.0/24 vlan_id: 10 property2: subnet: 192.168.1.0/24 vlan_id: 10 ntp_servers: - string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b port_usages: dynamic: mode: dynamic reset_default_when: link_down rules: - equals: string equals_any: - string expression: string src: lldp_chassis_id usage: string property1: all_networks: false allow_dhcpd: true authentication_protocol: pap bypass_auth_when_server_down: true description: string disable_autoneg: false disabled: false duplex: auto enable_mac_auth: true enable_qos: true guest_network: string mac_auth_only: true mac_limit: 0 mode: access mtu: 0 networks: - string persist_mac: false poe_disabled: false port_auth: string port_network: string rejected_network: null speed: string storm_control: no_broadcast: false no_multicast: false no_registered_multicast: false no_unknown_unicast: false percentage: 80 stp_edge: true voip_network: string property2: all_networks: false allow_dhcpd: true authentication_protocol: pap bypass_auth_when_server_down: true description: string disable_autoneg: false disabled: false duplex: auto enable_mac_auth: true enable_qos: true guest_network: string mac_auth_only: true mac_limit: 0 mode: access mtu: 0 networks: - string persist_mac: false poe_disabled: false port_auth: string port_network: string rejected_network: null speed: string storm_control: no_broadcast: false no_multicast: false no_registered_multicast: false no_unknown_unicast: false percentage: 80 stp_edge: true voip_network: string radius_config: acct_interim_interval: 0 acct_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1813 secret: testing123 auth_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1812 secret: testing123 auth_servers_retries: 3 auth_servers_timeout: 5 coa_enabled: false coa_port: 3799 network: string source_ip: string remote_syslog: archive: files: 111 size: 5m console: contents: - facility: any severity: any enabled: false files: - archive: files: 10 size: 5m contents: - facility: any severity: any explicit_priority: true file: file-name match: '!alarm|ntp|errors.crc_error[chan]' structured_data: true network: string send_to_all_servers: true servers: - contents: - facility: any severity: any explicit_priority: true facility: any host: syslogd.internal match: '!alarm|ntp|errors.crc_error[chan]' port: 514 protocol: udp routing_instance: routing-instance-name severity: any source_address: string structured_data: true tag: string time_format: millisecond users: - contents: - facility: any severity: any match: '!alarm|ntp|errors.crc_error[chan]' user: '*' snmp_config: client_list: - client_list_name: clist-1 clients: - 151.140.101.218/32 contact: cns@juniper.net description: Juniper QFX Series Switch - 1K_5LA enabled: true engine_id: local location: Las Vegas, NV name: TGH-1K-QFX10K network: default trap_groups: - categories: - authentication group_name: profiler targets: - 172.29.158.19 version: v2 v2c_config: - authorization: read-only client_list_name: clist-1 community_name: abc123 view: all v3_config: notify: - name: string tag: string type: trap notify_filter: - contents: - include: true oid: 1.3.6.1.4.1 profile_name: string target_address: - address: address address_mask: address_mask port: 161 tag_list: string target_address_name: target_address_name target_parameters: string target_parameters: - message_processing_model: v1 name: string notify_filter: string security_level: authentication security_model: usm security_name: m01620 usm: engine-id: 00:00:00:0b:00:00:70:10:6f:08:b6:3f engine_type: remote_engine users: - authentication_password: strings authentication_type: authentication-md5 encryption_password: stringst encryption_type: privacy-aes128 name: string vacm: access: - group_name: string prefix_list: - context_prefix: iil notify_view: all read_view: all security_level: privacy security_model: any type: default_context_prefix write_view: all security_to_group: content: - group: string security_name: string security_model: usm views: include: true oid: 1.3.6.1 view_name: all switch_matching: enable: true rules: - additional_config_cmds: - set snmp community public match_role: string name: string port_config: property1: ae_disable_lacp: true ae_idx: 0 aggregated: false critical: true description: string disable_autoneg: false duplex: auto dynamic_usage: string esilag: true mtu: 1514 no_local_overwrite: true poe_disabled: false speed: auto usage: string property2: ae_disable_lacp: true ae_idx: 0 aggregated: false critical: true description: string disable_autoneg: false duplex: auto dynamic_usage: string esilag: true mtu: 1514 no_local_overwrite: true poe_disabled: false speed: auto usage: string property1: string property2: string switch_mgmt: ap_affinity_threshold: '10' config_revert_timer: 10 dhcp_option_fqdn: false mxedge_proxy_host: string mxedge_proxy_port: 2222 use_mxedge_proxy: false switch_mgmt: config_revert: 10 protect_re: enabled: false root_password: string tacacs: acct_servers: - host: 198.51.100.1 port: '49' secret: string timeout: 10 enabled: true network: string tacplus_servers: - host: 198.51.100.1 port: '49' secret: string timeout: 10 vrf_config: enabled: false vrf_instances: property1: extra_routes: property1: via: 192.0.2.10 property2: via: 198.51.100.1 networks: - string property2: extra_routes: property1: via: 198.51.100.1 property2: via: 198.51.100.10 networks: - string schema: $ref: '#/components/schemas/network_template' description: Request Body responses: '200': $ref: '#/components/responses/Networktemplate' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgNetworkTemplate tags: - Orgs Network Templates /api/v1/orgs/{org_id}/networktemplates/{networktemplate_id}: delete: description: Delete Org Network Template operationId: deleteOrgNetworkTemplate responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgNetworkTemplate tags: - Orgs Network Templates get: description: Get Org Network Templates Details operationId: getOrgNetworkTemplate responses: '200': content: application/json: schema: $ref: '#/components/schemas/network_template' description: OK '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: 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: [] requestBody: content: application/json: examples: Example: value: additional_config_cmds: - set snmp community public created_time: 0 dhcp_snooping: all_networks: true enable_arp_spoof_check: true enable_ip_source_guard: true enabled: true networks: - string dns_servers: - string dns_suffix: - string extra_routes: property1: via: string property2: via: string group_tags: {} id: 497f6eca-6276-4993-bfeb-53dfbbba6f08 import_org_networks: - ap mist_nac: enabled: true network: string modified_time: 0 name: string networks: property1: subnet: 192.168.1.0/24 vlan_id: 10 property2: subnet: 192.168.1.0/24 vlan_id: 10 ntp_servers: - string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b port_usages: dynamic: mode: dynamic reset_default_when: link_down rules: - equals: string equals_any: - string expression: string src: lldp_chassis_id usage: string property1: all_networks: false allow_dhcpd: true authentication_protocol: pap bypass_auth_when_server_down: true description: string disable_autoneg: false disabled: false duplex: auto enable_mac_auth: true enable_qos: true guest_network: string mac_auth_only: true mac_limit: 0 mode: access mtu: 0 networks: - string persist_mac: false poe_disabled: false port_auth: string port_network: string rejected_network: null speed: string storm_control: no_broadcast: false no_multicast: false no_registered_multicast: false no_unknown_unicast: false percentage: 80 stp_edge: true voip_network: string property2: all_networks: false allow_dhcpd: true authentication_protocol: pap bypass_auth_when_server_down: true description: string disable_autoneg: false disabled: false duplex: auto enable_mac_auth: true enable_qos: true guest_network: string mac_auth_only: true mac_limit: 0 mode: access mtu: 0 networks: - string persist_mac: false poe_disabled: false port_auth: string port_network: string rejected_network: null speed: string storm_control: no_broadcast: false no_multicast: false no_registered_multicast: false no_unknown_unicast: false percentage: 80 stp_edge: true voip_network: string radius_config: acct_interim_interval: 0 acct_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1813 secret: testing123 auth_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1812 secret: testing123 auth_servers_retries: 3 auth_servers_timeout: 5 coa_enabled: false coa_port: 3799 network: string source_ip: string remote_syslog: archive: files: 111 size: 5m console: contents: - facility: any severity: any enabled: false files: - archive: files: 10 size: 5m contents: - facility: any severity: any explicit_priority: true file: file-name match: '!alarm|ntp|errors.crc_error[chan]' structured_data: true network: string send_to_all_servers: true servers: - contents: - facility: any severity: any explicit_priority: true facility: any host: syslogd.internal match: '!alarm|ntp|errors.crc_error[chan]' port: 514 protocol: udp routing_instance: routing-instance-name severity: any source_address: string structured_data: true tag: string time_format: millisecond users: - contents: - facility: any severity: any match: '"!alarm|ntp|errors.crc_error[chan]"' user: '*' snmp_config: client_list: - client_list_name: clist-1 clients: - 151.140.101.218/32 contact: cns@juniper.net description: Juniper QFX Series Switch - 1K_5LA enabled: true engine_id: local location: Las Vegas, NV name: TGH-1K-QFX10K network: default trap_groups: - categories: - authentication group_name: profiler targets: - 172.29.158.19 version: v2 v2c_config: - authorization: read-only client_list_name: clist-1 community_name: abc123 view: all v3_config: notify: - name: string tag: string type: trap notify_filter: - contents: - include: true oid: 1.3.6.1.4.1 profile_name: string target_address: - address: address address_mask: address_mask port: 161 tag_list: string target_address_name: target_address_name target_parameters: string target_parameters: - message_processing_model: v1 name: string notify_filter: string security_level: authentication security_model: usm security_name: m01620 usm: engine-id: 00:00:00:0b:00:00:70:10:6f:08:b6:3f engine_type: remote_engine users: - authentication_password: strings authentication_type: authentication-md5 encryption_password: stringst encryption_type: privacy-aes128 name: string vacm: access: - group_name: string prefix_list: - context_prefix: iil notify_view: all read_view: all security_level: privacy security_model: any type: default_context_prefix write_view: all security_to_group: content: - group: string security_name: string security_model: usm views: include: true oid: 1.3.6.1 view_name: all switch_matching: enable: true rules: - additional_config_cmds: - set snmp community public match_role: string name: string port_config: property1: ae_disable_lacp: true ae_idx: 0 aggregated: false critical: true description: string disable_autoneg: false duplex: auto dynamic_usage: string esilag: true mtu: 1514 no_local_overwrite: true poe_disabled: false speed: auto usage: string property2: ae_disable_lacp: true ae_idx: 0 aggregated: false critical: true description: string disable_autoneg: false duplex: auto dynamic_usage: string esilag: true mtu: 1514 no_local_overwrite: true poe_disabled: false speed: auto usage: string property1: string property2: string switch_mgmt: ap_affinity_threshold: '10' config_revert_timer: 10 dhcp_option_fqdn: false mxedge_proxy_host: string mxedge_proxy_port: 2222 use_mxedge_proxy: false switch_mgmt: config_revert: 10 protect_re: enabled: false root_password: string tacacs: acct_servers: - host: 198.51.100.1 port: '49' secret: string timeout: 10 enabled: true network: string tacplus_servers: - host: 198.51.100.1 port: '49' secret: string timeout: 10 vrf_config: enabled: false vrf_instances: property1: extra_routes: property1: via: 198.51.100.1 property2: via: 198.51.100.2 networks: - string property2: extra_routes: property1: via: 198.51.100.1 property2: via: 198.51.100.2 networks: - string schema: $ref: '#/components/schemas/network_template' description: Request Body responses: '200': content: application/json: examples: Example: value: additional_config_cmds: - set snmp community public created_time: 0 dhcp_snooping: all_networks: true enable_arp_spoof_check: true enable_ip_source_guard: true enabled: true networks: - string dns_servers: - string dns_suffix: - string extra_routes: property1: via: string property2: via: string group_tags: {} id: 497f6eca-6276-4993-bfeb-53e0bbba6f08 import_org_networks: - ap mist_nac: enabled: true network: string modified_time: 0 name: string networks: property1: subnet: 192.168.1.0/24 vlan_id: 10 property2: subnet: 192.168.1.0/24 vlan_id: 10 ntp_servers: - string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b port_usages: dynamic: mode: dynamic reset_default_when: link_down rules: - equals: string equals_any: - string expression: string src: lldp_chassis_id usage: string property1: all_networks: false allow_dhcpd: true authentication_protocol: pap bypass_auth_when_server_down: true description: string disable_autoneg: false disabled: false duplex: auto enable_mac_auth: true enable_qos: true guest_network: string mac_auth_only: true mac_limit: 0 mode: access mtu: 0 networks: - string persist_mac: false poe_disabled: false port_auth: string port_network: string rejected_network: null speed: string storm_control: no_broadcast: false no_multicast: false no_registered_multicast: false no_unknown_unicast: false percentage: 80 stp_edge: true voip_network: string property2: all_networks: false allow_dhcpd: true authentication_protocol: pap bypass_auth_when_server_down: true description: string disable_autoneg: false disabled: false duplex: auto enable_mac_auth: true enable_qos: true guest_network: string mac_auth_only: true mac_limit: 0 mode: access mtu: 0 networks: - string persist_mac: false poe_disabled: false port_auth: string port_network: string rejected_network: null speed: string storm_control: no_broadcast: false no_multicast: false no_registered_multicast: false no_unknown_unicast: false percentage: 80 stp_edge: true voip_network: string radius_config: acct_interim_interval: 0 acct_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1813 secret: testing123 auth_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1812 secret: testing123 auth_servers_retries: 3 auth_servers_timeout: 5 coa_enabled: false coa_port: 3799 network: string source_ip: string remote_syslog: archive: files: 111 size: 5m console: contents: - facility: any severity: any enabled: false files: - archive: files: 10 size: 5m contents: - facility: any severity: any explicit_priority: true file: file-name match: '!alarm|ntp|errors.crc_error[chan]' structured_data: true network: string send_to_all_servers: true servers: - contents: - facility: any severity: any explicit_priority: true facility: any host: syslogd.internal match: '!alarm|ntp|errors.crc_error[chan]' port: 514 protocol: udp routing_instance: routing-instance-name severity: any source_address: string structured_data: true tag: string time_format: millisecond users: - contents: - facility: any severity: any match: '"!alarm|ntp|errors.crc_error[chan]"' user: '*' snmp_config: client_list: - client_list_name: clist-1 clients: - 151.140.101.218/32 contact: cns@juniper.net description: Juniper QFX Series Switch - 1K_5LA enabled: true engine_id: local location: Las Vegas, NV name: TGH-1K-QFX10K network: default trap_groups: - categories: - authentication group_name: profiler targets: - 172.29.158.19 version: v2 v2c_config: - authorization: read-only client_list_name: clist-1 community_name: abc123 view: all v3_config: notify: - name: string tag: string type: trap notify_filter: - contents: - include: true oid: 1.3.6.1.4.1 profile_name: string target_address: - address: address address_mask: address_mask port: 161 tag_list: string target_address_name: target_address_name target_parameters: string target_parameters: - message_processing_model: v1 name: string notify_filter: string security_level: authentication security_model: usm security_name: m01620 usm: engine-id: 00:00:00:0b:00:00:70:10:6f:08:b6:3f engine_type: remote_engine users: - authentication_password: strings authentication_type: authentication-md5 encryption_password: stringst encryption_type: privacy-aes128 name: string vacm: access: - group_name: string prefix_list: - context_prefix: iil notify_view: all read_view: all security_level: privacy security_model: any type: default_context_prefix write_view: all security_to_group: content: - group: string security_name: string security_model: usm views: include: true oid: 1.3.6.1 view_name: all switch_matching: enable: true rules: - additional_config_cmds: - set snmp community public match_role: string name: string port_config: property1: ae_disable_lacp: true ae_idx: 0 aggregated: false critical: true description: string disable_autoneg: false duplex: auto dynamic_usage: string esilag: true mtu: 1514 no_local_overwrite: true poe_disabled: false speed: auto usage: string property2: ae_disable_lacp: true ae_idx: 0 aggregated: false critical: true description: string disable_autoneg: false duplex: auto dynamic_usage: string esilag: true mtu: 1514 no_local_overwrite: true poe_disabled: false speed: auto usage: string property1: string property2: string switch_mgmt: ap_affinity_threshold: '10' config_revert_timer: 10 dhcp_option_fqdn: false mxedge_proxy_host: string mxedge_proxy_port: 2222 use_mxedge_proxy: false switch_mgmt: config_revert: 10 protect_re: enabled: false root_password: string tacacs: acct_servers: - host: 198.51.100.1 port: '49' secret: string timeout: 10 enabled: true network: string tacplus_servers: - host: 198.51.100.1 port: '49' secret: string timeout: 10 vrf_config: enabled: false vrf_instances: property1: extra_routes: property1: via: 198.51.100.1 property2: via: 198.51.100.2 networks: - string property2: extra_routes: property1: via: 198.51.100.1 property2: via: 198.51.100.2 networks: - string schema: $ref: '#/components/schemas/network_template' description: OK '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgNetworkTemplates tags: - Orgs Network Templates /api/v1/orgs/{org_id}/ocdevices/outbound_ssh_cmd: get: description: 'Get Org Juniper Devices command Juniper devices can be managed/adopted by Mist. Currently outbound-ssh + netconf is used. A 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 responses: '200': $ref: '#/components/responses/JunosRegisterCmd' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgJuniperDevicesCommand tags: - Orgs Devices parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/otherdevices: 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' responses: '200': $ref: '#/components/responses/DeviceOtherArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgOtherDevices tags: - Orgs Devices Others parameters: - $ref: '#/components/parameters/org_id' put: description: Assign or unassign OtherDevices to and from a site. operationId: updateOrgOtherDevices requestBody: content: application/json: examples: Example: value: device_mac: 0adfea67e65b macs: - 5c5b350e0001 - 5c5b350e0003 op: assign site_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862b schema: $ref: '#/components/schemas/other_device_update_multi' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgOtherDevices tags: - Orgs Devices Others /api/v1/orgs/{org_id}/otherdevices/events/count: get: description: Count Org OtherDevices Events operationId: countOrgOtherDeviceEvents parameters: - in: query name: distinct schema: default: mac enum: - mac - type - vendor - site_id title: Org Other Devices events count distinct type: string - $ref: '#/components/parameters/otherdevice_event_type' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countOrgOtherDeviceEvents tags: - Orgs Devices Others parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/otherdevices/events/search: 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' responses: '200': $ref: '#/components/responses/EventsOtherDevicesSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchOrgOtherDeviceEvents tags: - Orgs Devices Others parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/otherdevices/{device_mac}: delete: description: Delete OtherDevice operationId: deleteOrgOtherDevice responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgOtherDevice tags: - Orgs Devices Others get: description: Get Org other device (3rd party device) operationId: getOrgOtherDevice responses: '200': $ref: '#/components/responses/DeviceOther' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: 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 requestBody: content: application/json: examples: Example: value: device_mac: 0adfea67e65b site_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862b schema: $ref: '#/components/schemas/other_device_update' responses: '200': description: OK '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgOtherDevice tags: - Orgs Devices Others /api/v1/orgs/{org_id}/otherdevices/{device_mac}/reboot: parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/device_mac' post: description: Reboot OtherDevice operationId: rebootOrgOtherDevice requestBody: content: application/json: schema: properties: {} type: object responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: rebootOrgOtherDevice tags: - Orgs Devices Others /api/v1/orgs/{org_id}/pcaps: 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' responses: '200': $ref: '#/components/responses/PcapsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgPacketCaptures tags: - Utilities PCAPs parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/pcaps/capture: delete: description: Stop current Org capture operationId: stopOrgPacketCapture responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: stopOrgPacketCapture tags: - Utilities PCAPs get: description: Get Org Capturing status operationId: getOrgCapturingStatus responses: '200': $ref: '#/components/responses/PcapStatus' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: 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 requestBody: content: application/json: examples: MxEdge-Packet-Capture: value: duration: 600 format: stream max_pkt_len: 1500 mxedges: 00000000-0000-0000-1000-001122334455: interfaces: port1: tcpdump_expression: udp port 67 or udp port 68 num_packets: 100 tcpdump_expression: vlan 999 type: mxedge schema: $ref: '#/components/schemas/capture_org' description: Request Body responses: '200': $ref: '#/components/responses/PcapStart' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: startOrgPacketCapture tags: - Utilities PCAPs /api/v1/orgs/{org_id}/pma/dashboards: get: description: Get List of premium analytics dashboards for this Org operationId: listOrgPmaDashboards parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/PmaDashboards' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgPmaDashboards tags: - Orgs Premium Analytics parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/pskportals: get: description: Get List of Org Psk Portals operationId: listOrgPskPortals parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/PskPortalsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgPskPortals tags: - Orgs Psk Portals parameters: - $ref: '#/components/parameters/org_id' post: description: Create Org Psk Portal operationId: createOrgPskPortal requestBody: content: application/json: examples: example-1: value: auth: sso created_time: 0 expire: 0 id: string max_usage: 0 modified_time: 0 name: string org_id: 31f27122-68a9-47a4-b526-8fb8a62a8acb required_fields: - string role: string ssid: string sso: default_role: string forced_role: string idp_cert: string idp_sign_algo: string idp_sso_url: string issuer: string nameid_format: string sso_required_role: string template_url: string type: byod vlan_id: 0 schema: $ref: '#/components/schemas/psk_portal' responses: '200': $ref: '#/components/responses/PskPortal' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgPskPortal tags: - Orgs Psk Portals /api/v1/orgs/{org_id}/pskportals/logs: 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' responses: '200': $ref: '#/components/responses/PskPortalLogsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgPskPortalLogs tags: - Orgs Psk Portals parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/pskportals/logs/count: 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 title: Org Psk Portal logs count distinct type: string - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countOrgPskPortalLogs tags: - Orgs Psk Portals parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/pskportals/logs/search: 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 responses: '200': $ref: '#/components/responses/PskPortalLogsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchOrgPskPortalLogs tags: - Orgs Psk Portals parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/pskportals/{pskportal_id}: delete: description: Delete Org Psk Portal operationId: deleteOrgPskPortal responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgPskPortal tags: - Orgs Psk Portals get: description: get Org Psk Portal Details operationId: getOrgPskPortal responses: '200': $ref: '#/components/responses/PskPortal' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgPskPortal tags: - Orgs Psk Portals parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/pskportal_id' put: description: update Org Psk Portal operationId: updateOrgPskPortal requestBody: content: application/json: examples: example-1: value: auth: sso created_time: 0 expire: 0 id: string max_usage: 0 modified_time: 0 name: string org_id: 31f27122-68a9-47a4-b526-8fb8a62a8acb required_fields: - string role: string ssid: string sso: default_role: string forced_role: string idp_cert: string idp_sign_algo: string idp_sso_url: string issuer: string nameid_format: string sso_required_role: string template_url: string type: byod vlan_id: 0 schema: $ref: '#/components/schemas/psk_portal' responses: '200': $ref: '#/components/responses/PskPortal' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgPskPortal tags: - Orgs Psk Portals /api/v1/orgs/{org_id}/psks: 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' responses: '200': $ref: '#/components/responses/PsksArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgPsks 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 requestBody: content: application/json: schema: $ref: '#/components/schemas/psk' description: Request Body responses: '200': $ref: '#/components/responses/Psk' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgPsk tags: - Orgs Psks put: description: Update multi PSKs operationId: updateOrgMultiPsks requestBody: content: application/json: examples: example-1: value: - created_time: 0 expire_time: 1614990263 id: 426f6eca-6286-4993-bfeb-53cbbbba6f07 mac: string max_usage: 0 modified_time: 0 name: string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b passphrase: stringst site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 ssid: string usage: multi vlan_id: 0 schema: $ref: '#/components/schemas/psks' responses: '200': $ref: '#/components/responses/PsksArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgMultiPsks tags: - Orgs Psks /api/v1/orgs/{org_id}/psks/import: parameters: - $ref: '#/components/parameters/org_id' post: description: "Import PSK from CSV file or JSON\n\n##\_CSV File Format\n```\n\ PSK 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\n\ Common,warehouse,foryoureyesonly,single,35,a31425f31278,0,student,1618594236\n\ Justin,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 requestBody: content: application/json: schema: $ref: '#/components/schemas/psks' multipart/form-data: schema: $ref: '#/components/schemas/psks_import_file' responses: '200': $ref: '#/components/responses/PsksArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: importOrgPsks tags: - Orgs Psks /api/v1/orgs/{org_id}/psks/{psk_id}: delete: description: Delete Org PSK operationId: deleteOrgPsk responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgPsk tags: - Orgs Psks get: description: Get Org PSK Details operationId: getOrgPsk responses: '200': $ref: '#/components/responses/Psk' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgPsk tags: - Orgs Psks parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/psk_id' put: description: Update Org PSK operationId: updateOrgPsk requestBody: content: application/json: schema: $ref: '#/components/schemas/psk' description: Request Body responses: '200': $ref: '#/components/responses/Psk' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgPsk tags: - Orgs Psks /api/v1/orgs/{org_id}/psks/{psk_id}/delete_old_passphrase: 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 requestBody: content: application/json: schema: properties: {} type: object responses: '200': $ref: '#/components/responses/Psk' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgPskOldPassphrase tags: - Orgs Psks /api/v1/orgs/{org_id}/rftemplates: get: description: Get List of Org RF Template operationId: listOrgRfTemplates parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/RftemplatesArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgRfTemplates tags: - Orgs RF Templates parameters: - $ref: '#/components/parameters/org_id' post: description: Create Org RF Template operationId: createOrgRfTemplate requestBody: content: application/json: schema: $ref: '#/components/schemas/rf_template' description: Request Body responses: '200': $ref: '#/components/responses/Rftemplate' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgRfTemplate tags: - Orgs RF Templates /api/v1/orgs/{org_id}/rftemplates/{rftemplate_id}: delete: description: Delete Org RF Template operationId: deleteOrgRfTemplate responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgRfTemplate tags: - Orgs RF Templates get: description: Get Org RF Template Details operationId: getOrgRfTemplate responses: '200': $ref: '#/components/responses/Rftemplate' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgRfTemplate tags: - Orgs RF Templates parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/rftemplate_id' put: description: Update Org RF Template operationId: updateOrgRfTemplate requestBody: content: application/json: schema: $ref: '#/components/schemas/rf_template' description: Request Body responses: '200': $ref: '#/components/responses/Rftemplate' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgRfTemplate tags: - Orgs RF Templates /api/v1/orgs/{org_id}/sdkclients/{sdkclient_id}: parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/sdkclient_id' put: description: Update SDK Client operationId: updateSdkClient requestBody: content: application/json: examples: example-1: value: name: John Smith schema: $ref: '#/components/schemas/name' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateSdkClient tags: - Orgs SDK Clients /api/v1/orgs/{org_id}/sdkinvites: get: description: Get List of Org SDK Invites operationId: listSdkInvites responses: '200': $ref: '#/components/responses/SdkinvitesArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSdkInvites tags: - Orgs SDK Invites parameters: - $ref: '#/components/parameters/org_id' post: description: Create SDK Invite operationId: createSdkInvite requestBody: content: application/json: examples: example-1: value: enabled: true name: string quota: 0 quota_limited: true schema: $ref: '#/components/schemas/sdkinvite' description: Request Body responses: '200': $ref: '#/components/responses/Sdkinvite' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createSdkInvite tags: - Orgs SDK Invites /api/v1/orgs/{org_id}/sdkinvites/{sdkinvite_id}: delete: description: Revoke SDK Invite operationId: revokeSdkInvite responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: revokeSdkInvite tags: - Orgs SDK Invites get: description: Get SDK Invite Details operationId: getSdkInvite responses: '200': $ref: '#/components/responses/Sdkinvite' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSdkInvite tags: - Orgs SDK Invites parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/sdkinvite_id' put: description: Update SDK Invite operationId: updateSdkInvite requestBody: content: application/json: schema: $ref: '#/components/schemas/sdkinvite' description: Request Body responses: '200': $ref: '#/components/responses/Sdkinvite' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateSdkInvite tags: - Orgs SDK Invites /api/v1/orgs/{org_id}/sdkinvites/{sdkinvite_id}/email: parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/sdkinvite_id' post: description: Send SDK Invite by Email operationId: sendSdkInviteEmail requestBody: content: application/json: examples: example-1: value: email: test@abc.com schema: $ref: '#/components/schemas/email' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: sendSdkInviteEmail tags: - Orgs SDK Invites /api/v1/orgs/{org_id}/sdkinvites/{sdkinvite_id}/qrcode: get: description: Revoke SDK Invite operationId: getSdkInviteQrCode responses: '200': $ref: '#/components/responses/File' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSdkInviteQrCode tags: - Orgs SDK Invites parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/sdkinvite_id' /api/v1/orgs/{org_id}/sdkinvites/{sdkinvite_id}/sms: parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/sdkinvite_id' post: description: Send SDK Invite by SMS operationId: sendSdkInviteSms requestBody: content: application/json: examples: example-1: value: number: '14081234567' schema: $ref: '#/components/schemas/sdk_invite_sms' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: sendSdkInviteSms tags: - Orgs SDK Invites /api/v1/orgs/{org_id}/sdktemplates: get: description: Get List of Org SDK Templates operationId: listSdkTemplates responses: '200': $ref: '#/components/responses/SdktemplatesArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSdkTemplates tags: - Orgs SDK Templates parameters: - $ref: '#/components/parameters/org_id' post: description: Create SDK Template operationId: createSdkTemplate requestBody: content: application/json: schema: $ref: '#/components/schemas/sdktemplate' description: Request Body responses: '200': $ref: '#/components/responses/Sdktemplate' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createSdkTemplate tags: - Orgs SDK Templates /api/v1/orgs/{org_id}/sdktemplates/{sdktemplate_id}: delete: description: Delete SDK Template operationId: deleteSdkTemplate responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteSdkTemplate tags: - Orgs SDK Templates get: description: Get SDK Template Details operationId: getSdkTemplate responses: '200': $ref: '#/components/responses/Sdktemplate' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSdkTemplate tags: - Orgs SDK Templates parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/sdktemplate_id' put: description: Update SDK Template operationId: updateSdkTemplate requestBody: content: application/json: schema: $ref: '#/components/schemas/sdktemplate' description: Request Body responses: '200': $ref: '#/components/responses/Sdktemplate' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateSdkTemplate tags: - Orgs SDK Templates /api/v1/orgs/{org_id}/secpolicies: get: description: Get List of Org Security Policies operationId: listOrgSecPolicies parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/SecpoliciesArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgSecPolicies tags: - Orgs SecPolicies parameters: - $ref: '#/components/parameters/org_id' post: description: Create Org Security Policy operationId: createOrgSecPolicies requestBody: content: application/json: examples: Example: value: created_time: 0 id: 497f6eca-6276-4993-bfeb-53e1bbba6f08 modified_time: 0 name: string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 wlans: - acct_immediate_update: false acct_interim_interval: 0 acct_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1813 secret: testing123 airwatch: api_key: aHhlbGxvYXNkZmFzZGZhc2Rmc2RmCg==" console_url: https://hs1.airwatchportals.com enabled: true password: user1 username: test123 allow_ipv6_ndp: true allow_mdns: false allow_ssdp: false ap_ids: - 497f6eca-6276-4993-bfeb-53e2bbba6f08 app_limit: apps: dropbox: 300 netflix: 60 enabled: false wxtag_ids: f99862d9-2726-931f-7559-3dfdf5d070d3: 30 app_qos: apps: skype-business-video: dscp: 32 dst_subnet: 10.2.0.0/16 src_subnet: 10.2.0.0/16 enabled: true others: - dscp: 32 dst_subnet: 10.2.0.0/16 port_ranges: 80,1024-6553 protocol: udp src_subnet: 10.2.0.0/16 apply_to: site arp_filter: false auth: anticlog_threshold: 16 eap_reauth: false enable_mac_auth: false key_idx: 1 keys: - string multi_psk_only: false owe: string pairwise: - wpa2-ccmp private_wlan: true psk: foryoureyesonly type: psk wep_as_secondary_auth: true auth_server_selection: ordered auth_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1812 secret: testing123 auth_servers_nas_id: 5c5b350e0101-nas auth_servers_nas_ip: 15.3.1.5 auth_servers_retries: 5 auth_servers_timeout: 5 band: string band_steer: false band_steer_force_band5: false bands: - '24' - '5' block_blacklist_clients: false bonjour: additional_vlan_ids: - 0 enabled: false services: airplay: radius_groups: - teachers scope: same_ap cisco_cwa: allowed_hostnames: - snapchat.com allowed_subnets: - 63.5.3.0/24 blocked_subnets: - 192.168.0.0/16 enabled: false client_limit_down: 0 client_limit_down_enabled: false client_limit_up: 0 client_limit_up_enabled: false coa_servers: - disable_event_timestamp_check: false enabled: false ip: 1.2.3.4 port: 3799 secret: testing456 created_time: 0 disable_11ax: false disable_ht_vht_rates: false disable_uapsd: false disable_v1_roam_notify: false disable_v2_roam_notify: false disable_wmm: false dns_server_rewrite: enabled: false radius_groups: contractor: 172.1.1.1 guest: 8.8.8.8 dtim: 2 dynamic_psk: default_psk: foryoureyesonly default_vlan_id: 999 enabled: false source: cloud_psks vlan_ids: - 1 dynamic_vlan: default_vlan_id: 999 enabled: false local_vlan_ids: - 1 type: airespace-interface-name vlans: '131': default '322': fast,video enable_local_keycaching: false enable_wireless_bridging: false enabled: true fast_dot1x_timers: false for_site: true hide_ssid: false hostname_ie: false hotspot20: domain_name: - mist.com enabled: true nai_realms: - string operators: - google - att rcoi: - 5A03BA0000 venue_name: some_name id: 497f6eca-6276-4993-bfeb-53e3bbba6f08 interface: all isolation: false l2_isolation: false legacy_overds: false limit_bcast: false limit_probe_response: true max_idletime: 1800 mist_nac: enabled: false modified_time: 0 msp_id: c0cf23fc-d82f-4219-988c-82fb61d8c875 mxtunnel: {} mxtunnel_ids: - 08cd7499-5841-51c8-e663-fb16b6f3b45e mxtunnel_name: - default no_static_dns: false no_static_ip: false org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b portal: amazon_client_id: string amazon_client_secret: string amazon_email_domains: - string amazon_enabled: false auth: none azure_client_id: string azure_client_secret: string azure_enabled: false azure_tenant_id: string broadnet_password: password broadnet_sid: MIST broadnet_user_id: juniper bypass_when_cloud_down: false clickatell_api_key: string cross_site: false email_enabled: true enabled: false expire: 1440 external_portal_url: string facebook_client_id: string facebook_client_secret: string facebook_email_domains: - string facebook_enabled: false forward: false forward_url: http://abc.com/promotions google_client_id: string google_client_secret: string google_email_domains: - mydomain.edu - mydomain.org google_enabled: false gupshup_password: string gupshup_userid: string microsoft_client_id: string microsoft_client_secret: string microsoft_email_domains: - string microsoft_enabled: false passphrase_enabled: false password: let me in portal_allowed_hostnames: string portal_allowed_subnets: string portal_api_secret: string portal_denied_hostnames: string portal_image: https://url/to/image.png portal_sso_url: string predefined_sponsors_enabled: true privacy: true puzzel_password: string puzzel_service_id: string puzzel_username: string smsMessageFormat: string sms_enabled: false sms_provider: twilio sponsor_auto_approve: false sponsor_email_domains: - reserved.net - reserved.org sponsor_enabled: false sponsor_link_validity_duration: 30 sponsor_notify_all: false sponsor_status_notify: false sponsors: sponsor1@company.com: FirstName1 LastName1 sponsor2@company.com: FirstName2 LastName2 sso_default_role: string sso_forced_role: string sso_idp_cert: string sso_idp_sign_algo: string sso_idp_sso_url: string sso_issuer: string sso_nameid_format: email telstra_client_id: string telstra_client_secret: string thumbnail: string twilio_auth_token: af9dac44c344a875ab5d31cb7abcdefg twilio_phone_number: '+18548888888' twilio_sid: AC72ec6ba0ec5af30e6731c5e47abcdefgh portal_allowed_hostnames: - snapchat.com - ibm.com portal_allowed_subnets: - 63.5.3.0/24 portal_api_secret: EIfPMOykI3lMlDdNPub2WcbqT6dNOtWwmYHAd6bY portal_denied_hostnames: - msg.snapchat.com portal_image: http://example.com portal_sso_url: string portal_template_url: string qos: class: best_effort overwrite: false radsec: enabled: true idle_timeout: 60 mxcluster_ids: - 572586b7-f97b-a22b-526c-8b97a3f609c4 proxy_hosts: - mxedge1.local server_name: radsec.abc.com servers: - host: 1.1.1.1 port: 1812 use_mxedge: true use_site_mxedge: false rateset: '24': ht: 00ff00ff00ff legacy: - '6' - '9' - '12' - '18' - 24b - '36' - '48' - '54' min_rssi: -70 template: string vht: 03ff03ff03ff01ff '5': ht: 00ff00ff00ff legacy: - '6' - '9' - '12' - '18' - 24b - '36' - '48' - '54' min_rssi: -70 template: string vht: 03ff03ff03ff01ff roam_mode: none schedule: enabled: false hours: fri: 09:00-17:00 mon: 09:00-17:00 site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 sle_excluded: false ssid: corporate template_id: c6d67e98-83ea-49f0-8812-e4abae2b68bc thumbnail: http://example.com use_eapol_v1: false vlan_enabled: false vlan_id: 1 vlan_ids: - 3 - 4 - 5 vlan_pooling: false wlan_limit_down: 0 wlan_limit_down_enabled: false wlan_limit_up: 0 wlan_limit_up_enabled: false wxtag_ids: - 497f6eca-6276-4993-bfeb-53e4bbba6f08 wxtunnel_id: string wxtunnel_remote_id: string schema: $ref: '#/components/schemas/secpolicy' responses: '200': $ref: '#/components/responses/Secpolicy' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgSecPolicies tags: - Orgs SecPolicies /api/v1/orgs/{org_id}/secpolicies/{secpolicy_id}: delete: description: Delete Org Security Policy operationId: deleteOrgSecPolicy responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgSecPolicy tags: - Orgs SecPolicies get: description: Get Org Security Policy operationId: getOrgSecPolicy responses: '200': $ref: '#/components/responses/Secpolicy' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgSecPolicy tags: - Orgs SecPolicies parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/secpolicy_id' put: description: Update Org Security Policy operationId: updateOrgSecPolicies requestBody: content: application/json: schema: $ref: '#/components/schemas/secpolicy' description: Request Body responses: '200': $ref: '#/components/responses/Secpolicy' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgSecPolicies tags: - Orgs SecPolicies /api/v1/orgs/{org_id}/servicepolicies: get: description: Get List of Org Service Policies operationId: listOrgServicePolicies parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/ServicePoliciesArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgServicePolicies tags: - Orgs Service Policies parameters: - $ref: '#/components/parameters/org_id' post: description: Create Org Serrvice Policy operationId: createOrgServicePolicy requestBody: content: application/json: examples: example-1: value: action: allow name: string services: - string tenants: - string schema: $ref: '#/components/schemas/service_policy' responses: '200': $ref: '#/components/responses/ServicePolicy' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgServicePolicy tags: - Orgs Service Policies /api/v1/orgs/{org_id}/servicepolicies/{servicepolicy_id}: delete: description: Delete Org Service Policuy operationId: deleteOrgServicePolicy responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgServicePolicy tags: - Orgs Service Policies get: description: Get Org Service Policy Details operationId: getOrgServicePolicy responses: '200': $ref: '#/components/responses/ServicePolicy' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgServicePolicy tags: - Orgs Service Policies parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/servicepolicy_id' put: description: Update Org Serrvice Policy operationId: updateOrgServicePolicy requestBody: content: application/json: examples: example-1: value: action: allow name: string services: - string tenants: - string schema: $ref: '#/components/schemas/service_policy' responses: '200': $ref: '#/components/responses/ServicePolicy' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgServicePolicy tags: - Orgs Service Policies /api/v1/orgs/{org_id}/services: get: description: Get List of Org Services operationId: listOrgServices parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/ServicesArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgServices tags: - Orgs Services parameters: - $ref: '#/components/parameters/org_id' post: description: Create getOrgServices Service operationId: createOrgService requestBody: content: application/json: examples: example-1: value: app_key: string name: string network_id: d6797cf4-42b9-4cad-8591-9dd91c3f0fc3 specs: - address: string port: 0 protocol: any subnet: string type: custom schema: $ref: '#/components/schemas/service' responses: '200': $ref: '#/components/responses/Service' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgService tags: - Orgs Services /api/v1/orgs/{org_id}/services/{service_id}: delete: description: deleteOrgService operationId: deleteOrgService responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgService tags: - Orgs Services get: description: Get Org Service operationId: getOrgService responses: '200': $ref: '#/components/responses/Service' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgService tags: - Orgs Services parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/service_id' put: description: update Org Service operationId: updateOrgService requestBody: content: application/json: examples: example-1: value: addresses: - string app_caetgories: - string apps: - string dscp: 0 failover_policy: revertable hostnames: - string max_jitter: 0 max_latency: string max_loss: 0 name: string sle_enabled: false specs: - port_range: '0' protocol: any traffic_class: best_effort traffic_type: data_best_effort type: custom vpn_name: addresses schema: $ref: '#/components/schemas/service' responses: '200': $ref: '#/components/responses/Service' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgService tags: - Orgs Services /api/v1/orgs/{org_id}/setting: get: description: Get Org Settings operationId: getOrgSettings responses: '200': $ref: '#/components/responses/OrgSetting' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgSettings tags: - Orgs Setting parameters: - $ref: '#/components/parameters/org_id' put: description: Update Org Settings operationId: updateOrgSettings requestBody: content: application/json: schema: $ref: '#/components/schemas/org_setting' description: Request Body responses: '200': content: application/json: examples: example-1: value: auto_device_naming: enable: true rules: - expression: string model: string prefix: string src: name subnet: string suffix: string value: string auto_deviceprofile_assignment: enable: true rules: - expression: string model: string prefix: string src: name subnet: string suffix: string value: string auto_site_assignment: enable: true rules: - expression: string model: string prefix: string src: name subnet: string suffix: string value: string cacerts: - string cloudshark: apitoken: string url: string created_time: 0 device_cert: cert: string key: string disable_pcap: true id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 installer: allow_all_sites: true extra_site_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 grace_period: 0 mgmt: mxtunnel_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 use_mxtunnel: true use_wxtunnel: true modified_time: 0 msp_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 name: string password_policy: enabled: true freshness: 0 min_length: 8 requires_special_char: true requires_two_factor_auth: true pcap: bucket: string max_pkt_len: 0 pcap_bucket_verified: true remote_syslog: enabled: true send_to_all_servers: true servers: - facility: change-log host: string port: 0 protocol: udp severity: critical tag: string security: disable_local_ssh: true fips_zeroize_password: string limit_ssh_access: true tags: - string ui_idle_timeout: 0 schema: $ref: '#/components/schemas/org_setting' description: OK '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgSettings tags: - Orgs Setting /api/v1/orgs/{org_id}/setting/blacklist: delete: description: Delete Org Blacklist Station Clients operationId: deleteOrgWirelessClientsBlocklist responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: 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 requestBody: content: application/json: examples: example-1: value: macs: - 18-65-90-de-f4-c6 - 84-89-ad-5d-69-0d schema: $ref: '#/components/schemas/mac_addresses' description: Request Body responses: '200': $ref: '#/components/responses/MacsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgWirelessClientsBlocklist tags: - Orgs Setting /api/v1/orgs/{org_id}/setting/cradlepoint/setup: delete: description: This deletes the Cradlepoint integration in Mist operationId: deleteOrgCradlepointConnection responses: '200': description: OK '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgCradlepointConnection tags: - Orgs Cradlepoint parameters: - $ref: '#/components/parameters/org_id' post: description: This sets up cradlepoint webhooks to send events to Mist operationId: setupOrgCradlepointConnectionToMist requestBody: content: application/json: schema: $ref: '#/components/schemas/account_cradlepoint_config' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: setupOrgCradlepointConnectionToMist tags: - Orgs Cradlepoint put: description: This updates the Cradlepoint integration settings in Mist operationId: updateOrgCradlepointConnectionToMist requestBody: content: application/json: examples: Example: value: cp_api_id: 84446d61-2206-4ea5-855a-0043f980be54 cp_api_key: 79c329da9893e34099c7d8ad5cb9c941 ecm_api_id: 73446d61-2206-4ea5-855a-0043f980be62 ecm_api_key: 68b329da9893e34099c7d8ad5cb9c9405 schema: $ref: '#/components/schemas/account_cradlepoint_config' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgCradlepointConnectionToMist tags: - Orgs Cradlepoint /api/v1/orgs/{org_id}/setting/cradlepoint/sync: 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 responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: syncOrgCradlepointRouters tags: - Orgs Cradlepoint /api/v1/orgs/{org_id}/setting/jse/info: get: description: Retrieves the list of JSE orgs associated with the account. operationId: getOrgJseInfo responses: '200': $ref: '#/components/responses/JseInfo' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgJseInfo tags: - Orgs JSE parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/setting/jse/setup: delete: description: Delete JSE credential operationId: deleteOrgJsecCredential responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgJsecCredential tags: - Orgs JSE get: description: Get Org JSE Credential operationId: getOrgJsecCredential responses: '200': $ref: '#/components/responses/AccountJseInfo' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: 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 requestBody: content: application/json: examples: Example: value: cloud_name: devcentral.juniperclouds.net password: foryoureyesonly username: john@abc.com schema: $ref: '#/components/schemas/account_jse_config' responses: '200': $ref: '#/components/responses/AccountJseInfo' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: setupOrgJsecCredential tags: - Orgs JSE /api/v1/orgs/{org_id}/setting/juniper/link_accounts: parameters: - $ref: '#/components/parameters/org_id' post: description: Link Juniper Accounts operationId: linkOrgToJuniperJuniperAccount requestBody: content: application/json: examples: Example: value: password: password username: john@nmo.com schema: $ref: '#/components/schemas/account_juniper_config' responses: '200': $ref: '#/components/responses/JuniperLinkAccountSuccess' '400': $ref: '#/components/responses/JuniperLinkAccountFailed' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: linkOrgToJuniperJuniperAccount tags: - Orgs Linked Applications /api/v1/orgs/{org_id}/setting/juniper/unlink_account: delete: description: 'Unlink Juniper Customer ID `linked_by` field is only required if there are duplicate account_names.' operationId: unlinkOrgFromJuniperCustomerId requestBody: content: application/json: schema: $ref: '#/components/schemas/account_juniper_info' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: unlinkOrgFromJuniperCustomerId tags: - Orgs Linked Applications parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/setting/mist_nac_crls: get: description: Returns all uploaded CRL file IDs with names for the orgI operationId: getOrgNacCrl responses: '200': $ref: '#/components/responses/NacCrlFilesArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: 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 requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/org_crl_import_file' description: '' responses: '200': $ref: '#/components/responses/NacCrlFile' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: importOrgNacCrl tags: - Orgs NAC CRL /api/v1/orgs/{org_id}/setting/mist_nac_crls/{naccrl_id}: 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 responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgNacCrl tags: - Orgs NAC CRL parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/naccrl_id' /api/v1/orgs/{org_id}/setting/pcap_bucket/setup: 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 requestBody: content: application/json: examples: example-1: value: bucket: company-private-pcap schema: $ref: '#/components/schemas/pcap_bucket' description: Request Body responses: '200': $ref: '#/components/responses/PcapBucketConfig' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: setOrgCustomBucket tags: - Orgs Setting /api/v1/orgs/{org_id}/setting/pcap_bucket/verify: parameters: - $ref: '#/components/parameters/org_id' post: description: "Verify Customer PCAP Bucket\n\n**Note**: If successful, a \u201C\ VERIFIED\u201D file will be created in the bucket" operationId: verifyOrgCustomBucket requestBody: content: application/json: examples: example-1: value: bucket: company-private-pcap verify_token: eyJhbGciOiJIUzI1J9.eyJzdWIiOiIxMjM0joiMjgxOG5MDIyfQ.2rzcRvMA3Eg09NnjCAC-1EWMRtxAnFDM schema: $ref: '#/components/schemas/pcap_bucket_verify' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: verifyOrgCustomBucket tags: - Orgs Setting /api/v1/orgs/{org_id}/setting/zscaler/setup: delete: description: To delete Zscaler credential operationId: deleteOrgZscalerCredential responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgZscalerCredential tags: - Orgs Devices Zscaler get: description: To get Zscaler credential operationId: getOrgZscalerCredential responses: '200': $ref: '#/components/responses/ZscalerAccount' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgZscalerCredential tags: - Orgs Devices Zscaler parameters: - $ref: '#/components/parameters/org_id' post: description: To setup Zscaler credential operationId: setupOrgZscalerCredential requestBody: content: application/json: examples: Example: value: cloud_name: zscalerbeta.net parnter_key: K35vrZcK3JvrZc password: password username: john@nmo.com schema: $ref: '#/components/schemas/account_zscaler_config' description: '' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: setupOrgZscalerCredential tags: - Orgs Devices Zscaler /api/v1/orgs/{org_id}/setting/{app_name}/link_accounts: 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 responses: '200': $ref: '#/components/responses/OauthAppLink' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgOauthAppAuthorizationUrl tags: - Orgs Linked Applications parameters: - $ref: '#/components/parameters/org_id' - description: OAuth application name in: path name: app_name required: true schema: enum: - zoom - teams - intune - jamf - vmware title: oauth_app_name type: string post: description: Add Jamf, VMware Authorization With Mist Portal operationId: addOrgOauthAppAccounts requestBody: content: application/json: schema: $ref: '#/components/schemas/account_oauth_add' responses: '200': description: Successful '400': description: Unsuccessful '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: addOrgOauthAppAccounts tags: - Orgs Linked Applications put: description: 'Update Zoom, Teams, Intune Authorization. Request Payload, These Field And Values Will Be Specific To Each Of The Third Party Apps Accounts.' operationId: updateOrgOauthAppAccounts requestBody: content: application/json: examples: Example: value: account_id: iojzXIJWEuiD73ZvydOfg max_daily_api_requests: 5000 schema: $ref: '#/components/schemas/account_oauth_config' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgOauthAppAccounts tags: - Orgs Linked Applications /api/v1/orgs/{org_id}/setting/{app_name}/link_accounts/{account_id}: delete: description: Delete Org Level OAuth Application Authorization With Mist Portal operationId: deleteOrgOauthAppAuthorization responses: '200': description: Successful '400': description: Unsuccessful '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgOauthAppAuthorization tags: - Orgs Linked Applications parameters: - $ref: '#/components/parameters/org_id' - description: OAuth application name in: path name: app_name required: true schema: enum: - zoom - teams - intune - jamf - vmware title: account_oauth_app_name type: string - $ref: '#/components/parameters/account_id' /api/v1/orgs/{org_id}/sitegroups: get: description: Get List of Org Site Groups operationId: listOrgSiteGroups parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/SitegroupsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgSiteGroups tags: - Orgs Sitegroups parameters: - $ref: '#/components/parameters/org_id' post: description: Create Org Site Group operationId: createOrgSiteGroup requestBody: content: application/json: examples: example-1: value: name: string schema: $ref: '#/components/schemas/sitegroup' description: Request Body responses: '200': $ref: '#/components/responses/Sitegroup' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgSiteGroup tags: - Orgs Sitegroups /api/v1/orgs/{org_id}/sitegroups/{sitegroup_id}: delete: description: Delete Org Site Group operationId: deleteOrgSiteGroup responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgSiteGroup tags: - Orgs Sitegroups get: description: Get Org Site Group operationId: getOrgSiteGroup responses: '200': $ref: '#/components/responses/Sitegroup' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgSiteGroup tags: - Orgs Sitegroups parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/sitegroup_id' put: description: Update Org Site Group operationId: updateOrgSiteGroup requestBody: content: application/json: examples: example-1: value: name: string schema: $ref: '#/components/schemas/name' description: Request Body responses: '200': $ref: '#/components/responses/Sitegroup' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgSiteGroup tags: - Orgs Sitegroups /api/v1/orgs/{org_id}/sites: get: description: Get List of Org Sites operationId: listOrgSites parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page' responses: '200': $ref: '#/components/responses/SitesArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgSites tags: - Orgs Sites parameters: - $ref: '#/components/parameters/org_id' post: description: Create Org Site operationId: createOrgSite requestBody: content: application/json: examples: example-1: value: address: 1601 S. Deanza Blvd., Cupertino, CA, 95014 alarmtemplate_id: 684dfc5c-fe77-2290-eb1d-ef3d677fe168 apporttemplate_id: string aptemplate_id: 16bdf952-ade2-4491-80b0-85ce506c760b country_code: US gatewaytemplate_id: 6f9b2e75-9b2f-b5ae-81e3-e14c76f1a90f latlng: lat: 37.295833 lng: -122.032946 name: Mist Office networktemplate_id: 12ae9bd2-e0ab-107b-72e8-a7a005565ec2 notes: string rftemplate_id: bb8a9017-1e36-5d6c-6f2b-551abe8a76a2 secpolicy_id: 3bcd0beb-5d0a-4cbd-92c1-14aea91e98ef sitegroup_ids: - 497f6eca-6276-4997-bfeb-53cbbbba6f3b timezone: America/Los_Angeles schema: $ref: '#/components/schemas/site' description: Request Body responses: '200': $ref: '#/components/responses/Site' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgSite tags: - Orgs Sites /api/v1/orgs/{org_id}/sites/count: 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 title: Org Sites count distinct type: string - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countOrgSites tags: - Orgs Sites parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/sites/search: 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' responses: '200': $ref: '#/components/responses/SitesSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchOrgSites tags: - Orgs Sites parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/sites/{site_name}/maps/import: 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 #### Request ``` "json": a JSON string describing your upload "file": a binary file ```' operationId: importOrgMapToSite requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/map_site_import_file' description: 'a JSON string, site id required, vendor option: ekahau, ibwave, etc., import_all_floorplans: optional, default: false, import_height: optional, default: true, import_orientation: optional, default: true "file": a binary file, option: .esx "csv": a csv file for ap name mapping, optional' responses: '200': $ref: '#/components/responses/MapImport' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: importOrgMapToSite tags: - Orgs Maps /api/v1/orgs/{org_id}/sitetemplates: get: description: Get List of Org Site Templates operationId: listOrgSiteTemplates parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/SiteTemplatesArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgSiteTemplates tags: - Orgs Site Templates parameters: - $ref: '#/components/parameters/org_id' post: description: Create Org Site Template operationId: createOrgSiteTemplates requestBody: content: application/json: schema: $ref: '#/components/schemas/site_template' responses: '200': $ref: '#/components/responses/SiteTemplate' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgSiteTemplates tags: - Orgs Site Templates /api/v1/orgs/{org_id}/sitetemplates/{sitetemplate_id}: delete: description: Delete Org Site Template operationId: deleteOrgSiteTemplate responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgSiteTemplate tags: - Orgs Site Templates get: description: Get Org Site Template operationId: getOrgSiteTemplate responses: '200': $ref: '#/components/responses/SiteTemplate' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgSiteTemplate tags: - Orgs Site Templates parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/sitetemplate_id' put: description: Update Org Site Template operationId: updateOrgSiteTemplate requestBody: content: application/json: schema: $ref: '#/components/schemas/site_template' responses: '200': $ref: '#/components/responses/SiteTemplate' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgSiteTemplate tags: - Orgs Site Templates /api/v1/orgs/{org_id}/ssoroles: get: description: Get List of Org SSO Roles operationId: listOrgSsoRoles parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/SsoRolesMspArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgSsoRoles tags: - Orgs SSO Roles parameters: - $ref: '#/components/parameters/org_id' post: description: Create Org SSO Role operationId: createOrgSsoRole requestBody: content: application/json: examples: example-1: value: name: string privileges: - msp_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 msp_name: string name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 org_name: string orggroup_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 role: admin scope: org site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 sitegroup_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 schema: $ref: '#/components/schemas/sso_role_org' description: Request Body responses: '200': $ref: '#/components/responses/SsoRoleOrg' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgSsoRole tags: - Orgs SSO Roles /api/v1/orgs/{org_id}/ssoroles/{ssorole_id}: delete: description: Delete Org SSO Role operationId: deleteOrgSsoRole responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgSsoRole tags: - Orgs SSO Roles get: description: Get Org SSO Role Details operationId: getOrgSsoRole responses: '200': $ref: '#/components/responses/SsoRoleOrg' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgSsoRole tags: - Orgs SSO Roles parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/ssorole_id' put: description: Update Org SSO Role operationId: updateOrgSsoRole requestBody: content: application/json: examples: example-1: value: name: string privileges: - msp_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 msp_name: string name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 org_name: string orggroup_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 role: admin scope: org site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 sitegroup_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 schema: $ref: '#/components/schemas/sso_role_org' description: Request Body responses: '200': $ref: '#/components/responses/SsoRoleOrg' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgSsoRole tags: - Orgs SSO Roles /api/v1/orgs/{org_id}/ssos: get: description: Get List of Org SSO Configuration operationId: listOrgSsos parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/SsosArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgSsos tags: - Orgs SSO parameters: - $ref: '#/components/parameters/org_id' post: description: Create Org SSO Configuration operationId: createOrgSso requestBody: content: application/json: examples: example-1: value: custom_logout_url: string idp_cert: string idp_sign_algo: string idp_sso_url: string ignore_unmatched_roles: true issuer: string name: string nameid_format: email schema: $ref: '#/components/schemas/sso' description: Request Body responses: '200': $ref: '#/components/responses/Sso' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgSso tags: - Orgs SSO /api/v1/orgs/{org_id}/ssos/{sso_id}: delete: description: Delete Org SSO Configuration operationId: deleteOrgSso responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgSso tags: - Orgs SSO get: description: Get Org SSO Configuration Details operationId: getOrgSso responses: '200': $ref: '#/components/responses/Sso' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgSso tags: - Orgs SSO parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/sso_id' put: description: Update Org SSO Configuration operationId: updateOrgSso requestBody: content: application/json: schema: $ref: '#/components/schemas/sso' description: Request Body responses: '200': $ref: '#/components/responses/Sso' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgSso tags: - Orgs SSO /api/v1/orgs/{org_id}/ssos/{sso_id}/failures: 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' responses: '200': $ref: '#/components/responses/SsoLatestFailures' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgSsoLatestFailures tags: - Orgs SSO parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/sso_id' /api/v1/orgs/{org_id}/ssos/{sso_id}/metadata: get: description: Get Org SSO SAML Metadata operationId: getOrgSsoSamlMetadata responses: '200': $ref: '#/components/responses/SsoSamlMetadata' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgSsoSamlMetadata tags: - Orgs SSO parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/sso_id' /api/v1/orgs/{org_id}/ssos/{sso_id}/metadata.xml: 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 responses: '200': $ref: '#/components/responses/File' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: downloadOrgSsoSamlMetadata tags: - Orgs SSO parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/sso_id' /api/v1/orgs/{org_id}/ssr/upgrade: get: description: Get List of Org SSR Upgrades operationId: listOrgSsrUpgrades responses: '200': $ref: '#/components/responses/SsrUpgradesArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgSsrUpgrades tags: - Utilities Upgrade parameters: - $ref: '#/components/parameters/org_id' post: description: Upgrade Org SSRs operationId: upgradeOrgSsrs requestBody: content: application/json: examples: example-1: value: channel: stable device_ids: - 00000000-0000-0000-1000-5c5b3500001f - 00000000-0000-0000-1000-5c5b35000020 strategy: big_bang version: 5.3.0-93 schema: $ref: '#/components/schemas/ssr_upgrade_multi' responses: '200': $ref: '#/components/responses/SsrUpgrade' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: upgradeOrgSsrs tags: - Utilities Upgrade /api/v1/orgs/{org_id}/ssr/upgrade/{upgrade_id}/cancel: 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 requestBody: content: application/json: schema: properties: {} type: object responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: cancelOrgSsrUpgrade tags: - Utilities Upgrade /api/v1/orgs/{org_id}/ssr/versions: get: description: Get available version for SSR operationId: listOrgAvailableSsrVersions parameters: - in: query name: channel schema: type: string responses: '200': $ref: '#/components/responses/SsrVersions' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgAvailableSsrVersions tags: - Utilities Upgrade parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/stats: 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' responses: '200': $ref: '#/components/responses/OrgStats' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgStats tags: - Orgs Stats parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/stats/assets: 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' responses: '200': $ref: '#/components/responses/AssetsArrayStats' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgAssetsStats tags: - Orgs Stats parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/stats/assets/count: 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 title: Org Asset count distinct type: string responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countOrgAssetsByDistanceField tags: - Orgs Assets parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/stats/assets/search: 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' responses: '200': $ref: '#/components/responses/AssetsArrayStatsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchOrgAssets tags: - Orgs Assets parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/stats/bgp_peers/count: get: description: Count Org BGP Stats operationId: countOrgBgpStats responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countOrgBgpStats tags: - Orgs Devices Stats parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/stats/bgp_peers/search: get: description: Search Org BGP Stats operationId: searchOrgBgpStats responses: '200': $ref: '#/components/responses/BgpStatsArraySearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchOrgBgpStats tags: - Orgs Devices Stats parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/stats/devices: get: description: 'Get List of Org Devices stats This 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: default: all enum: - all - connected - disconnected title: device_status 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' responses: '200': $ref: '#/components/responses/DevicesArrayStatsOrg' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgDevicesStats tags: - Orgs Devices parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/stats/mxedges: 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 responses: '200': $ref: '#/components/responses/MxedgesArrayStats' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgMxEdgesStats tags: - Orgs Stats parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/stats/mxedges/{mxedge_id}: get: description: Get Org MxEdge Details Stats operationId: getOrgMxEdgeStats responses: '200': $ref: '#/components/responses/MxedgeStats' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgMxEdgeStats tags: - Orgs Stats parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/mxedge_id' /api/v1/orgs/{org_id}/stats/otherdevices/{device_mac}: get: description: Get Otherdevice Stats operationId: getOrgOtherDeviceStats responses: '200': $ref: '#/components/responses/DeviceOtherStats' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgOtherDeviceStats tags: - Orgs Devices Others parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/device_mac' /api/v1/orgs/{org_id}/stats/ports/search: 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. \u201C\ GigabitEthernet2/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' responses: '200': $ref: '#/components/responses/PortStatsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchOrgSwOrGwPorts tags: - Orgs Devices Stats parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/stats/switch_ports/count: get: description: Count by Distinct Attributes of Switch/Gateway Ports operationId: countOrgSwitchPorts parameters: - 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 title: Org Switch Port count distinct 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. \u201C\ GigabitEthernet2/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' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countOrgSwitchPorts tags: - Orgs Devices Stats parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/stats/tunnels/count: 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: default: wxtunnel_id enum: - auth_algo - wxtunnel_id - ap - remote_ip - remote_port - state - mxedge_id - mxcluster_id - site_id - peer_mxedge_id - mac - node - peer_ip - peer_host - ip - tunnel_name - protocol - encrypt_algo - ike_version - last_event - up title: Org Tunnel count distinct type: string - in: query name: type schema: default: wxtunnel enum: - wxtunnel - wan title: Org Tunnel type count type: string responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countOrgTunnelsStats tags: - Orgs Tunnels Stats parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/stats/tunnels/search: 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 title: tunnel_type type: string - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' responses: '200': $ref: '#/components/responses/TunnelsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchOrgTunnelsStats tags: - Orgs Tunnels Stats parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/stats/vpn_peers/count: get: description: Count Org Peer Path Statgs operationId: countOrgPeerPathStats parameters: - in: query name: distinct schema: title: Org VPN Peers count distinct type: string - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countOrgPeerPathStats tags: - Orgs VPNs parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/stats/vpn_peers/search: 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' responses: '200': $ref: '#/components/responses/VpnPeersStats' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchOrgPeerPathStats tags: - Orgs VPNs parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/subscriptions: delete: description: 'Unsubscribe from Org Alarms/Reports Subscriptions define how Org Alarms/Reports are delivered to whom' operationId: unsubscribeOrgAlarmsReports responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: unsubscribeOrgAlarmsReports tags: - Orgs Subscriptions parameters: - $ref: '#/components/parameters/org_id' post: description: 'Subscribe to Org Alarms/Reports Subscriptions define how Org Alarms/Reports are delivered to whom' operationId: subscribeOrgAlarmsReports responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: subscribeOrgAlarmsReports tags: - Orgs Subscriptions /api/v1/orgs/{org_id}/templates: get: description: Get List of Org WLAN Templates operationId: listOrgTemplates parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/TemplatesArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgTemplates tags: - Orgs WLAN Templates parameters: - $ref: '#/components/parameters/org_id' post: description: Create Org Template operationId: createOrgTemplate requestBody: content: application/json: schema: $ref: '#/components/schemas/template' description: Request Body responses: '200': $ref: '#/components/responses/Template' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgTemplate tags: - Orgs WLAN Templates /api/v1/orgs/{org_id}/templates/{template_id}: delete: description: Delete Org Template operationId: deleteOrgTemplate responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgTemplate tags: - Orgs WLAN Templates get: description: Get Org Template Details operationId: getOrgTemplate responses: '200': $ref: '#/components/responses/Template' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgTemplate tags: - Orgs WLAN Templates parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/template_id' put: description: Update Org Template operationId: updateOrgTemplate requestBody: content: application/json: schema: $ref: '#/components/schemas/template' description: Request Body responses: '200': $ref: '#/components/responses/Template' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgTemplate tags: - Orgs WLAN Templates /api/v1/orgs/{org_id}/templates/{template_id}/clone: parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/template_id' post: description: Clone Org Template operationId: cloneOrgTemplate requestBody: content: application/json: examples: example-1: value: name: Cloned schema: $ref: '#/components/schemas/name' description: Request Body responses: '200': $ref: '#/components/responses/Template' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: cloneOrgTemplate tags: - Orgs WLAN Templates /api/v1/orgs/{org_id}/tickets: get: description: Get List of Tickets of an Org operationId: listOrgTickets parameters: - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' responses: '200': $ref: '#/components/responses/TicketsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgTickets tags: - Orgs Tickets parameters: - $ref: '#/components/parameters/org_id' post: description: Create a support ticket operationId: createOrgTicket requestBody: content: application/json: examples: example-1: value: comment: string subject: string type: question schema: $ref: '#/components/schemas/ticket' description: Request Body responses: '200': $ref: '#/components/responses/Ticket' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgTicket tags: - Orgs Tickets /api/v1/orgs/{org_id}/tickets/count: get: description: Count Org Tickets operationId: countOrgTickets parameters: - in: query name: distinct schema: default: status enum: - status - type title: Org Tickets count distinct type: string responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countOrgTickets tags: - Orgs Tickets parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/tickets/{ticket_id}: get: description: Get support ticket details operationId: getOrgTicket parameters: - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' responses: '200': $ref: '#/components/responses/Ticket' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgTicket tags: - Orgs Tickets parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/ticket_id' put: description: Update support ticket operationId: updateOrgTicket requestBody: content: application/json: examples: example-1: value: comment: string subject: string type: question schema: $ref: '#/components/schemas/ticket' description: Request Body responses: '200': $ref: '#/components/responses/Ticket' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgTicket tags: - Orgs Tickets /api/v1/orgs/{org_id}/tickets/{ticket_id}/comments: parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/ticket_id' post: description: Add Comment to support ticket operationId: addOrgTicketComment requestBody: content: application/json: schema: $ref: '#/components/schemas/ticket_comment' multipart/form-data: schema: $ref: '#/components/schemas/ticket_comment_import_file' description: Request Body responses: '200': $ref: '#/components/responses/Ticket' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: addOrgTicketComment tags: - Orgs Tickets /api/v1/orgs/{org_id}/troubleshoot: get: description: 'Troubleshoot sites, devices, clients, and wired clients. See search APIs for device information: - [search Device](/#operation/searchOrgDevices) - [search Wireless Client](/#operation/searchOrgWirelessClients) - [search Wired Client](/#operation/searchOrgWiredClients) - [search Wan Client](/#operation/searchOrgWanClients) **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 title: troubleshoot_type type: string responses: '200': $ref: '#/components/responses/Troubleshoot' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: troubleshootOrg tags: - Orgs Marvis parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/usermacs: get: description: List Org User MACs operationId: listOrgUserMacs parameters: - in: query name: blacklisted schema: type: boolean - in: query name: for schema: type: boolean - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/UserMacArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgUserMacs tags: - Orgs User MACs parameters: - $ref: '#/components/parameters/org_id' post: description: Create Org User MACs operationId: createOrgUserMacs requestBody: content: application/json: schema: $ref: '#/components/schemas/user_mac' responses: '200': $ref: '#/components/responses/UserMac' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgUserMacs tags: - Orgs User MACs /api/v1/orgs/{org_id}/usermacs/delete: delete: description: Delete Org User MACs operationId: deleteOrgUserMacs requestBody: content: application/json: schema: example: - 5684dae9ac8b items: type: string type: array responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgUserMacs tags: - Orgs User MACs parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/usermacs/import: delete: description: Import Org User MACs operationId: importOrgUserMacs requestBody: content: application/octet-stream: schema: $ref: '#/components/schemas/binary_stream' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: importOrgUserMacs tags: - Orgs User MACs parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/vars/search: get: description: 'Search vars Example: /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 title: var_source type: string - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page' responses: '200': $ref: '#/components/responses/SearchVar' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchOrgVars tags: - Orgs Vars parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/vpns: get: description: Get List of Org VPNs operationId: listOrgsVpns parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/VpnsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgsVpns tags: - Orgs VPNs parameters: - $ref: '#/components/parameters/org_id' post: description: Create Org VPN operationId: createOrgVpns requestBody: content: application/json: examples: example-1: value: name: string paths: property1: bfd_profile: broadband ip: string property2: bfd_profile: lte ip: string schema: $ref: '#/components/schemas/vpn' responses: '200': $ref: '#/components/responses/Vpn' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgVpns tags: - Orgs VPNs /api/v1/orgs/{org_id}/vpns/{vpn_id}: delete: description: delete Org Vpn operationId: deleteOrgVpn responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgVpn tags: - Orgs VPNs get: description: getOrgVpn operationId: getOrgVpn responses: '200': $ref: '#/components/responses/Vpn' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgVpn tags: - Orgs VPNs parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/vpn_id' put: description: update Org Vpn operationId: updateOrgVpn requestBody: content: application/json: examples: example-1: value: name: string paths: property1: bfd_profile: broadband ip: string property2: bfd_profile: broadband ip: string schema: $ref: '#/components/schemas/vpn' responses: '200': $ref: '#/components/responses/Vpn' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgVpn tags: - Orgs VPNs /api/v1/orgs/{org_id}/wan_client/events/count: get: description: Count by Distinct Attributes of Org WAN Client-Events operationId: countOrgWanClientEvents parameters: - in: query name: distinct schema: default: type enum: - type - hostname - ip - mfg - mac title: Org Wan Clients events count distinct type: string - $ref: '#/components/parameters/client_event_type' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countOrgWanClientEvents tags: - Orgs Clients - Wan parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/wan_clients/count: get: description: Count Org WAN Clients operationId: countOrgWanClients parameters: - in: query name: distinct schema: default: mac enum: - hostname - ip - mfg - mac title: Org Wan Clients count distinct type: string - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countOrgWanClients tags: - Orgs Clients - Wan parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/wan_clients/events/search: 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' responses: '200': $ref: '#/components/responses/WanClientEventsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchOrgWanClientEvents tags: - Orgs Clients - Wan parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/wan_clients/search: 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' responses: '200': $ref: '#/components/responses/WanClientsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchOrgWanClients tags: - Orgs Clients - Wan parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/webhooks: get: description: Get List of Org Webhooks operationId: listOrgWebhooks parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/WebhooksArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgWebhooks tags: - Orgs Webhooks parameters: - $ref: '#/components/parameters/org_id' post: description: 'Create Org Webhook **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 requestBody: content: application/json: schema: $ref: '#/components/schemas/webhook' description: Request Body responses: '200': $ref: '#/components/responses/Webhook' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgWebhook tags: - Orgs Webhooks /api/v1/orgs/{org_id}/webhooks/{webhook_id}: delete: description: Delete Org Webhook operationId: deleteOrgWebhook responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgWebhook tags: - Orgs Webhooks get: description: Get Org Webhook Details operationId: getOrgWebhook responses: '200': $ref: '#/components/responses/Webhook' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgWebhook tags: - Orgs Webhooks parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/webhook_id' put: description: Update Org Webhook operationId: updateOrgWebhook requestBody: content: application/json: schema: $ref: '#/components/schemas/webhook' description: Request Body responses: '200': $ref: '#/components/responses/Webhook' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgWebhook tags: - Orgs Webhooks /api/v1/orgs/{org_id}/webhooks/{webhook_id}/events/search: get: description: 'Search webhooks deliveries Supported Topics: - alarms - audits - device-updowns - occupancy-alerts - ping' 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 - 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' responses: '200': $ref: '#/components/responses/WebhookDeliverySearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchOrgWebhooksDeliveries tags: - Orgs Webhooks parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/webhook_id' /api/v1/orgs/{org_id}/webhooks/{webhook_id}/ping: parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/webhook_id' post: description: send a Ping event to the webhook operationId: pingOrgWebhook responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: pingOrgWebhook tags: - Orgs Webhooks /api/v1/orgs/{org_id}/wired_clients/count: get: description: 'Count by Distinct Attributes of Clients Note: 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 title: Org Wired Clients count distinct type: string - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countOrgWiredClients tags: - Orgs Clients - Wired parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/wired_clients/search: get: description: 'Search for Wired Clients in org Note: 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' responses: '200': $ref: '#/components/responses/WiredClientsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchOrgWiredClients tags: - Orgs Clients - Wired parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/wlans: get: description: Get List of Org Wlans operationId: listOrgWlans parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/WlansArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgWlans tags: - Orgs Wlans parameters: - $ref: '#/components/parameters/org_id' post: description: Create Org Wlan operationId: createOrgWlan requestBody: content: application/json: schema: $ref: '#/components/schemas/wlan' description: Request Body responses: '200': $ref: '#/components/responses/Wlan' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgWlan tags: - Orgs Wlans /api/v1/orgs/{org_id}/wlans/{wlan_id}: delete: description: Delete Org WLAN operationId: deleteOrgWlan responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgWlan tags: - Orgs Wlans get: description: Get Org Wlan Detail operationId: getOrgWLAN responses: '200': $ref: '#/components/responses/WlansArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgWLAN tags: - Orgs Wlans parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/wlan_id' put: description: Update Org Wlan operationId: updateOrgWlan requestBody: content: application/json: examples: Example: value: acct_immediate_update: false acct_interim_interval: 0 acct_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1813 secret: testing123 airwatch: api_key: aHhlbGxvYXNkZmFzZGZhc2Rmc2RmCg==" console_url: https://hs1.airwatchportals.com enabled: true password: user1 username: test123 allow_ipv6_ndp: true allow_mdns: false allow_ssdp: false ap_ids: - 497f6eca-6276-4993-bfeb-53e5bbba6f08 app_limit: apps: dropbox: 300 netflix: 60 enabled: false wxtag_ids: f99862d9-2726-931f-7559-3dfdf5d070d3: 30 app_qos: apps: skype-business-video: dscp: 32 dst_subnet: 10.2.0.0/16 src_subnet: 10.2.0.0/16 enabled: true others: - dscp: 32 dst_subnet: 10.2.0.0/16 port_ranges: 80,1024-6553 protocol: udp src_subnet: 10.2.0.0/16 apply_to: site arp_filter: false auth: anticlog_threshold: 16 eap_reauth: false enable_mac_auth: false key_idx: 1 keys: - string multi_psk_only: false owe: string pairwise: - wpa2-ccmp private_wlan: true psk: foryoureyesonly type: psk wep_as_secondary_auth: true auth_server_selection: ordered auth_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1812 secret: testing123 auth_servers_nas_id: 5c5b350e0101-nas auth_servers_nas_ip: 15.3.1.5 auth_servers_retries: 5 auth_servers_timeout: 5 band: string band_steer: false band_steer_force_band5: false bands: - '24' - '5' block_blacklist_clients: false bonjour: additional_vlan_ids: - 0 enabled: false services: airplay: radius_groups: - teachers scope: same_ap cisco_cwa: allowed_hostnames: - snapchat.com allowed_subnets: - 63.5.3.0/24 blocked_subnets: - 192.168.0.0/16 enabled: false client_limit_down: 0 client_limit_down_enabled: false client_limit_up: 0 client_limit_up_enabled: false coa_servers: - disable_event_timestamp_check: false enabled: false ip: 1.2.3.4 port: 3799 secret: testing456 created_time: 0 disable_11ax: false disable_ht_vht_rates: false disable_uapsd: false disable_v1_roam_notify: false disable_v2_roam_notify: false disable_wmm: false dns_server_rewrite: enabled: false radius_groups: contractor: 172.1.1.1 guest: 8.8.8.8 dtim: 2 dynamic_psk: default_psk: foryoureyesonly default_vlan_id: 999 enabled: false source: cloud_psks vlan_ids: - 1 dynamic_vlan: default_vlan_id: 999 enabled: false local_vlan_ids: - 1 type: airespace-interface-name vlans: '131': default '322': fast,video enable_local_keycaching: false enable_wireless_bridging: false enabled: true fast_dot1x_timers: false for_site: true hide_ssid: false hostname_ie: false hotspot20: domain_name: - mist.com enabled: true nai_realms: - string operators: - google - att rcoi: - 5A03BA0000 venue_name: some_name id: 497f6eca-6276-4993-bfeb-53e6bbba6f08 interface: all isolation: false l2_isolation: false legacy_overds: false limit_bcast: false limit_probe_response: true max_idletime: 1800 mist_nac: enabled: false modified_time: 0 msp_id: c0cf23fc-d82f-4219-988c-82fb61d8c875 mxtunnel: {} mxtunnel_ids: - 08cd7499-5841-51c8-e663-fb16b6f3b45e mxtunnel_name: - default no_static_dns: false no_static_ip: false org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b portal: amazon_client_id: string amazon_client_secret: string amazon_email_domains: - string amazon_enabled: false auth: none azure_client_id: string azure_client_secret: string azure_enabled: false azure_tenant_id: string broadnet_password: password broadnet_sid: MIST broadnet_user_id: juniper bypass_when_cloud_down: false clickatell_api_key: string cross_site: false email_enabled: true enabled: false expire: 1440 external_portal_url: string facebook_client_id: string facebook_client_secret: string facebook_email_domains: - string facebook_enabled: false forward: false forward_url: http://abc.com/promotions google_client_id: string google_client_secret: string google_email_domains: - mydomain.edu - mydomain.org google_enabled: false gupshup_password: string gupshup_userid: string microsoft_client_id: string microsoft_client_secret: string microsoft_email_domains: - string microsoft_enabled: false passphrase_enabled: false password: let me in portal_allowed_hostnames: string portal_allowed_subnets: string portal_api_secret: string portal_denied_hostnames: string portal_image: https://url/to/image.png portal_sso_url: string predefined_sponsors_enabled: true privacy: true puzzel_password: string puzzel_service_id: string puzzel_username: string smsMessageFormat: string sms_enabled: false sms_provider: twilio sponsor_auto_approve: false sponsor_email_domains: - reserved.net - reserved.org sponsor_enabled: false sponsor_link_validity_duration: 30 sponsor_notify_all: false sponsor_status_notify: false sponsors: sponsor1@company.com: FirstName1 LastName1 sponsor2@company.com: FirstName2 LastName2 sso_default_role: string sso_forced_role: string sso_idp_cert: string sso_idp_sign_algo: string sso_idp_sso_url: string sso_issuer: string sso_nameid_format: email telstra_client_id: string telstra_client_secret: string thumbnail: string twilio_auth_token: af9dac44c344a875ab5d31cb7abcdefg twilio_phone_number: '+18548888888' twilio_sid: AC72ec6ba0ec5af30e6731c5e47abcdefgh portal_allowed_hostnames: - snapchat.com - ibm.com portal_allowed_subnets: - 63.5.3.0/24 portal_api_secret: EIfPMOykI3lMlDdNPub2WcbqT6dNOtWwmYHAd6bY portal_denied_hostnames: - msg.snapchat.com portal_image: http://example.com portal_sso_url: string portal_template_url: string qos: class: best_effort overwrite: false radsec: enabled: true idle_timeout: 60 mxcluster_ids: - 572586b7-f97b-a22b-526c-8b97a3f609c4 proxy_hosts: - mxedge1.local server_name: radsec.abc.com servers: - host: 1.1.1.1 port: 1812 use_mxedge: true use_site_mxedge: false rateset: '24': ht: 00ff00ff00ff legacy: - '6' - '9' - '12' - '18' - 24b - '36' - '48' - '54' min_rssi: -70 template: string vht: 03ff03ff03ff01ff '5': ht: 00ff00ff00ff legacy: - '6' - '9' - '12' - '18' - 24b - '36' - '48' - '54' min_rssi: -70 template: string vht: 03ff03ff03ff01ff roam_mode: none schedule: enabled: false hours: fri: 09:00-17:00 mon: 09:00-17:00 site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 sle_excluded: false ssid: corporate template_id: c6d67e98-83ea-49f0-8812-e4abae2b68bc thumbnail: http://example.com use_eapol_v1: false vlan_enabled: false vlan_id: 1 vlan_ids: - 3 - 4 - 5 vlan_pooling: false wlan_limit_down: 0 wlan_limit_down_enabled: false wlan_limit_up: 0 wlan_limit_up_enabled: false wxtag_ids: - 497f6eca-6276-4993-bfeb-53e7bbba6f08 wxtunnel_id: string wxtunnel_remote_id: string schema: $ref: '#/components/schemas/wlan' description: Request Body responses: '200': $ref: '#/components/responses/Wlan' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgWlan tags: - Orgs Wlans /api/v1/orgs/{org_id}/wlans/{wlan_id}/portal_image: delete: description: Delete Org WLAN Portal Image operationId: deleteOrgWlanPortalImage responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgWlanPortalImage tags: - Orgs Wlans parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/wlan_id' post: description: Upload Org WLAN Portal Image operationId: uploadOrgWlanPortalImage requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/image_import' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: uploadOrgWlanPortalImage tags: - Orgs Wlans /api/v1/orgs/{org_id}/wlans/{wlan_id}/portal_template: parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/wlan_id' put: description: 'Update a Portal Template #### Sponsor Email Template Sponsor Email Template supports following template variables: | **Name** | **Description** | | --- | --- | | 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 | | deny_url | Renders URL to reject the request | | guest_email | Renders Email ID of the guest | | guest_name | Renders Name of the guest | | field1 | Renders value of the Custom Field 1 | | field2 | Renders value of the Custom Field 2 | | company | Renders value of the Company field | | sponsor_link_validity_duration | Renders validity time of the request (i.e. Approve/Deny URL) | | 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 requestBody: content: application/json: schema: $ref: '#/components/schemas/wlan_portal_template' description: Request Body responses: '200': $ref: '#/components/responses/Portaltemplate' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgWlanPortalTemplate tags: - Orgs Wlans /api/v1/orgs/{org_id}/wxrules: get: description: Get List of Org WxRules operationId: listOrgWxRules parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/WxruleArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgWxRules tags: - Orgs WxRules parameters: - $ref: '#/components/parameters/org_id' post: description: Create Org WxRule operationId: createOrgWxRule requestBody: content: application/json: examples: Example: value: action: allow apply_tags: - c049dfcd-0c73-5014-1c64-062e9903f1e5 blocked_apps: - mist - all-videos created_time: 0 dst_allow_wxtags: - fff34466-eec0-3756-6765-381c728a6037 - eee2c7b0-d1d0-5a30-f349-e35fa43dc3b3 dst_deny_wxtags: - aaa34466-eec0-3756-6765-381c728a6037 - bbb2c7b0-d1d0-5a30-f349-e35fa43dc3b3 enabled: true for_site: true id: 497f6eca-6276-4993-bfeb-53e8bbba6f08 modified_time: 0 order: 1 org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 src_wxtags: - 8bfc2490-d726-3587-038d-cb2e71bd2330 - 3aa8e73f-9f46-d827-8d6a-567bb7e67fc9 schema: $ref: '#/components/schemas/wxlan_rule' description: Request Body responses: '200': $ref: '#/components/responses/Wxrule' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgWxRule tags: - Orgs WxRules /api/v1/orgs/{org_id}/wxrules/derived: get: description: Get Derived Org WxRule operationId: getOrgWxRulesDerived responses: '200': $ref: '#/components/responses/WxruleArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgWxRulesDerived tags: - Orgs WxRules parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/wxrules/{wxrules_id}: delete: description: Delete Org WxRule operationId: deleteOrgWxRule responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgWxRule tags: - Orgs WxRules get: description: Get Org WxRule Details operationId: getOrgWxRule responses: '200': $ref: '#/components/responses/Wxrule' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgWxRule tags: - Orgs WxRules parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/wxrules_id' put: description: Update Org WxRule operationId: updateOrgWxRule requestBody: content: application/json: examples: Example: value: action: allow apply_tags: - c049dfcd-0c73-5014-1c64-062e9903f1e5 blocked_apps: - mist - all-videos created_time: 0 dst_allow_wxtags: - fff34466-eec0-3756-6765-381c728a6037 - eee2c7b0-d1d0-5a30-f349-e35fa43dc3b3 dst_deny_wxtags: - aaa34466-eec0-3756-6765-381c728a6037 - bbb2c7b0-d1d0-5a30-f349-e35fa43dc3b3 enabled: true for_site: true id: 497f6eca-6276-4993-bfeb-53e9bbba6f08 modified_time: 0 order: 1 org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 src_wxtags: - 8bfc2490-d726-3587-038d-cb2e71bd2330 - 3aa8e73f-9f46-d827-8d6a-567bb7e67fc9 schema: $ref: '#/components/schemas/wxlan_rule' description: Request Body responses: '200': $ref: '#/components/responses/Wxrule' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgWxRule tags: - Orgs WxRules /api/v1/orgs/{org_id}/wxtags: get: description: Get List of Org WxLAN Tags operationId: listOrgWxTags parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/WxtagArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgWxTags tags: - Orgs WxTags parameters: - $ref: '#/components/parameters/org_id' post: description: Create WxLAN Tag operationId: createOrgWxTag requestBody: content: application/json: examples: app: value: match: app name: match app type: match values: - gmail - dropbox client_mac: value: match: client_mac name: file-servers type: match values: - b0c4e7001543 - a0c4e7001543 - 00c4e7001543 hostnames: value: match: hostname name: mist type: match values: - mist.com ip_range_subnets: value: match: ip_range_subnet name: file-servers type: match values: - 10.1.2.1 - 10.2.3.4/24 - 10.1.2.5-10.2.3.4 ports: value: match: port name: web-ports type: match values: - '80' - '8000' - '8080' psk_name: value: match: psk_name name: VIP type: match values: - test_key1 - test_key2 psk_role: value: match: psk_role name: VIP type: match values: - test_role radius_group: value: match: radius_group name: VIP type: match values: - vip radius_username: value: match: radius_username name: VIP type: match values: - john@abc.com - eric@abc.com traffic-spec: value: name: protocol-subnet-port specs: - port_range: '80' protocol: tcp subnets: - 10.1.2.0/24 type: spec vlan: value: name: vlan-assignment type: vlan vlan_id: 1055 wlan_id: value: match: wlan_id name: guest-wlan type: match values: - be22bba78e22e1cf5185b880816fe2cf schema: $ref: '#/components/schemas/wxlan_tag' description: Request Body responses: '200': $ref: '#/components/responses/Wxtag' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgWxTag tags: - Orgs WxTags /api/v1/orgs/{org_id}/wxtags/apps: get: description: Get Application List operationId: getOrgApplicationList responses: '200': $ref: '#/components/responses/WxTagsAppsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgApplicationList tags: - Orgs WxTags parameters: - $ref: '#/components/parameters/org_id' /api/v1/orgs/{org_id}/wxtags/{wxtag_id}: delete: description: Delete WxLAN Tag operationId: deleteOrgWxTag responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgWxTag tags: - Orgs WxTags get: description: Get WxLAN Tag Details operationId: getOrgWxTag responses: '200': $ref: '#/components/responses/Wxtag' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgWxTag tags: - Orgs WxTags parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/wxtag_id' put: description: Update WxLAN Tag operationId: updateOrgWxTag requestBody: content: application/json: schema: $ref: '#/components/schemas/wxlan_tag' description: Request Body responses: '200': $ref: '#/components/responses/Wxtag' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgWxTag tags: - Orgs WxTags /api/v1/orgs/{org_id}/wxtags/{wxtag_id}/clients: get: description: Get Current Matching Clients of a WXLAN Tag operationId: getOrgCurrentMatchingClientsOfAWxTag responses: '200': $ref: '#/components/responses/WxtagClients' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgCurrentMatchingClientsOfAWxTag tags: - Orgs WxTags parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/wxtag_id' /api/v1/orgs/{org_id}/wxtunnels: get: description: Get List of Org WxLAN Tunnels operationId: listOrgWxTunnels parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/WxtunnelArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listOrgWxTunnels tags: - Orgs WxTunnels parameters: - $ref: '#/components/parameters/org_id' post: description: Create Org WxAN Tunnel operationId: createOrgWxTunnel requestBody: content: application/json: schema: $ref: '#/components/schemas/wxlan_tunnel' description: Request Body responses: '200': $ref: '#/components/responses/Wxtunnel' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createOrgWxTunnel tags: - Orgs WxTunnels /api/v1/orgs/{org_id}/wxtunnels/{wxtunnel_id}: delete: description: Delete Org WxLAN Tunnel operationId: deleteOrgWxTunnel responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteOrgWxTunnel tags: - Orgs WxTunnels get: description: Get Org WxLAN Tunnel Details operationId: getOrgWxTunnel responses: '200': $ref: '#/components/responses/Wxtunnel' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOrgWxTunnel tags: - Orgs WxTunnels parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/wxtunnel_id' put: description: Update Org WxLAN Tunnel operationId: updateOrgWxTunnel requestBody: content: application/json: schema: $ref: '#/components/schemas/wxlan_tunnel' description: Request Body responses: '200': $ref: '#/components/responses/Wxtunnel' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateOrgWxTunnel tags: - Orgs WxTunnels /api/v1/recover: post: description: 'Recover Password An email will also be sent to the user with a link to https://manage.mist.com/verify/recover?token=:token' operationId: recoverPassword requestBody: content: application/json: examples: Example: value: email: test@mistsys.com recaptcha: string recaptcha_flavor: hcaptcha schema: $ref: '#/components/schemas/recover' description: '' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: recoverPassword tags: - Recover Password /api/v1/recover/verify/{token}: parameters: - $ref: '#/components/parameters/token' post: description: 'Verify Recover Password With correct verification, the user will be authenticated. UI can then prompt for new password' operationId: verifyRecoverPasssword responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: verifyRecoverPasssword tags: - Recover Password /api/v1/register: 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\n\ Google 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\n\ Use 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 requestBody: content: application/json: examples: Example: value: account_only: false allow_mist: false city: Cupertino country: United States email: test@mistsys.com first_name: John invite_code: MISTROCKS last_name: Smith org_name: Smith LLC password: foryoureyesonly recaptcha: string recaptcha_flavor: hcaptcha referer_invite_token: Dm2gtT8dwMeM4Bc2E8FLIaA96VHOjPat return_to: http://mist.zendesk.com/hc/quickstart.pdf state: California street_address: 1601 S De Anza Blvd Ste 248 street_address 2: 1601 S De Anza Blvd Ste 248 zipcode: '95014' schema: $ref: '#/components/schemas/new_admin' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: registerNewAdmin tags: - Admins /api/v1/register/recaptcha: get: description: Get Registration Information operationId: getAdminRegistrationInfo parameters: - in: query name: recaptcha_flavor schema: default: google enum: - google - hcaptcha type: string responses: '200': $ref: '#/components/responses/Recaptcha' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getAdminRegistrationInfo tags: - Admins /api/v1/register/verify/{token}: parameters: - $ref: '#/components/parameters/token' post: description: Verify registration operationId: verifyRegistration responses: '200': $ref: '#/components/responses/VerifyRegisterTokenSuccess' '400': $ref: '#/components/responses/VerifyRegisterTokenAlreadyRegistered' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/VerifyRegisterTokenInvalid' '429': $ref: '#/components/responses/HTTP429' summary: verifyRegistration tags: - Admins /api/v1/self: delete: description: 'To delete ones account and every associated with it. The effects: the account would be deleted any orphaned Org (that only has this account as admin) will be deleted along with all data with Org (sites, wlans, devices) will be gone.' operationId: deleteSelf responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/DeleteSelfFailed' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteSelf tags: - Self Account get: description: "Get \u2018whoami\u2019 and privileges (which org and which sites\ \ I have access to)" operationId: getSelf responses: '200': $ref: '#/components/responses/Admin' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSelf tags: - Self Account put: description: update Account Information operationId: updateSelf requestBody: content: application/json: examples: example-1: value: email: john.smith@mycorp.net enable_two_factor: true first_name: John last_name: Smith password: foryoureyesonly persona: security phone: '14081112222' phone2: '14083334444' schema: $ref: '#/components/schemas/admin' description: Request Body responses: '200': $ref: '#/components/responses/Admin' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateSelf tags: - Self Account /api/v1/self/apitokens: get: description: Get List of Current User API Tokens operationId: listApiTokens responses: '200': $ref: '#/components/responses/ApitokensUserArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listApiTokens tags: - Self API Token post: description: 'Create API Token Note that the key is only available during creation time.' operationId: createApiToken requestBody: content: application/json: examples: Example: value: created_time: 1626875902 last_used: 1690115110 name: org_token_xyz schema: $ref: '#/components/schemas/user_apitoken' responses: '200': $ref: '#/components/responses/ApitokensUserArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createApiToken tags: - Self API Token /api/v1/self/apitokens/{apitoken_id}: delete: description: Delete an API Token operationId: deleteApiToken responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteApiToken tags: - Self API Token get: description: Get User API Token operationId: getApiToken responses: '200': $ref: '#/components/responses/ApitokenUser' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getApiToken tags: - Self API Token parameters: - $ref: '#/components/parameters/apitoken_id' put: description: Update User API Token operationId: updateApiToken requestBody: content: application/json: examples: Example: value: name: org_token_xyz schema: $ref: '#/components/schemas/user_apitoken' responses: '200': $ref: '#/components/responses/ApitokenUser' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateApiToken tags: - Self API Token /api/v1/self/logs: get: description: 'Get List of change logs across all Orgs for current admin Audit 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' responses: '200': $ref: '#/components/responses/SelfAuditLogs' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSelfAuditLogs tags: - Self Audit Logs /api/v1/self/oauth/{provider}: 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 responses: '200': $ref: '#/components/responses/SelfOauthUrl' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getOauth2UrlForLinking tags: - Self OAuth2 parameters: - in: path name: provider required: true schema: type: string post: description: Link Mist account with an OAuth2 Provider operationId: linkOauth2MistAccount requestBody: content: application/json: examples: example-1: value: code: 4/S9tegDeLkrYg0L9pWNXV4cgMVbbr3SR9t693A2kSHzw schema: $ref: '#/components/schemas/code' description: Request Body responses: '200': $ref: '#/components/responses/SelfOauthLinkSuccess' '400': $ref: '#/components/responses/SelfOauthLinkFailure' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: linkOauth2MistAccount tags: - Self OAuth2 /api/v1/self/subscriptions: get: description: Get List of all the subscriptions operationId: listAlarmSubscriptions responses: '200': $ref: '#/components/responses/SelfSubscriptions' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listAlarmSubscriptions tags: - Self Alarms /api/v1/self/two_factor/token: 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 title: mfa_secret_type type: string responses: '200': $ref: '#/components/responses/TwoFactor' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: generateSecretFor2faVerification tags: - Self MFA /api/v1/self/two_factor/verify: 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 requestBody: content: application/json: schema: $ref: '#/components/schemas/two_factor_code' description: Request Body responses: '200': content: application/json: schema: properties: {} type: object description: Response when 2FA verification is successful '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: verifyTwoFactor tags: - Self MFA /api/v1/self/update: post: description: 'Change Email We require the user to verify that they actually own the email address they intend to change it to. After 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 Upon 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 **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 requestBody: content: application/json: examples: example-1: value: email: new@mistsys.com schema: $ref: '#/components/schemas/email' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/UpdateSelfFailed' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateSelfEmail tags: - Self Account /api/v1/self/update/verify/{token}: get: description: Verify Email change operationId: verifySelfEmail responses: '200': $ref: '#/components/responses/SelfVerifyEmailSuccess' '400': $ref: '#/components/responses/SelfVerifyEmailFailed' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: verifySelfEmail tags: - Self Account parameters: - $ref: '#/components/parameters/token' /api/v1/sites/{site_id}: delete: description: Delete Site operationId: deleteSite responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteSite tags: - Sites get: description: Get Site Info operationId: getSiteInfo responses: '200': $ref: '#/components/responses/Site' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteInfo tags: - Sites parameters: - $ref: '#/components/parameters/site_id' put: description: Update Site Info operationId: updateSiteInfo requestBody: content: application/json: examples: example-1: value: address: string alarmtemplate_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 country_code: string latlng: lat: 0 lng: 0 name: string networktemplate_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 notes: string rftemplate_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 secpolicy_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 sitegroup_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 timezone: string schema: $ref: '#/components/schemas/site' description: Request Body responses: '200': $ref: '#/components/responses/Site' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateSiteInfo tags: - Sites /api/v1/sites/{site_id}/alarms/ack: parameters: - $ref: '#/components/parameters/site_id' post: description: Ack multiple Site Alarms operationId: multiAckSiteAlarms requestBody: content: application/json: schema: $ref: '#/components/schemas/alarm_ack' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: multiAckSiteAlarms tags: - Sites Alarms /api/v1/sites/{site_id}/alarms/ack_all: parameters: - $ref: '#/components/parameters/site_id' post: description: 'Ack all Site Alarms **N.B.**: Batch size for multiple alarm ack and unack has to be less or or equal to 1000.' operationId: ackSiteAllAlarms requestBody: content: application/json: schema: $ref: '#/components/schemas/note' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: ackSiteAllAlarms tags: - Sites Alarms /api/v1/sites/{site_id}/alarms/count: 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 title: Site Alarms count distinct 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' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countSiteAlarms tags: - Sites Alarms parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/alarms/search: 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' responses: '200': $ref: '#/components/responses/AlarmsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchSiteAlarms tags: - Sites Alarms parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/alarms/unack: parameters: - $ref: '#/components/parameters/site_id' post: description: Unack multiple Site Alarms operationId: multiUnackSiteAlarms requestBody: content: application/json: schema: $ref: '#/components/schemas/alarm_ack' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: multiUnackSiteAlarms tags: - Sites Alarms /api/v1/sites/{site_id}/alarms/unack_all: parameters: - $ref: '#/components/parameters/site_id' post: description: 'Unack all Site Alarms **N.B.**: Batch size for multiple alarm ack and unack has to be less or or equal to 1000.' operationId: unackSiteAllArlarms requestBody: content: application/json: examples: example-1: value: note: maintenance window schema: $ref: '#/components/schemas/note' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: unackSiteAllArlarms tags: - Sites Alarms /api/v1/sites/{site_id}/alarms/{alarm_id}/ack: parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/alarm_id' post: description: Ack Site Alarm operationId: ackSiteAlarm requestBody: content: application/json: schema: $ref: '#/components/schemas/note' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: ackSiteAlarm tags: - Sites Alarms /api/v1/sites/{site_id}/alarms/{alarm_id}/unack: parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/alarm_id' post: description: Unack Site Alarm operationId: unackSiteAlarm requestBody: content: application/json: schema: $ref: '#/components/schemas/note' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: unackSiteAlarm tags: - Sites Alarms /api/v1/sites/{site_id}/anomaly/client/{client_mac}/{metric}: get: description: Get Client Anomaly Events operationId: getSiteAnomalyEventsForClient responses: '200': $ref: '#/components/responses/AnomalyMetrics' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteAnomalyEventsForClient tags: - Sites Anomaly parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/client_mac' - $ref: '#/components/parameters/metric' /api/v1/sites/{site_id}/anomaly/device/{device_mac}/{metric}: get: description: Get Device Anomaly Events operationId: getSiteAnomalyEventsforDevice responses: '200': $ref: '#/components/responses/AnomalyMetrics' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteAnomalyEventsforDevice tags: - Sites Anomaly parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/metric' - $ref: '#/components/parameters/device_mac' /api/v1/sites/{site_id}/anomaly/{metric}: get: description: Get Site Anomaly Events operationId: getSiteAnomalyEvents responses: '200': $ref: '#/components/responses/AnomalyMetrics' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteAnomalyEvents tags: - Sites Anomaly parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/metric' /api/v1/sites/{site_id}/apps: get: description: Get List of Site Applications operationId: listSiteApps responses: '200': $ref: '#/components/responses/SiteApps' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteApps tags: - Sites Applications parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/aptemplates/derived: get: description: Get derived AP Templates for Site operationId: getSiteApTemplateDerived parameters: - description: whether resolve the site variables in: query name: resolve schema: type: boolean responses: '200': $ref: '#/components/responses/Aptemplate' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteApTemplateDerived tags: - Sites AP Templates parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/assetfilters: get: description: Get List of Site Asset Filters operationId: listSiteAssetFilters parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/AssetfiltersArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteAssetFilters tags: - Sites Asset Filters parameters: - $ref: '#/components/parameters/site_id' post: description: Create Site Asset Filter operationId: createSiteAssetFilters requestBody: content: application/json: schema: $ref: '#/components/schemas/asset_filter' description: Request Body responses: '200': $ref: '#/components/responses/Assetfilter' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createSiteAssetFilters tags: - Sites Asset Filters /api/v1/sites/{site_id}/assetfilters/{assetfilter_id}: delete: description: Deletes an existing BLE asset filter for the given site. operationId: deleteSiteAssetFilter responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteSiteAssetFilter tags: - Sites Asset Filters get: description: Get Site Asset Filter Details operationId: getSiteAssetFilter responses: '200': $ref: '#/components/responses/Assetfilter' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: 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 requestBody: content: application/json: schema: $ref: '#/components/schemas/asset_filter' description: Request Body responses: '200': $ref: '#/components/responses/Assetfilter' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateSiteAssetFilter tags: - Sites Asset Filters /api/v1/sites/{site_id}/assets: get: description: Get List of Site Assets operationId: listSiteAssets parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/AssetsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteAssets tags: - Sites Assets parameters: - $ref: '#/components/parameters/site_id' post: description: Create Site Asset operationId: createSiteAsset requestBody: content: application/json: schema: $ref: '#/components/schemas/asset' description: Request Body responses: '200': $ref: '#/components/responses/Asset' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createSiteAsset tags: - Sites Assets /api/v1/sites/{site_id}/assets/import: 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 requestBody: content: application/json: schema: $ref: '#/components/schemas/assets_import_json' multipart/form-data: schema: $ref: '#/components/schemas/assets_import_file' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: importSiteAssets tags: - Sites Assets /api/v1/sites/{site_id}/assets/{asset_id}: delete: description: Delete Site Asset operationId: deleteSiteAsset responses: '200': $ref: '#/components/responses/OK' '201': description: Created '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteSiteAsset tags: - Sites Assets get: description: Get Site Asset Details operationId: getSiteAsset responses: '200': $ref: '#/components/responses/Asset' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteAsset tags: - Sites Assets parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/asset_id' put: description: Update Site Asset operationId: updateSiteAsset requestBody: content: application/json: schema: $ref: '#/components/schemas/asset' description: Request Body responses: '200': $ref: '#/components/responses/Asset' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateSiteAsset tags: - Sites Assets /api/v1/sites/{site_id}/beacons: get: description: Get List of Site Beacons operationId: listSiteBeacons parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/BeaconsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteBeacons tags: - Sites Beacons parameters: - $ref: '#/components/parameters/site_id' post: description: Create Site Beacon operationId: createSiteBeacon requestBody: content: application/json: examples: example-1: value: eddystone_instance: string eddystone_namespace: string eddystone_url: string ibeacon_major: 0 ibeacon_minor: 0 ibeacon_uuid: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 mac: string map_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 name: string power: 0 type: eddystone-uid x: 0 y: 0 schema: $ref: '#/components/schemas/beacon' description: Request Body responses: '200': $ref: '#/components/responses/Beacon' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createSiteBeacon tags: - Sites Beacons /api/v1/sites/{site_id}/beacons/{beacon_id}: delete: description: Delete Site Beacon operationId: deleteSiteBeacons responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteSiteBeacons tags: - Sites Beacons get: description: Get Site Beacon Details operationId: getSiteBeacon responses: '200': $ref: '#/components/responses/Beacon' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteBeacon tags: - Sites Beacons parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/beacon_id' put: description: Update Site Beacon operationId: updateSiteBeacons requestBody: content: application/json: examples: example-1: value: eddystone_instance: string eddystone_namespace: string eddystone_url: string ibeacon_major: 0 ibeacon_minor: 0 ibeacon_uuid: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 mac: string map_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 name: string power: 0 type: eddystone-uid x: 0 y: 0 schema: $ref: '#/components/schemas/beacon' description: Request Body responses: '200': $ref: '#/components/responses/Beacon' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateSiteBeacons tags: - Sites Beacons /api/v1/sites/{site_id}/clients/count: get: description: Count by Distinct Attributes of Clients operationId: countSiteWirelessClients parameters: - example: hostname in: query name: distinct schema: default: device enum: - ssid - ap - ip - vlan - hostname - os - model - device title: Site Clients count distinct 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' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countSiteWirelessClients tags: - Sites Clients - Wireless parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/clients/disconnect: parameters: - $ref: '#/components/parameters/site_id' post: description: To unauthorize multiple clients operationId: disconnectSiteMultipleClients requestBody: content: application/json: schema: $ref: '#/components/schemas/mac_addresses' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: disconnectSiteMultipleClients tags: - Utilities Wi-Fi /api/v1/sites/{site_id}/clients/events/count: get: description: Count by Distinct Attributes of Client-Events operationId: countSiteWirelessClientEvents parameters: - example: type in: query name: distinct schema: enum: - type - proto - band - channel - wlan_id - ssid title: Site Client Events count distinct type: string - $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' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countSiteWirelessClientEvents tags: - Sites Clients - Wireless parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/clients/events/search: 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' responses: '200': $ref: '#/components/responses/EventsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchSiteWirelessClientEvents tags: - Sites Clients - Wireless parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/clients/search: 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' responses: '200': $ref: '#/components/responses/ClientsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchSiteWirelessClients tags: - Sites Clients - Wireless parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/clients/sessions/count: 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 title: Site Client Sessions count distinct type: string - 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' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countSiteWirelessClientSessions tags: - Sites Clients - Wireless parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/clients/sessions/search: 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' responses: '200': $ref: '#/components/responses/ClientSessionsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchSiteWirelessClientSessions tags: - Sites Clients - Wireless parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/clients/unauthorize: 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 requestBody: content: application/json: schema: $ref: '#/components/schemas/mac_addresses' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: unauthorizeSiteMultipleClients tags: - Utilities Wi-Fi /api/v1/sites/{site_id}/clients/{client_mac}/coa: parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/client_mac' post: description: Trigger a CoA (change of authorization) against a client operationId: reauthSiteDot1xWirelessClient responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: reauthSiteDot1xWirelessClient tags: - Utilities Wi-Fi /api/v1/sites/{site_id}/clients/{client_mac}/disconnect: 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 responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: disconnectSiteWirelessClient tags: - Utilities Wi-Fi /api/v1/sites/{site_id}/clients/{client_mac}/events: 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' responses: '200': $ref: '#/components/responses/ClientEventsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteEventsForClient tags: - Sites Clients - Wireless parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/client_mac' /api/v1/sites/{site_id}/clients/{client_mac}/unauthorize: 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 responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: unauthorizeSiteWirelessClient tags: - Utilities Wi-Fi /api/v1/sites/{site_id}/deviceprofiles/derived: 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 responses: '200': $ref: '#/components/responses/DeviceprofilesArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteDeviceProfilesDerived tags: - Sites Device Profiles parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/devices: 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' responses: '200': $ref: '#/components/responses/DevicesArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteDevices tags: - Sites Devices parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/devices/ap_channels: 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 responses: '200': $ref: '#/components/responses/DeviceRadioChannels' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteDeviceRadioChannels tags: - Sites Devices - Wireless parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/devices/config_history/count: 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: title: Site Device Config History count distinct 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' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countSiteDeviceConfigHistory tags: - Sites Devices parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/devices/config_history/search: 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' responses: '200': $ref: '#/components/responses/ConfigsHistorySearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchSiteDeviceConfigHistory tags: - Sites Devices parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/devices/count: 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 title: Site Devices count distinct 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' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countSiteDevices tags: - Sites Devices parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/devices/events/count: 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 title: Site Device Events count distinct type: string - 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' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countSiteDeviceEvents tags: - Sites Devices parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/devices/events/search: 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' responses: '200': $ref: '#/components/responses/EventsDevices' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchSiteDeviceEvents tags: - Sites Devices parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/devices/export: get: description: To download the exported device information operationId: exportSiteDevices responses: '200': $ref: '#/components/responses/File' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: exportSiteDevices tags: - Sites Devices parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/devices/import: parameters: - $ref: '#/components/parameters/site_id' post: description: 'Import Information for Multiple Devices CSV format: ```csv mac,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 5c5b53010101,"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 ```' operationId: importSiteDevices requestBody: content: application/json: schema: $ref: '#/components/schemas/ap_import_json' application/octet-stream: schema: $ref: '#/components/schemas/binary_stream' responses: '200': $ref: '#/components/responses/DevicesArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: importSiteDevices tags: - Sites Devices /api/v1/sites/{site_id}/devices/last_config/count: 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 title: Site Device Last Config count distinct type: string - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countSiteDeviceLastConfig tags: - Sites Devices parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/devices/last_config/search: 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' responses: '200': $ref: '#/components/responses/ConfigsHistorySearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchSiteDeviceLastConfigs tags: - Sites Devices parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/devices/reprovision: parameters: - $ref: '#/components/parameters/site_id' post: description: To force all APs to reprovision itself again. operationId: reprovisionSiteAllAps responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: reprovisionSiteAllAps tags: - Utilities Wi-Fi /api/v1/sites/{site_id}/devices/reset_radio_config: parameters: - $ref: '#/components/parameters/site_id' post: description: Reset all APs in the Site to use RRM operationId: resetSiteAllApsToUseRrm requestBody: content: application/json: examples: example-1: value: bands: - '24' - '5' - '6' force: false schema: $ref: '#/components/schemas/utils_reset_radio_config' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: resetSiteAllApsToUseRrm tags: - Utilities Wi-Fi /api/v1/sites/{site_id}/devices/restart: parameters: - $ref: '#/components/parameters/site_id' post: description: Note that only the devices that are connected will be restarted. operationId: multiRestartSiteDevices requestBody: content: application/json: examples: example-1: value: device_ids: - 00000000-0000-0000-1000-5c5b35584a6f - 00000000-0000-0000-1000-5c5b350ea3b3 example-2: value: device_ids: - 421f6eca-6276-4893-bfeb-53cbbbba6f02 node: node0 schema: $ref: '#/components/schemas/utils_devices_restart_multi' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: multiRestartSiteDevices tags: - Sites Devices /api/v1/sites/{site_id}/devices/search: 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: 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' responses: '200': $ref: '#/components/responses/DevicesSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchSiteDevices tags: - Sites Devices parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/devices/send_ble_beacon: parameters: - $ref: '#/components/parameters/site_id' post: description: 'Send arbitrary BLE Beacon for a period of time Note that only the devices that are connected will be restarted.' operationId: sendSiteDevicesArbitratryBleBeacon requestBody: content: application/json: examples: Example: value: beacon_frame: 68b329da9893e34099c7d8ad5cb9c940 beacon_freq: 100 duration: 10 macs: - 5c5b35584a6f - 5c5b350ea3b3 map_ids: - 845a23bf-bed9-e43c-4c86-6fa474be7ae5 schema: $ref: '#/components/schemas/utils_send_ble_beacon' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: sendSiteDevicesArbitratryBleBeacon tags: - Utilities Location /api/v1/sites/{site_id}/devices/upgrade: get: description: Get all upgrades for site operationId: listSiteDevicesUpgrade parameters: - in: query name: status schema: enum: - downloading - completed - created - downloaded - upgrading - cancelled - failed title: site_device_upgrade_status_filter type: string responses: '200': $ref: '#/components/responses/DeviceUpgradeArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteDevicesUpgrade tags: - Utilities Upgrade 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 requestBody: content: application/json: examples: example-1: value: canary_phases: - 1 - 10 - 50 - 100 device_ids: - string enable_p2p: true force: false max_failure_percentage: 5 max_failures: - 0 models: - string start_time: 0 strategy: big_bang version: stable schema: $ref: '#/components/schemas/device_upgrade_site_multi' description: Request Body responses: '200': $ref: '#/components/responses/DeviceUpgrade' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: multiUpgradeSiteDevices tags: - Utilities Upgrade /api/v1/sites/{site_id}/devices/upgrade/{upgrade_id}: get: description: Get Site Device Upgrade operationId: getSiteUpgrade responses: '200': $ref: '#/components/responses/DeviceUpgrade' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteUpgrade tags: - Utilities Upgrade parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/upgrade_id' /api/v1/sites/{site_id}/devices/upgrade/{upgrade_id}/cancel: 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 responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: cancelSiteDeviceUpgrade tags: - Utilities Upgrade /api/v1/sites/{site_id}/devices/upgrade_bios: parameters: - $ref: '#/components/parameters/site_id' post: description: Upgrade Bios Multiple Device operationId: upgradeSiteMultipleDevicesBios requestBody: content: application/json: examples: Example: value: device_ids: - 00000000-0000-0000-1000-5c5b35584a6f models: - EX4400-48T version: CDEN_P_EX1_00.15.01.00 schema: $ref: '#/components/schemas/upgrade_bios_multi' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: upgradeSiteMultipleDevicesBios tags: - Utilities LAN /api/v1/sites/{site_id}/devices/versions: 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 responses: '200': $ref: '#/components/responses/DeviceVersion' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteAvailableDeviceVersions tags: - Utilities Upgrade parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/devices/zeroize: parameters: - $ref: '#/components/parameters/site_id' post: description: Zeroize all FIPS APs in the Site operationId: zeroizeSiteFipsAllAps requestBody: content: application/json: examples: example-1: value: password: NUKETHESITE schema: $ref: '#/components/schemas/utils_zeroise_fips' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: zeroizeSiteFipsAllAps tags: - Utilities Wi-Fi /api/v1/sites/{site_id}/devices/{device_id}: delete: description: Delete Site Device operationId: deleteSiteDevice responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteSiteDevice tags: - Sites Devices get: description: Get Device Configuration operationId: getSiteDevice responses: '200': $ref: '#/components/responses/Device' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteDevice tags: - Sites Devices parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/device_id' put: description: Update Device Configuration operationId: updateSiteDevice requestBody: content: application/json: schema: $ref: '#/components/schemas/mist_device' description: Request Body responses: '200': $ref: '#/components/responses/Device' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateSiteDevice tags: - Sites Devices /api/v1/sites/{site_id}/devices/{device_id}/arp: 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 requestBody: content: application/json: examples: Example: value: node: node0 schema: $ref: '#/components/schemas/ha_cluster_node' responses: '200': $ref: '#/components/responses/WebsocketSession' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: arpFromDevice tags: - Utilities Common /api/v1/sites/{site_id}/devices/{device_id}/bounce_port: 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 requestBody: content: application/json: examples: multiple: value: ports: - ge-0/0/0 - ge-0/0/1 single: value: port: ge-0/0/0 schema: $ref: '#/components/schemas/utils_bounce_port' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: portsBounceFromSwitch tags: - Utilities LAN /api/v1/sites/{site_id}/devices/{device_id}/cable_test: 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 requestBody: content: application/json: examples: example-1: value: port: ge-0/0/0 schema: $ref: '#/components/schemas/utils_cable_test' responses: '200': $ref: '#/components/responses/WebsocketSession' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: cableTestFromSwitch tags: - Utilities LAN /api/v1/sites/{site_id}/devices/{device_id}/check_radius_server: 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 requestBody: content: application/json: examples: example-1: value: password: string profile: dot1x user: string schema: $ref: '#/components/schemas/synthetic_test_radius_server' responses: '200': $ref: '#/components/responses/WebsocketSession' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: triggerSiteSwitchRadiusSyntheticTest tags: - Synthetic Tests /api/v1/sites/{site_id}/devices/{device_id}/clear_arp: 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. *Note*: port_id is optional if neither vlan nor ip is specified' operationId: clearSiteSsrArpCache requestBody: content: application/json: examples: Example: value: ip: 10.1.1.1 node: node0 port_id: wan vlan: 1000 schema: $ref: '#/components/schemas/utils_clear_arp' responses: '200': $ref: '#/components/responses/WebsocketSession' '400': description: 'port_id must be specified with vlan or ip Both vlan and ip cannot be specified' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: clearSiteSsrArpCache tags: - Utilities WAN /api/v1/sites/{site_id}/devices/{device_id}/clear_bgp: parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/device_id' post: description: Clear routes associated with one or all BGP neighbors operationId: clearSiteSsrBgpRoutes requestBody: content: application/json: examples: example-1: value: neighbor: all type: in vrf: TestVrf schema: $ref: '#/components/schemas/utils_clear_bgp' responses: '200': $ref: '#/components/responses/WebsocketSession' '400': description: parameter neighbor absent '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: clearSiteBgpRoutes tags: - Utilities WAN /api/v1/sites/{site_id}/devices/{device_id}/clear_bpdu_error: 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 requestBody: content: application/json: schema: $ref: '#/components/schemas/utils_clear_bpdu' responses: '200': $ref: '#/components/responses/OK' '400': description: Port not specified '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: clearBpduErrosFromPortsOnSwitch tags: - Utilities LAN /api/v1/sites/{site_id}/devices/{device_id}/clear_macs: 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 requestBody: content: application/json: examples: example-1: value: ports: - ge-0/0/0.0 schema: $ref: '#/components/schemas/utils_clear_macs' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: clearAllLearnedMacsFromPortOnSwitch tags: - Utilities LAN /api/v1/sites/{site_id}/devices/{device_id}/config_cmd: get: description: 'Get Config CLI Commands For 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. Once 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 responses: '200': $ref: '#/components/responses/DeviceConfigCmd' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteDeviceConfigCmd tags: - Utilities Common parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/device_id' /api/v1/sites/{site_id}/devices/{device_id}/ha: delete: description: Delete HA Cluster operationId: deleteSiteDeviceHaCluster responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteSiteDeviceHaCluster 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\n\ 4. 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\n\ 2. 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\n\ From 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)\n\ 3. 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)\n\ 3. 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\n\ 6. 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\n\ 4. 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\n\ 3. 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\n\ 6. 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\n\ 6. 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\n\ Usually 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 requestBody: content: application/json: examples: example-1: value: nodes: - mac: aff827549235 - mac: 8396cd006c8c schema: $ref: '#/components/schemas/gateway_cluster_form' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createSiteDeviceHaCluster tags: - Sites Devices - WAN Cluster put: deprecated: true description: Swap nodes on the HA Cluster operationId: swapSiteDeviceHaClusterNode requestBody: content: application/json: schema: $ref: '#/components/schemas/gateway_cluster_swap' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: swapSiteDeviceHaClusterNode tags: - Sites Devices - WAN Cluster /api/v1/sites/{site_id}/devices/{device_id}/image{image_number}: delete: description: Delete image from a device operationId: deleteSiteDeviceImage responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: 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 requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/image_import' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: addSiteDeviceImage tags: - Sites Devices /api/v1/sites/{site_id}/devices/{device_id}/iot: get: description: Returns the current state of each enabled IoT pin configured as an output. operationId: getSiteDeviceIotPort responses: '200': $ref: '#/components/responses/DeviceIot' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: 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 requestBody: content: application/json: schema: additionalProperties: type: integer description: Property key is the IoT port name (e.g A0) example: A1: 1 DO: 0 type: object description: Request Body responses: '200': $ref: '#/components/responses/DeviceIot' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: setSiteDeviceIotPort tags: - Sites Devices - Wireless /api/v1/sites/{site_id}/devices/{device_id}/local_port_config: delete: description: Sometimes HelpDesk Admin needs to change port configs operationId: deleteSiteLocalSwitchPortConfig responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: 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 requestBody: content: application/json: examples: example-1: value: ae_disable_lacp: true ae_idx: 0 aggregated: false description: string disable_autoneg: true duplex: auto dynamic_usage: string esilag: true poe_disabled: true speed: auto usage: string schema: $ref: '#/components/schemas/junos_port_config' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateSiteLocalSwitchPortConfig tags: - Sites Devices - Wired /api/v1/sites/{site_id}/devices/{device_id}/locate: 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 responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: startSiteLocateDevice tags: - Utilities Wi-Fi /api/v1/sites/{site_id}/devices/{device_id}/ping: 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 requestBody: content: application/json: examples: example-1: value: count: 10 host: 1.1.1.1 schema: $ref: '#/components/schemas/utils_ping' description: Request Body responses: '200': $ref: '#/components/responses/WebsocketSession' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: pingFromDevice tags: - Utilities Common /api/v1/sites/{site_id}/devices/{device_id}/poll_stats: 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 responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: pollSiteSwitchStats tags: - Utilities LAN /api/v1/sites/{site_id}/devices/{device_id}/readopt: 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 responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: readoptSiteOctermDevice tags: - Utilities Common /api/v1/sites/{site_id}/devices/{device_id}/release_dhcp: parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/device_id' post: description: Releases an active DHCP lease. operationId: releaseSiteSsrDhcpLease requestBody: content: application/json: examples: Example: value: node: node0 port: string schema: $ref: '#/components/schemas/utils_release_dhcp' responses: '200': $ref: '#/components/responses/OK' '400': description: Parameter `port ` absent '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: releaseSiteSsrDhcpLease tags: - Utilities WAN /api/v1/sites/{site_id}/devices/{device_id}/reprovision: parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/device_id' post: description: To force one device to reprovision itself again. operationId: reprovisionSiteOctermDevice responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: readoptSiteOctermDevice tags: - Utilities Common /api/v1/sites/{site_id}/devices/{device_id}/request_ztp_password: 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 responses: '200': content: application/json: examples: example-1: value: root_password: ef8070ef8f924edb592e1819ed64b31172ab8de9d5cde75d3f46acd9506202ab9b1cbb97e381c5aa11037f17e5ed7b4b609461cd813d944670549d410ef82f2e schema: $ref: '#/components/schemas/root_password' description: OK '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteDeviceZtpPassword tags: - Utilities Common /api/v1/sites/{site_id}/devices/{device_id}/resolve_dns: 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 responses: '200': $ref: '#/components/responses/WebsocketSession' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: testSiteSsrDnsResolution tags: - Utilities WAN /api/v1/sites/{site_id}/devices/{device_id}/restart: parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/device_id' post: description: Restart / Reboot a device operationId: restartSiteDevice requestBody: content: application/json: schema: $ref: '#/components/schemas/utils_devices_restart' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: restartSiteDevice tags: - Utilities Common /api/v1/sites/{site_id}/devices/{device_id}/service_ping: 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 requestBody: content: application/json: examples: example-1: value: count: 10 host: 1.1.1.1 service: web-session schema: $ref: '#/components/schemas/utils_service_ping' description: Request Body responses: '200': $ref: '#/components/responses/WebsocketSession' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: servicePingFromSsr tags: - Utilities WAN /api/v1/sites/{site_id}/devices/{device_id}/show_arp: 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 requestBody: content: application/json: examples: example-1: value: neighbor: 192.168.4.1 prefix: 192.168.0.5/30 protocol: bgp route: advertised vrf_name: default schema: $ref: '#/components/schemas/utils_show_arp' description: all attributes are optional responses: '200': $ref: '#/components/responses/WebsocketSession' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteDeviceArpTable tags: - Utilities Common /api/v1/sites/{site_id}/devices/{device_id}/show_evpn_database: 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 requestBody: content: application/json: examples: example-1: value: neighbor: 192.168.4.1 prefix: 192.168.0.5/30 protocol: bgp route: advertised vrf_name: default schema: $ref: '#/components/schemas/utils_show_evpn_database' description: all attributes are optional responses: '200': $ref: '#/components/responses/WebsocketSession' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteDeviceEvpnDatabase tags: - Utilities Common /api/v1/sites/{site_id}/devices/{device_id}/show_mac_table: 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 requestBody: content: application/json: examples: example-1: value: neighbor: 192.168.4.1 prefix: 192.168.0.5/30 protocol: bgp route: advertised vrf_name: default schema: $ref: '#/components/schemas/utils_show_mac_table' description: all attributes are optional responses: '200': $ref: '#/components/responses/WebsocketSession' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteDeviceMacTable tags: - Utilities Common /api/v1/sites/{site_id}/devices/{device_id}/show_route: 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 requestBody: content: application/json: examples: example-1: value: neighbor: 192.168.4.1 prefix: 192.168.0.5/30 protocol: bgp route: advertised vrf_name: default schema: $ref: '#/components/schemas/utils_show_route' description: all attributes are optional responses: '200': $ref: '#/components/responses/WebsocketSession' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteDeviceRoutes tags: - Utilities WAN /api/v1/sites/{site_id}/devices/{device_id}/show_service_path: 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 requestBody: content: application/json: examples: Example: value: node: node0 service_name: any schema: $ref: '#/components/schemas/utils_show_service_path' responses: '200': $ref: '#/components/responses/WebsocketSession' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteSsrServicePath tags: - Utilities WAN /api/v1/sites/{site_id}/devices/{device_id}/show_session: 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 requestBody: content: application/json: examples: Example: value: node: node0 service_name: any schema: $ref: '#/components/schemas/utils_show_session' responses: '200': $ref: '#/components/responses/WebsocketSession' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteSsrAndSrxSessions tags: - Utilities WAN /api/v1/sites/{site_id}/devices/{device_id}/snapshot: 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 responses: '200': $ref: '#/components/responses/DeviceSnapshot' '400': content: application/json: examples: cannot-snapshot-an-offline-device: value: cannot snapshot an offline device snapshot-not-supported: value: snapshot not supported schema: type: string description: Bad Request '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createSiteDeviceSnapshot tags: - Utilities LAN /api/v1/sites/{site_id}/devices/{device_id}/support: 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 requestBody: content: application/json: examples: example-1: value: info: full schema: $ref: '#/components/schemas/utils_send_support_logs' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': description: Device not online '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: uploadSiteDeviceSupportFile tags: - Utilities Common /api/v1/sites/{site_id}/devices/{device_id}/synthetic_test: get: description: Get Device Synthetic Test operationId: getSiteDeviceSyntheticTest responses: '200': description: scheduled '400': description: Device not online / Device not supported / Already in progress '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteDeviceSyntheticTest tags: - Synthetic Tests parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/device_id' post: description: Trigger Device Synthetic Test operationId: triggerSiteDeviceSyntheticTest requestBody: content: application/json: schema: $ref: '#/components/schemas/synthetic_test_device' responses: '200': description: scheduled '400': description: Device not online / Device not supported / Already in progress '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: triggerSiteDeviceSyntheticTest tags: - Synthetic Tests /api/v1/sites/{site_id}/devices/{device_id}/traceroute: 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 requestBody: content: application/json: examples: example-1: value: host: string port: 33434 protocol: udp schema: $ref: '#/components/schemas/utils_traceroute' description: Request Body responses: '200': $ref: '#/components/responses/WebsocketSession' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: tracerouteFromDevice tags: - Utilities Common /api/v1/sites/{site_id}/devices/{device_id}/unlocate: parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/device_id' post: description: Stop Locate a Device operationId: stopSiteLocateDevice responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: stopSiteLocateDevice tags: - Utilities Wi-Fi /api/v1/sites/{site_id}/devices/{device_id}/upgrade: parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/device_id' post: description: Device Upgrade operationId: upgradeSiteDevice requestBody: content: application/json: examples: example-1: value: version: 3.1.5 schema: $ref: '#/components/schemas/device_upgrade' responses: '200': $ref: '#/components/responses/UpgradeInfo' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: upgradeSiteDevice tags: - Utilities Common /api/v1/sites/{site_id}/devices/{device_id}/upgrade_bios: parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/device_id' post: description: Upgrade device bios operationId: upgradeSiteDeviceBios requestBody: content: application/json: examples: Example: value: version: CDEN_P_EX1_00.20.01.00 schema: $ref: '#/components/schemas/upgrade_bios' responses: '200': $ref: '#/components/responses/DeviceBiosUpgrade' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: upgradeSiteDeviceBios tags: - Utilities LAN /api/v1/sites/{site_id}/devices/{device_id}/vc: 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 responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteSiteVirtualChassis tags: - Sites Devices - Wired Virtual Chassis get: description: 'Get VC Status The API returns a combined view of the VC status which includes topology and stats_' operationId: getSiteDeviceVirtualChassis responses: '200': $ref: '#/components/responses/VirtualChassis' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: 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\n\ 3. 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\n\ 6. Wait for the VC to be formed. The Org\u2019s inventory will be updated\ \ for the new VC." operationId: createSiteVirtualChassis requestBody: content: application/json: examples: create-a-VC-with-three-members: value: members: - mac: aff827549235 vc_ports: - xe-0/1/0 vc_role: master - mac: 8396cd006c8c vc_ports: - xe-0/1/0 - xe-0/1/1 vc_role: backup - mac: 8396cd00888c vc_ports: - xe-0/1/0 vc_role: linecard create-a-pre-provisioned-VC-with-three-members: value: members: - mac: aff827549235 member_id: 0 vc_ports: - xe-0/1/0 - xe-0/1/1 vc_role: master - mac: 8396cd006c8c member_id: 1 vc_ports: - xe-0/1/0 vc_role: linecard - mac: 8396cd00888c member_id: 2 vc_ports: - xe-0/1/0 vc_role: backup preprovisioned: true schema: $ref: '#/components/schemas/virtual_chassis_config' description: Request Body responses: '200': $ref: '#/components/responses/VirtualChassis' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createSiteVirtualChassis tags: - Sites Devices - Wired Virtual Chassis put: description: "The VC creation and adding member switch API will update the device\u2019\ s 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\n\ 3. Waiting for the VC state (vc_state) of this switch is changed to not-present\n\ 4. 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\u2019\ t 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 requestBody: content: application/json: examples: adding-two-new-switches-as-line-cards-into-the-VC: value: members: - mac: aff827549235 member: 0 vc_ports: - xe-0/1/1 vc_role: linecard - mac: 8396cd00777c vc_ports: - xe-0/1/0 vc_role: linecard op: add convert-to-pre-provisioned-VC: value: member: 0 members: - mac: string member: 0 vc_ports: - string vc_role: master new-member: 0 op: add removing-two-switches-from-VC: value: members: - member: 2 - member: 3 op: remove renumber-member-ID-3-to-member-ID-2: value: member: 3 new-member: 2 op: renumber schema: $ref: '#/components/schemas/virtual_chassis_update' description: Request Body responses: '200': $ref: '#/components/responses/VirtualChassis' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateSiteVirtualChassisMember tags: - Sites Devices - Wired Virtual Chassis /api/v1/sites/{site_id}/devices/{device_id}/vc/vc_port: parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/device_id' post: description: Set VC port operationId: setSiteVcPort requestBody: content: application/json: examples: delete-VC-port-of-xe-0/1/1-of-member-0-and-member-2: value: members: - member: 0 vc_ports: - xe-0/1/1 - member: 2 vc_ports: - xe-0/1/1 op: delete set-VC-port-of-xe-0/1/1-of-member-0-and-member-2: value: members: - member: 0 vc_ports: - xe-0/1/1 - member: 2 vc_ports: - xe-0/1/1 op: set schema: $ref: '#/components/schemas/virtual_chassis_port' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: setSiteVcPort tags: - Sites Devices - Wired Virtual Chassis /api/v1/sites/{site_id}/events/fast_roam: get: description: Get Roaming Events data operationId: getSiteRoamingEvents parameters: - description: event type in: query name: type schema: enum: - success - fail - none title: fast_roam_result type: string - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' responses: '200': $ref: '#/components/responses/EventsFastroam' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteRoamingEvents tags: - Sites Events parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/events/system/count: get: description: Count System Events operationId: countSiteSystemEvents parameters: - in: query name: distinct schema: default: type enum: - type title: Site System Events count distinct type: string - $ref: '#/components/parameters/system_event_type' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countSiteSystemEvents tags: - Sites Events parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/events/system/search: 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' responses: '200': $ref: '#/components/responses/DeviceEventsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchSiteSystemEvents tags: - Sites Events parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/evpn_topologies: get: description: Get the existing EVPN topology operationId: getSiteEvpnTopology responses: '200': $ref: '#/components/responses/EvpnTopology' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: 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\n\ 2. You can also use `core` / `distribution` to form a 2-tier EVPN topology\ \ where ESI-Lag is configured distribution to connect to access switches\n\ 3. 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\n\ For 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 requestBody: content: application/json: examples: example-1: value: name: CC overwrite: true pod_names: '1': default '2': default switches: - mac: 5c5b35000003 role: collapsed-core - mac: 5c5b35000004 role: collapsed-core schema: $ref: '#/components/schemas/junos_evpn_topology' responses: '200': $ref: '#/components/responses/EvpnTopology' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createSiteEvpnTopology tags: - Sites EVPN Topologies /api/v1/sites/{site_id}/evpn_topologies/{evpn_topology_id}: delete: description: Delete the site EVPN Topology operationId: deleteSiteEvpnTopology responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteSiteEvpnTopology tags: - Sites EVPN Topologies get: description: Get One EVPN Topology Detail operationId: getSiteEvpnTolopogy responses: '200': description: OK '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: 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 requestBody: content: application/json: examples: example-1: value: overwrite: false switches: - mac: 5c5b35000003 role: collapsed-core - mac: 5c5b35000004 role: none schema: $ref: '#/components/schemas/junos_evpn_topology' responses: '200': $ref: '#/components/responses/EvpnTopology' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateSiteEvpnTopology tags: - Sites EVPN Topologies /api/v1/sites/{site_id}/gatewaytemplates/derived: get: description: Get derived Gateway Templates for Site operationId: getSiteGatewayTemplateDerived parameters: - description: whether resolve the site variables in: query name: resolve schema: type: boolean responses: '200': $ref: '#/components/responses/Gatewaytemplate' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteGatewayTemplateDerived tags: - Sites Gateway Templates parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/guests: 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 responses: '200': $ref: '#/components/responses/GuestsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteAllGuestAuthorizations tags: - Sites Guests parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/guests/count: get: description: Count Authorized Guest operationId: countSiteGuestAuthorizations parameters: - example: auth_method in: query name: distinct schema: default: auth_method enum: - auth_method - ssid - company title: Site Guests count distinct type: string - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countSiteGuestAuthorizations tags: - Sites Guests parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/guests/derived: 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' enum: - 'true' - 'false' type: string responses: '200': $ref: '#/components/responses/GuestsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteAllGuestAuthorizationsDerived tags: - Sites Guests parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/guests/search: 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' responses: '200': $ref: '#/components/responses/GuestsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchSiteGuestAuthorization tags: - Sites Guests parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/guests/{guest_mac}: delete: description: Delete Guest Authorization operationId: deleteSiteGuestAuthorization responses: '200': content: application/json: schema: type: object description: OK '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteSiteGuestAuthorization tags: - Sites Guests get: description: Get Guest Authorization operationId: getSiteGuestAuthorization responses: '200': $ref: '#/components/responses/Guest' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteGuestAuthorization tags: - Sites Guests parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/guest_mac' put: description: Update Guest Authorization operationId: updateSiteGuestAuthorization requestBody: content: application/json: schema: $ref: '#/components/schemas/guest' description: Request Body responses: '200': $ref: '#/components/responses/Guest' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateSiteGuestAuthorization tags: - Sites Guests /api/v1/sites/{site_id}/insights/client/{client_mac}/{metric}: get: description: 'Get Client Insight Metrics See 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' responses: '200': $ref: '#/components/responses/InsightMetric' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteInsightMetricsForClient tags: - Sites Insights parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/client_mac' - $ref: '#/components/parameters/metric' /api/v1/sites/{site_id}/insights/device/{device_mac}/{metric}: get: description: 'Get AP Insight Metrics See 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' responses: '200': $ref: '#/components/responses/DeviceMetric' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteInsightMetricsForDevice tags: - Sites Insights parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/metric' - $ref: '#/components/parameters/device_mac' /api/v1/sites/{site_id}/insights/rogues: 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' responses: '200': $ref: '#/components/responses/InsightRogue' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteRogueAPs tags: - Sites Rogues parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/insights/rogues/clients: 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' responses: '200': $ref: '#/components/responses/InsightRogueClients' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteRogueClients tags: - Sites Rogues parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/insights/{metric}: get: description: 'Get Site Insight Metrics See 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' responses: '200': $ref: '#/components/responses/InsightMetric' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteInsightMetrics tags: - Sites Insights parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/metric' /api/v1/sites/{site_id}/licenses/usages: get: description: This shows license usage (i.e. needed) based on the features enabled for the site. operationId: getSiteLicenseUsage responses: '200': $ref: '#/components/responses/GetLicenceUsage' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteLicenseUsage tags: - Sites Licenses parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/location/coverage: 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: title: coverage_client_type type: string - $ref: '#/components/parameters/duration' - $ref: '#/components/parameters/resolution' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' responses: '200': $ref: '#/components/responses/LocationCoverage' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteBeamCoverageOverview tags: - Sites Location parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/location/ml/current: get: description: 'Get Machine Learning Current Stat For 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 responses: '200': $ref: '#/components/responses/Ml' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteMachineLearningCurrentStat tags: - Sites Location parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/location/ml/defaults: get: description: Get Default PLF for Models operationId: getSiteDefaultPlfForModels responses: '200': $ref: '#/components/responses/Ml' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteDefaultPlfForModels tags: - Sites Location parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/location/ml/device/{device_id}: delete: description: Clear ML Overwrite for Device operationId: clearSiteMlOverwriteForDevice responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: clearSiteMlOverwriteForDevice tags: - Sites Location parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/device_id' put: description: Overwrite ML For Device operationId: overwriteSiteMlForDevice requestBody: content: application/json: examples: example-1: value: iOS: int: 6 ple: -3 iPod: int: -10 ple: -5 schema: $ref: '#/components/schemas/ml_overwrite' description: Request Body responses: '200': $ref: '#/components/responses/Ml' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: overwriteSiteMlForDevice tags: - Sites Location /api/v1/sites/{site_id}/location/ml/map/{map_id}: delete: description: Clear ML Overwrite for Map operationId: clearSiteMlOverwriteForMap responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: clearSiteMlOverwriteForMap tags: - Sites Location parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/map_id' put: description: Overwrite ML For Map operationId: overwriteSiteMlForMap requestBody: content: application/json: examples: example-1: value: iOS: int: 6 ple: -3 iPod: int: -10 ple: -5 schema: $ref: '#/components/schemas/ml_overwrite' description: Request Body responses: '200': $ref: '#/components/responses/Ml' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: overwriteSiteMlForMap tags: - Sites Location /api/v1/sites/{site_id}/location/ml/reset/map/{map_id}: parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/map_id' post: description: Reset ML Stats by Map operationId: resetSiteMlStatsByMap responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: resetSiteMlStatsByMap tags: - Sites Location /api/v1/sites/{site_id}/maps: get: description: Get List of Site Maps operationId: listSiteMaps parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/MapsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteMaps tags: - Sites Maps parameters: - $ref: '#/components/parameters/site_id' post: description: Create Site Map operationId: createSiteMap requestBody: content: application/json: examples: example-1: value: flags: {} height: 0 height_m: 0 latlng_br: lat: string lng: string latlng_tl: lat: string lng: string locked: true name: string occupancy_limit: 0 orientation: 0 origin_x: 0 origin_y: 0 ppm: 0 sitesurvey_path: - coordinate: string id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 name: string nodes: - edges: N2: string name: string position: x: 0 y: 0 thumbnail_url: string type: image url: string view: roadmap wall_path: coordinate: string nodes: - edges: N2: string name: string position: x: 0 y: 0 wayfinding: micello: account_key: string default_level_id: 0 map_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 snap_to_path: true wayfinding_path: coordinate: string nodes: - edges: N2: string name: string position: x: 0 y: 0 width: 0 width_m: 0 schema: $ref: '#/components/schemas/map' description: Request Body responses: '200': $ref: '#/components/responses/Map' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createSiteMap tags: - Sites Maps /api/v1/sites/{site_id}/maps/import: 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. # Note This 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) # CSV File Format ```csv Vendor AP name,Mist AP Mac US Office AP-2,5c:5b:35:00:00:02 US Office AP-3,5c5b35000002 ```' operationId: importSiteMaps requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/map_site_import_file' responses: '200': $ref: '#/components/responses/MapImport' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: importSiteMaps tags: - Sites Maps /api/v1/sites/{site_id}/maps/{map_id}: delete: description: Delete Site Map operationId: deleteSiteMap responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteSiteMap tags: - Sites Maps get: description: Get Site Map Details operationId: getSiteMap responses: '200': $ref: '#/components/responses/Map' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteMap tags: - Sites Maps parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/map_id' put: description: Update Site Map operationId: updateSiteMap requestBody: content: application/json: examples: example-1: value: flags: {} height: 0 height_m: 0 latlng_br: lat: string lng: string latlng_tl: lat: string lng: string locked: true name: string occupancy_limit: 0 orientation: 0 origin_x: 0 origin_y: 0 ppm: 0 sitesurvey_path: - coordinate: string id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 name: string nodes: - edges: N2: string name: string position: x: 0 y: 0 thumbnail_url: string type: image url: string view: roadmap wall_path: coordinate: string nodes: - edges: N2: string name: string position: x: 0 y: 0 wayfinding: micello: account_key: string default_level_id: 0 map_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 snap_to_path: true wayfinding_path: coordinate: string nodes: - edges: N2: string name: string position: x: 0 y: 0 width: 0 width_m: 0 schema: $ref: '#/components/schemas/map' description: Request Body responses: '200': $ref: '#/components/responses/Map' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateSiteMap tags: - Sites Maps /api/v1/sites/{site_id}/maps/{map_id}/auto_orient: delete: description: This API is called to force stop auto placement for a given map operationId: deleteSiteApAutoOrientation responses: '200': $ref: '#/components/responses/OK' '400': description: Autoplacement was not triggered '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: 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. List 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 requestBody: content: application/json: schema: $ref: '#/components/schemas/auto_orient' responses: '200': $ref: '#/components/responses/AutoOrientation' '400': $ref: '#/components/responses/AutoOrientationFailed' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: startSiteApAutoOrientation tags: - Sites Maps Auto-orientation /api/v1/sites/{site_id}/maps/{map_id}/auto_placement: delete: description: This API is called to force stop auto placement for a given map operationId: deleteSiteApAutoplacement responses: '200': description: Autoplacement Process has stopped for this map '400': description: Autoplacement was not triggered '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteSiteApAutoplacement tags: - Sites Maps Auto-placement get: description: 'This API is called to view the current status of auto placement for a given map. #### Status Descriptions | Status | Description | | --- | --- | | `pending` | Autoplacement has not been requested for this map | | `inprogress` | Autoplacement is currently processing | | `done` | The autoplacement process has completed | | `data_needed` | Additional position data is required for autoplacement. Users should verify the requested anchor APs have a position on the map | | `invalid_model` | Autoplacement is not supported on the model of the APs on the map | | `invalid_version` | Autoplacement is not supported with the APs current firmware version | | `error` | There was an error in the autoplacement process |' operationId: getSiteApAutoPlacement responses: '200': $ref: '#/components/responses/AutoPlacementInfo' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: 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. List 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 requestBody: content: application/json: schema: $ref: '#/components/schemas/auto_placement' responses: '200': description: Autoplacement Process has begun for this map '400': description: "* Map has less than 3 APs associated with it to perform auto\ \ placement \n* Auto AP Placement is already in progress for this Map\n\ * Autoplacement data does not exist or has gone stale" '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: runSiteApAutoplacement tags: - Sites Maps Auto-placement /api/v1/sites/{site_id}/maps/{map_id}/clear_auto_orient: 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 requestBody: content: application/json: schema: $ref: '#/components/schemas/mac_addresses' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: clearSiteApAutoOrient tags: - Sites Maps Auto-orientation /api/v1/sites/{site_id}/maps/{map_id}/clear_autoplacement: 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 requestBody: content: application/json: schema: $ref: '#/components/schemas/mac_addresses' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: clearSiteApAutoplacement tags: - Sites Maps Auto-placement /api/v1/sites/{site_id}/maps/{map_id}/image: delete: description: Delete Site Map Image operationId: deleteSiteMapImage responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: 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 requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/image_import' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: addSiteMapImage tags: - Sites Maps /api/v1/sites/{site_id}/maps/{map_id}/replace: parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/map_id' post: description: 'Replace Map Image This 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 requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/map_site_replace_file' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: replaceSiteMapImage tags: - Sites Maps /api/v1/sites/{site_id}/maps/{map_id}/set_map: 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 requestBody: content: application/json: examples: Example: value: macs: - 5c5b35000001 - 5c5b35584a6f schema: $ref: '#/components/schemas/mac_addresses' responses: '200': $ref: '#/components/responses/SetDevicesMap' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: bulkAssignSiteApsToMap tags: - Sites Maps /api/v1/sites/{site_id}/maps/{map_id}/use_auto_ap_values: 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 requestBody: content: application/json: examples: Example: value: accept: false device_macs: - string for: placement schema: $ref: '#/components/schemas/use_auto_ap_values' responses: '200': description: Success '400': description: 'Invalid localization service expected: placement or orientation' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: confirmSiteApLocalizationData tags: - Sites Maps Auto-placement /api/v1/sites/{site_id}/maps/{map_id}/wayfinding/import: 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 requestBody: content: application/json: schema: $ref: '#/components/schemas/wayfinding_import_json' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: importSiteWayfindings tags: - Sites Maps /api/v1/sites/{site_id}/mxedges: get: description: Get List of Site Mist Edges operationId: listSiteMxEdges parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/MxedgesArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteMxEdges tags: - Sites MxEdges parameters: - $ref: '#/components/parameters/site_id' post: description: Create Site Mist Edge operationId: createSiteMxEdge requestBody: content: application/json: schema: $ref: '#/components/schemas/mxedge' responses: '200': $ref: '#/components/responses/Mxedge' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createSiteMxEdge tags: - Sites MxEdges /api/v1/sites/{site_id}/mxedges/events/count: get: description: Count Mist Edge Events operationId: countSiteMxEdgeEvents parameters: - in: query name: distinct schema: default: mxedge_id enum: - mxedge_id - type - mxcluster_id - package title: Site Mx Edge Events count distinct 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 - $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' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countSiteMxEdgeEvents tags: - Sites MxEdges parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/mxedges/events/search: 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 - $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' responses: '200': $ref: '#/components/responses/MxEdgeEventsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searcSitehMistEdgeEvents tags: - Sites MxEdges parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/mxedges/{mxedge_id}: delete: description: Delete Site Mist Edge operationId: deleteSiteMxEdge responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteSiteMxEdge tags: - Sites MxEdges get: description: get Site Mist Edge operationId: getSiteMxEdge responses: '200': description: OK '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteMxEdge tags: - Sites MxEdges parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/mxedge_id' put: description: Update Site Mist Edge settings operationId: updateSiteMxEdge requestBody: content: application/json: schema: $ref: '#/components/schemas/mxedge' responses: '200': $ref: '#/components/responses/Mxedge' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateSiteMxEdge tags: - Sites MxEdges /api/v1/sites/{site_id}/mxedges/{mxedge_id}/support: parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/mxedge_id' post: description: Support / Upload Mist Edge support files operationId: uploadSiteMxEdgeSupportFiles responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: uploadSiteMxEdgeSupportFiles tags: - Sites MxEdges /api/v1/sites/{site_id}/mxtunnels/{mxtunnel_id}/preempt_aps: 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 responses: '200': $ref: '#/components/responses/MxTunnelsPreemptAps' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: preemptSitesMxTunnel tags: - Utilities MxEdge /api/v1/sites/{site_id}/nac_clients/count: 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 title: Site Nac Clients count distinct 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, \u201C\ denied, \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' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countSiteNacClients tags: - Sites Clients - NAC parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/nac_clients/events/count: 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 title: Site Nac Client Events count distinct type: string - $ref: '#/components/parameters/nac_event_type' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countSiteNacClientEvents tags: - Sites Clients - NAC parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/nac_clients/events/search: get: description: Search NAC Client Events operationId: searcsearcSiteNacClientEventsacClientEvents 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: 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: 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' responses: '200': $ref: '#/components/responses/EventsNacClientSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searcsearcSiteNacClientEventsacClientEvents tags: - Sites Clients - NAC parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/nac_clients/search: 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, \u201C\ denied, \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' responses: '200': $ref: '#/components/responses/ClientNacSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchSiteNacClients tags: - Sites Clients - NAC parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/networks/derived: 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 responses: '200': $ref: '#/components/responses/NetworksArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteNetworksDerived tags: - Sites Networks parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/networktemplates/derived: get: description: Get derived Network Templates for Site operationId: getSiteNetworkTemplateDerived parameters: - description: whether resolve the site variables in: query name: resolve schema: type: boolean responses: '200': $ref: '#/components/responses/Networktemplate' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteNetworkTemplateDerived tags: - Sites Network Templates parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/otherdevices: 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' responses: '200': $ref: '#/components/responses/DeviceOtherArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteOtherDevices tags: - Sites Devices Others parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/otherdevices/events/count: get: description: Count Site OtherDevices Events operationId: countSiteOtherDeviceEvents parameters: - in: query name: distinct schema: default: mac enum: - mac - type - vendor - site_id title: Site Other Device Events count distinct type: string - $ref: '#/components/parameters/otherdevice_event_type' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countSiteOtherDeviceEvents tags: - Sites Devices Others parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/otherdevices/events/search: 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' responses: '200': $ref: '#/components/responses/EventsOtherDevicesSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchSiteOtherDeviceEvents tags: - Sites Devices Others parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/pcaps: 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 responses: '200': $ref: '#/components/responses/PcapsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSitePacketCaptures tags: - Utilities PCAPs parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/pcaps/capture: delete: description: Stop current capture operationId: stopSitePacketCapture responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: stopSitePacketCapture tags: - Utilities PCAPs get: description: Get Capturing status operationId: getSiteCapturingStatus responses: '200': $ref: '#/components/responses/PcapStatus' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: 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 requestBody: content: application/json: examples: AP-New-Wireless-Client-Associations-Packet-Capture: value: client_mac: 60a10a773412 duration: 600 includes_mcast: false max_pkt_len: 128 num_packets: 100 type: new_assoc AP-Radiotap-Packet-Capture: value: duration: 600 max_pkt_len: 68 num_packets: 100 type: radiotap AP-Radiotap-Packet-Capture-and-Wired-Packet-Capture: value: ap_mac: string client_mac: string duration: 600 includes_mcast: true max_pkt_len: 128 num_packets: 1024 ssid: string type: client AP-Scan-radio-Packet-Capture: value: ap_mac: null band: '24' bandwidth: 20 channel: 1 client_mac: 38f9d3972ff1 duration: 600 format: stream max_pkt_len: 68 num_packets: 100 tcpdump_expression: tcp port 80 type: scan AP-Wired-Packet-Capture: value: duration: 600 max_pkt_len: 68 num_packets: 100 tcpdump_expression: tcp port 80 type: wired AP-Wireless-Packet-Capture: value: ap_mac: null band: '24' duration: 600 max_pkt_len: 128 num_packets: 100 type: wireless Client-Packet-Capture: value: client_mac: 60a10a773412 duration: 300 includes_mcast: false max_pkt_len: 128 num_packets: 1000 type: client SSR-Packet-Capture: value: duration: 600 format: stream gateways: '001122334455': ports: ge-0/0/0: tcpdump_expression: tcp ge-0/0/1: tcpdump_expression: port 443 ge-1/0/0: tcpdump_expression: tcp ge-1/0/1: tcpdump_expression: port 443 '001122334466': ports: ge-0/0/0: tcpdump_expression: udp ge-0/0/1: tcpdump_expression: port 32768 max_pkt_len: 1500 num_packets: 100 type: gateway Switch-Packet-Capture: value: duration: 600 format: stream max_pkt_len: 1500 num_packets: 100 switches: '001122334455': ports: ge-0/0/0: tcpdump_expression: udp ge-0/0/1: {} ge-1/0/0: null ge-1/0/1: {} '001122334466': ports: ge-0/0/0: {} ge-0/0/1: {} tcpdump_expression: port 443 type: switch schema: $ref: '#/components/schemas/capture_site' description: Request Body responses: '200': $ref: '#/components/responses/PcapStart' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: startSitePacketCapture tags: - Utilities PCAPs /api/v1/sites/{site_id}/pcaps/{pcap_id}: parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/pcap_id' put: description: Update or add notes to a completed packet capture operationId: updateSitePacketCapture requestBody: content: application/json: examples: Example: value: notes: wired pcap test schema: $ref: '#/components/schemas/notes' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateSitePacketCapture tags: - Utilities PCAPs /api/v1/sites/{site_id}/psks: 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' responses: '200': $ref: '#/components/responses/PsksArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSitePsks tags: - Sites Psks parameters: - $ref: '#/components/parameters/site_id' post: description: Create Site PSK operationId: createSitePsk requestBody: content: application/json: examples: example-1: value: mac: string name: string passphrase: stringst ssid: string usage: multi vlan_id: 1 schema: $ref: '#/components/schemas/psk' description: Request Body responses: '200': $ref: '#/components/responses/Psk' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createSitePsk tags: - Sites Psks put: description: Update multi PSKs operationId: updateSitePsks requestBody: content: application/json: schema: $ref: '#/components/schemas/psks' responses: '200': $ref: '#/components/responses/PsksArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateSitePsks tags: - Sites Psks /api/v1/sites/{site_id}/psks/import: parameters: - $ref: '#/components/parameters/site_id' post: description: 'Import PSK from CSV file or JSON ## CSV File Format ```csv PSK Import CSV File Format: name,ssid,passphrase,usage,vlan_id,mac Common,warehouse,foryoureyesonly,single,35,a31425f31278 Justin,reception,visible,multi,1002 ```' operationId: importSitePsks requestBody: content: application/json: schema: $ref: '#/components/schemas/psks' multipart/form-data: schema: $ref: '#/components/schemas/psks_import_file' responses: '200': $ref: '#/components/responses/PsksArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: importSitePsks tags: - Sites Psks /api/v1/sites/{site_id}/psks/{psk_id}: delete: description: Delete Site PSK operationId: deleteSitePsk responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteSitePsk tags: - Sites Psks get: description: Get Site PSK Details operationId: getSitePsk responses: '200': $ref: '#/components/responses/Psk' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSitePsk tags: - Sites Psks parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/psk_id' put: description: Update Site PSK operationId: updateSitePsk requestBody: content: application/json: examples: example-1: value: mac: string name: string passphrase: stringst ssid: string usage: multi vlan_id: 1 schema: $ref: '#/components/schemas/psk' description: Request Body responses: '200': $ref: '#/components/responses/Psk' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateSitePsk tags: - Sites Psks /api/v1/sites/{site_id}/rfdiags: 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' responses: '200': $ref: '#/components/responses/RfdiagsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteSiteRfdiagRecording tags: - Sites Rfdiags parameters: - $ref: '#/components/parameters/site_id' post: description: Start RF Glass Recording operationId: startSiteRecording requestBody: content: application/json: schema: $ref: '#/components/schemas/rf_diag' description: Request Body responses: '200': $ref: '#/components/responses/Rfdiag' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: startSiteRecording tags: - Sites Rfdiags /api/v1/sites/{site_id}/rfdiags/{rfdiag_id}: delete: description: Delete Recording operationId: deleteSiteRfdiagRecording responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteSiteRfdiagRecording tags: - Sites Rfdiags get: description: Get RF Diage Recording Details operationId: getSiteRfdiagRecording responses: '200': $ref: '#/components/responses/Rfdiag' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteRfdiagRecording tags: - Sites Rfdiags parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/rfdiag_id' put: description: Update Recording operationId: updateSiteRfdiagRecording requestBody: content: application/json: schema: $ref: '#/components/schemas/rf_diag' description: Request Body responses: '200': $ref: '#/components/responses/Rfdiag' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateSiteRfdiagRecording tags: - Sites Rfdiags /api/v1/sites/{site_id}/rfdiags/{rfdiag_id}/download: get: description: 'Download Recording Download raw_events blob' operationId: downloadSiteRfdiagRecording responses: '200': $ref: '#/components/responses/File' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: downloadSiteRfdiagRecording tags: - Sites Rfdiags parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/rfdiag_id' /api/v1/sites/{site_id}/rfdiags/{rfdiag_id}/stop: 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 responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: stopSiteRfdiagRecording tags: - Sites Rfdiags /api/v1/sites/{site_id}/rftemplates/derived: get: description: Get derived RF Templates for Site operationId: getSiteRfTemplateDerived parameters: - description: whether resolve the site variables in: query name: resolve schema: type: boolean responses: '200': $ref: '#/components/responses/Rftemplate' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteRfTemplateDerived tags: - Sites RF Templates parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/rogues/events/count: get: description: Count Rogue Events operationId: countSiteRogueEvents parameters: - in: query name: distinct schema: default: bssid enum: - bssid - ssid - ap - type title: Site Rogue Events count distinct 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/limit' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countSiteRogueEvents tags: - Sites Rogues parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/rogues/events/search: 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' responses: '200': $ref: '#/components/responses/RogueEventsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchSiteRogueEvents tags: - Sites Rogues parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/rogues/{rogue_bssid}: get: description: Get Rogue AP Details operationId: getSiteRogueAP responses: '200': $ref: '#/components/responses/RogueDetails' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteRogueAP tags: - Sites Rogues parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/rogue_bssid' /api/v1/sites/{site_id}/rogues/{rogue_bssid}/deauth_clients: 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 responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deauthSiteWirelessClientsConnectedToARogue tags: - Utilities Wi-Fi /api/v1/sites/{site_id}/rrm/current: get: description: Get Current Channel Planning operationId: getSiteCurrentChannelPlanning responses: '200': $ref: '#/components/responses/Rrm' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteCurrentChannelPlanning tags: - Sites RRM parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/rrm/current/devices/{device_id}/band/{band}: get: description: Get Current RRM Considerations for an AP on a Specific Band operationId: getSiteCurrentRrmConsiderations responses: '200': $ref: '#/components/responses/RrmConsideration' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: 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' /api/v1/sites/{site_id}/rrm/current/devices/{device_id}/neighbors: get: description: Get Current RRM observed neighbors operationId: getSiteCurrentRrmNeighbors parameters: - description: 802.11 Band in: query name: band required: true schema: $ref: '#/components/schemas/dot11_band' responses: '200': $ref: '#/components/responses/RrmNeighbors' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteCurrentRrmNeighbors tags: - Sites RRM parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/device_id' - description: 802.11 Band in: query name: band required: true schema: $ref: '#/components/schemas/dot11_band' /api/v1/sites/{site_id}/rrm/events: 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' responses: '200': $ref: '#/components/responses/RrmEvents' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteRrmEvents tags: - Sites RRM parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/rrm/optimize: parameters: - $ref: '#/components/parameters/site_id' post: description: Optimize Site RRM operationId: optimizeSiteRrm requestBody: content: application/json: examples: example-1: value: bands: - '24' - '5' - '6' schema: $ref: '#/components/schemas/utils_rrm_optimize' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: optimizeSiteRrm tags: - Utilities Wi-Fi /api/v1/sites/{site_id}/rssizones: get: description: Get List of Site RSSI Zone (RSSI-based) operationId: listSiteRssiZones parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': content: application/json: schema: $ref: '#/components/schemas/rssi_zones' description: OK '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteRssiZones tags: - Sites RSSI Zones parameters: - $ref: '#/components/parameters/site_id' post: description: Create RSSI Zone operationId: createSiteRssiZone requestBody: content: application/json: examples: example-1: value: devices: - device_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 rssi: 0 name: string schema: $ref: '#/components/schemas/rssi_zone' description: Request Body responses: '200': content: application/json: examples: example-1: value: created_time: 0 devices: - device_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 rssi: 0 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 modified_time: 0 name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 schema: $ref: '#/components/schemas/rssi_zone' description: OK '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createSiteRssiZone tags: - Sites RSSI Zones /api/v1/sites/{site_id}/rssizones/{rssizone_id}: delete: description: Delete Site RSSI Zone operationId: deleteSiteRssiZone responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteSiteRssiZone tags: - Sites RSSI Zones get: description: Get Site RSSI Zone details operationId: getSiteRssiZone responses: '200': $ref: '#/components/responses/RssizonesArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteRssiZone tags: - Sites RSSI Zones parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/rssizone_id' put: description: Update Site RSSI Zone operationId: updateSiteRssiZone requestBody: content: application/json: examples: example-1: value: devices: - device_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 rssi: 0 name: string schema: $ref: '#/components/schemas/rssi_zone' description: Request Body responses: '200': $ref: '#/components/responses/Rssizone' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateSiteRssiZone tags: - Sites RSSI Zones /api/v1/sites/{site_id}/servicepolicies/derived: 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 responses: '200': $ref: '#/components/responses/ServicePoliciesArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteServicePoliciesDerived tags: - Sites Service Policies parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/services/derived: 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 responses: '200': $ref: '#/components/responses/ServicesArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteServicesDerived tags: - Sites Services parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/services/events/count: 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 title: Site Service Events count distinct 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 - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countSiteServicePathEvents tags: - Sites Services parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/services/events/search: 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' responses: '200': $ref: '#/components/responses/ServicePathEventsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchSiteServicePathEvents tags: - Sites Services parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/setting: get: description: Get Site Settings operationId: getSiteSetting responses: '200': $ref: '#/components/responses/SiteSettings' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteSetting tags: - Sites Setting parameters: - $ref: '#/components/parameters/site_id' put: description: Update Site Settings operationId: updateSiteSettings requestBody: content: application/json: examples: Example: value: additional_config_cmds: - set snmp community public analytic: enabled: false ap_matching: enabled: true rules: - eth1,eth2: port_vlan_id: 1 vlan_ids: - 1 - 10 - 50 ap_port_config: model_specific: AP32: eth1,eth2: port_vlan_id: 1 vlan_ids: - 1 - 10 - 50 auto_placement: orientation: 45 x: 30 y: 60 auto_preemption: day_of_week: any enabled: false time_of_day: any auto_upgrade: custom_versions: AP21: stable AP41: 0.1.5135 AP61: 0.1.7215 day_of_week: sun enabled: false time_of_day: '12:00' version: beta blacklist_url: https://papi.s3.amazonaws.com/blacklist/xxx... ble_config: beacon_enabled: false beacon_rate: 3 beacon_rate_mode: custom beam_disabled: - 1 - 3 - 6 custom_ble_packet_enabled: false custom_ble_packet_frame: 0x........ custom_ble_packet_freq_msec: 300 eddystone_uid_adv_power: -65 eddystone_uid_beams: 2-4,7 eddystone_uid_enabled: false eddystone_uid_freq_msec: 200 eddystone_uid_instance: 5c5b35000001 eddystone_uid_namespace: 2818e3868dec25629ede eddystone_url_adv_power: -65 eddystone_url_beams: 2-4,7 eddystone_url_enabled: true eddystone_url_freq_msec: 1000 eddystone_url_url: https://www.abc.com ibeacon_adv_power: -65 ibeacon_beams: 2-4,7 ibeacon_enabled: false ibeacon_freq_msec: 0 ibeacon_major: 13 ibeacon_minor: 138 ibeacon_uuid: f3f17139-704a-f03a-2786-0400279e37c3 power: 10 power_mode: custom config_auto_revert: false created_time: 0 device_updown_threshold: 0 dns_servers: - string dns_suffix: - string engagement: dwell_tag_names: bounce: Bounce engaged: Engaged passerby: Passer By stationed: Stationed dwell_tags: bounce: 'null' engaged: 300-14400 passerby: 'null' stationed: 14400-43200 hours: fri: 09:00-17:00 mon: 09:00-17:00 sat: 09:00-12:00 sun: 09:00-12:00 thu: 09:00-17:00 tue: 09:00-17:00 wed: 09:00-17:00 max_dwell: 43200 min_dwell: 0 evpn_options: auto_loopback_subnet: 100.101.0.0/16 auto_router_id_subnet: 100.100.0.0/24 core_as_border: false overlay: as: 65000 per_vlan_vga_v4_mac: false routed_at: edge underlay: as_base: 65001 routed_id_prefix: /24 subnet: 10.255.240.0/20 flags: property1: string property2: string for_site: true gateway_additional_config_cmds: - set snmp community public gateway_mgmt: admin_sshkeys: - string app_probing: apps: - string custom_apps: - app_type: string hostname: - string name: string protocol: http enabled: true app_usage: true auto_signature_update: day_of_week: any enable: true time_of_day: string config_revert_timer: 10 probe_hosts: - string root_password: string security_log_source_address: string security_log_source_interface: string id: 497f6eca-6276-4993-bfeb-53cbbbba6f10 led: brightness: 255 enabled: true modified_time: 0 mxedge: mist_das: coa_servers: - disable_event_timestamp_check: false enabled: true host: string port: 3799 secret: string enabled: false radsec: acct_servers: - host: string port: 1813 secret: string ssids: - string auth_servers: - host: string keywrap_enabled: true keywrap_format: hex keywrap_kek: string keywrap_mack: string port: 1812 secret: string ssids: - string enabled: true match_ssid: true proxy_hosts: - string server_selection: ordered source: any mxedge_mgmt: mist_password: MIST_PASSWORD root_password: ROOT_PASSWORD mxtunnels: ap_subnets: - 0.0.0.0/0 auto_preemption: day_of_week: mon enabled: false time_of_day: '12:00' clusters: - name: primary, tunterm_hosts: - mxedge1 - mxedge2.local created_time: 0 enabled: true for_site: true hello_interval: 60 hello_retries: 3 hosts: - string id: 497f6eca-6276-4993-bfeb-53cbbbba6f18 modified_time: 0 mtu: 1100 org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b protocol: udp radsec: acct_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1813 secret: testing123 auth_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1812 secret: testing123 enabled: false use_mxedge: true site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 vlan_ids: - 3 - 5 - 6 - 7-9 networks: property1: dns: - string dns_suffix: - string gateway: string ospf_interface_type: string subnet: string vlan_id: 0 zone: string property2: dns: - string dns_suffix: - string gateway: string ospf_interface_type: string subnet: string vlan_id: 0 zone: string ntp_servers: - string occupancy: assets_enabled: false clients_enabled: true min_duration: 3000 sdkclients_enabled: false unconnected_clients_enabled: false org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b ospf_areas: property1: include_loopback: false networks: corp: auth_keys: '1': auth-key-1 auth_type: md5 bfd_minimum_interval: 500 dead_interval: 40 hello_interval: 10 interface_type: nbma metric: 10000 guest: passive: true type: default property2: include_loopback: false networks: corp: auth_keys: '1': auth-key-1 auth_type: md5 bfd_minimum_interval: 500 dead_interval: 40 hello_interval: 10 interface_type: nbma metric: 10000 guest: passive: true type: default persist_config_on_device: false port_mirroring: property1: egress_port_ids: - ge-0/0/3 ingress_networks: - corp ingress_port_ids: - ge-0/0/3 output_network: analyze output_port_id: ge-0/0/5 property2: egress_port_ids: - ge-0/0/3 ingress_networks: - corp ingress_port_ids: - ge-0/0/3 output_network: analyze output_port_id: ge-0/0/5 port_usages: dynamic: mode: dynamic reset_default_when: link_down rules: - equals: string equals_any: - string expression: string src: lldp_chassis_id usage: string property1: all_networks: false allow_dhcpd: true authentication_protocol: pap bypass_auth_when_server_down: true description: string disable_autoneg: false disabled: false duplex: auto enable_mac_auth: true enable_qos: true guest_network: string mac_auth_only: true mac_limit: 0 mode: access mtu: 0 networks: - string persist_mac: false poe_disabled: false port_auth: string port_network: string rejected_network: null speed: string storm_control: no_broadcast: false no_multicast: false no_registered_multicast: false no_unknown_unicast: false percentage: 80 stp_edge: true voip_network: string property2: all_networks: false allow_dhcpd: true authentication_protocol: pap bypass_auth_when_server_down: true description: string disable_autoneg: false disabled: false duplex: auto enable_mac_auth: true enable_qos: true guest_network: string mac_auth_only: true mac_limit: 0 mode: access mtu: 0 networks: - string persist_mac: false poe_disabled: false port_auth: string port_network: string rejected_network: null speed: string storm_control: no_broadcast: false no_multicast: false no_registered_multicast: false no_unknown_unicast: false percentage: 80 stp_edge: true voip_network: string proxy: url: http://proxy.internal:8080/ radio_config: allow_rrm_disable: false ant_gain_24: 4 ant_gain_5: 5 ant_gain_6: 5 antenna_mode: default band_24: allow_rrm_disable: true ant_gain: 0 antenna_mode: default bandwidth: 20 channel: 0 channels: - 0 disabled: true power: 0 power_max: 0 power_min: 0 preamble: short usage: '24' band_24_usage: '5' band_5: allow_rrm_disable: true ant_gain: 0 antenna_mode: default bandwidth: 20 channel: 0 channels: - 0 disabled: true power: 0 power_max: 0 power_min: 0 preamble: short usage: '24' band_5_on_24_radio: allow_rrm_disable: true ant_gain: 0 antenna_mode: default bandwidth: 20 channel: 0 channels: - 0 disabled: true power: 0 power_max: 0 power_min: 0 preamble: short usage: '24' band_6: allow_rrm_disable: true ant_gain: 0 antenna_mode: default bandwidth: 20 channel: 0 channels: - 0 disabled: true power: 0 power_max: 0 power_min: 0 preamble: short usage: '24' indoor_use: false scanning_enabled: true radius_config: acct_interim_interval: 0 acct_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1813 secret: testing123 auth_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1812 secret: testing123 auth_servers_retries: 3 auth_servers_timeout: 5 coa_enabled: false coa_port: 3799 network: string source_ip: string remote_syslog: archive: files: 20 size: 5m console: contents: - facility: config severity: warning enabled: false files: - archive: files: 10 size: 5m contents: - facility: config severity: warning explicit_priority: true file: file-name match: '!alarm|ntp|errors.crc_error[chan]' structured_data: true network: default send_to_all_servers: false servers: - facility: config host: syslogd.internal port: 514 protocol: udp severity: info tag: '' time_format: millisecond users: - contents: - facility: config severity: warning match: '"!alarm|ntp|errors.crc_error[chan]"' user: '*' report_gatt: false rogue: enabled: false honeypot_enabled: false min_duration: 10 min_rssi: -80 whitelisted_bssids: - NeighborSSID whitelisted_ssids: - cc:8e:6f:d4:bf:16 - cc-8e-6f-d4-bf-16 - cc-73-* - cc:82:* rtsa: app_waking: false disable_dead_reckoning: true disable_pressure_sensor: false enabled: true track_asset: false simple_alert: arp_failure: client_count: 10 duration: 20 incident_count: 10 dhcp_failure: client_count: 10 duration: 10 incident_count: 20 dns_failure: client_count: 20 duration: 10 incident_count: 30 site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 skyatp: enabled: true send_ip_mac_mapping: true srx_app: enabled: false ssh_keys: - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAA...Wxa6p6UW0ZbcP john@host ssr: conductor_hosts: - '"1.1.1.1", "2.2.2.2"' disable_stats: true status_portal: enabled: false hostnames: - my.misty.com switch_matching: additional_config_cmds: - set snmp community public enabled: false rules: - {} switch_mgmt: ap_affinity_threshold: 10 config_revert_timer: 10 dhcp_option_fqdn: false mxedge_proxy_host: string mxedge_proxy_port: 2222 protect_re: allowed_services: - '["snmp", "icmp"]' custom: - port_range: string protocol: any subnets: - string enabled: true trusted_hosts: - '["10.242.3.0/24"]' root_password: string tacacs: acct_servers: - host: 198.51.100.1 port: '49' secret: string timeout: 10 enabled: true network: string tacplus_servers: - host: 198.51.100.1 port: '49' secret: string timeout: 10 use_mxedge_proxy: true track_anonymous_devices: false tunterm_monitoring: - host: 10.2.8.15 port: 80 protocol: tcp timeout: 300 tunterm_monitoring_disabled: false vars: RADIUS_IP1: 172.31.2.5 RADIUS_SECRET: 11s64632d vna: enabled: false vrf_instances: guest: extra_routes: 0.0.0.0/0: via: 192.168.31.1 networks: - guest vrrp_groups: property1: auth_key: auth-key-1 auth_password: string auth_type: md5 networks: data: ip: 10.182.96.1 mgmt: ip: 10.182.104.1 v10: ip: 10.182.104.129 wap: ip: 10.182.102.1 property2: auth_key: auth-key-1 auth_password: string auth_type: md5 networks: data: ip: 10.182.96.1 mgmt: ip: 10.182.104.1 v10: ip: 10.182.104.129 wap: ip: 10.182.102.1 vs_instances: property1: networks: - guest property2: networks: - guest wan_vna: enabled: false watched_station_url: https://papi.s3.amazonaws.com/watched_station/xxx... whitelist_url: https://papi.s3.amazonaws.com/whitelist/xxx... wids: repeated_auth_failures: duration: 60 threshold: 0 wifi: cisco_enabled: true disable_11k: false disable_radios_when_power_constrained: false enable_arp_spoof_check: false enable_shared_radio_scanning: true enabled: true locate_connected: true locate_unconnected: false mesh_allow_dfs: false mesh_enable_crm: false mesh_enabled: false mesh_psk: string mesh_ssid: string proxy_arp: default wired_vna: enabled: false zone_occupancy_alert: email_notifiers: - foo@juniper.net - bar@juniper.net enabled: false threshold: 5 schema: $ref: '#/components/schemas/site_setting' description: Request Body responses: '200': $ref: '#/components/responses/SiteSettings' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateSiteSettings tags: - Sites Setting /api/v1/sites/{site_id}/setting/blacklist: delete: description: Delete Site Blacklist Station Clients operationId: deleteSiteWirelessClientsBlocklist responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteSiteWirelessClientsBlocklist tags: - Sites Setting parameters: - $ref: '#/components/parameters/site_id' post: description: 'This endpoint is to provide list of client macs for annotation blacklist. Retrieve the current clients list `blacklist_url` under Site:Setting' operationId: createSiteWirelessClientsBlocklist requestBody: content: application/json: examples: example-1: value: macs: - 18-65-90-de-f4-c6 - 84-89-ad-5d-69-0d schema: $ref: '#/components/schemas/mac_addresses' description: Request Body responses: '200': $ref: '#/components/responses/MacsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createSiteWirelessClientsBlocklist tags: - Sites Setting /api/v1/sites/{site_id}/setting/jse/info: get: description: Retrieves the list of JSE orgs associated with the account operationId: getSiteJseInfo responses: '200': $ref: '#/components/responses/JseInfo' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteJseInfo tags: - Sites JSE parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/setting/watched_station: delete: description: Delete Site Watched Station Clients operationId: deleteSiteWatchedStations responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: 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. Retrieve the current clients list from `watched_station_url` under Site:Setting' operationId: createSiteWatchedStations requestBody: content: application/json: examples: example-1: value: macs: - 18-65-90-de-f4-c6 - 84-89-ad-5d-69-0d schema: $ref: '#/components/schemas/mac_addresses' description: Request Body responses: '200': $ref: '#/components/responses/MacsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createSiteWatchedStations tags: - Sites Setting /api/v1/sites/{site_id}/setting/whitelist: delete: description: Delete Site Whitelist Station Clients operationId: deleteSiteWirelessClientsAllowlist responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: 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. Retrieve the current clients list from `whitelist_url` under Site:Setting' operationId: createSiteWirelessClientsAllowlist requestBody: content: application/json: schema: $ref: '#/components/schemas/mac_addresses' description: Request Body responses: '200': $ref: '#/components/responses/MacsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createSiteWirelessClientsAllowlist tags: - Sites Setting /api/v1/sites/{site_id}/sitetemplates/derived: get: description: Get derived Site Templates for Site operationId: getSiteSiteTemplateDerived parameters: - description: whether resolve the site variables in: query name: resolve schema: type: boolean responses: '200': $ref: '#/components/responses/SiteTemplate' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteSiteTemplateDerived tags: - Sites Site Templates parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/skyatp/events/count: 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 title: Site SkyATP Events count distinct 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/limit' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countSiteSkyatpEvents tags: - Sites Skyatp parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/skyatp/events/search: 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' responses: '200': $ref: '#/components/responses/SkyAtpEventsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchSiteSkyatpEvents tags: - Sites Skyatp parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metric/{metric}/classifier/{classifier}/summary: get: description: Get SLE classifier details operationId: getSiteSleClassifierDetails parameters: - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' responses: '200': $ref: '#/components/responses/SleClassifierSummary' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteSleClassifierDetails tags: - Sites SLEs parameters: - $ref: '#/components/parameters/site_id' - in: path name: scope required: true schema: enum: - site - ap - switch - gateway - client title: sle_summary_scope type: string - description: '* site_id if `scope`==`site` * device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway` * 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 /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metric/{metric}/classifiers: get: description: Get the list of classifiers for a specific metric operationId: getSiteSleMetricClassifiers responses: '200': content: application/json: examples: example: value: - asymmetry-uplink - weak-signal - asymmetry-downlink schema: $ref: '#/components/schemas/strings' description: OK '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: 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` * device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway` * 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 /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metric/{metric}/histogram: get: description: Get the histogram for the SLE metric operationId: getSiteSleHistogram parameters: - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' responses: '200': $ref: '#/components/responses/SleHistogram' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteSleHistogram 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` * device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway` * 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 /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metric/{metric}/impact-summary: 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 responses: '200': $ref: '#/components/responses/SleImpactSummary' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteSleImpactSummary 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` * device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway` * 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 /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metric/{metric}/impacted-applications: 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 responses: '200': $ref: '#/components/responses/SleImpactedApplications' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteSleImpactedApplications 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 /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metric/{metric}/impacted-aps: 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 responses: '200': $ref: '#/components/responses/SleImpactedAps' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteSleImpactedAps 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 /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metric/{metric}/impacted-chassis: 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 responses: '200': $ref: '#/components/responses/SleImpactedChassis' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteSleImpactedChassis 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 /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metric/{metric}/impacted-clients: 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 responses: '200': $ref: '#/components/responses/SleImpactedClients' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteSleImpactedWiredClients 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 /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metric/{metric}/impacted-gateways: 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 responses: '200': $ref: '#/components/responses/SleImpactedGateways' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteSleImpactedGateways 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 /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metric/{metric}/impacted-interfaces: 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 responses: '200': $ref: '#/components/responses/SleImpactedInterfaces' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteSleImpactedInterfaces 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 /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metric/{metric}/impacted-switches: 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 responses: '200': $ref: '#/components/responses/SleImpactedSwitches' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteSleImpactedSwitches 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 /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metric/{metric}/impacted-users: 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 responses: '200': $ref: '#/components/responses/SleImpactedUsers' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteSleImpactedWirelessClients tags: - Sites SLEs parameters: - $ref: '#/components/parameters/site_id' - in: path name: scope required: true schema: enum: - site - ap title: sle_impacted_users_scope 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 /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metric/{metric}/summary: get: description: ' Get the summary for the SLE metric' operationId: getSiteSleSummary parameters: - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' responses: '200': $ref: '#/components/responses/SleSummary' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteSleSummary 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` * device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway` * 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 /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metric/{metric}/threshold: get: description: Get the SLE threshold operationId: getSiteSleThreshold responses: '200': $ref: '#/components/responses/SleThreshold' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteSleThreshold tags: - Sites SLEs parameters: - $ref: '#/components/parameters/site_id' - in: path name: scope required: true schema: enum: - site - ap - switch - gateway - client title: sle_threshold_scope type: string - description: '* site_id if `scope`==`site` * device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway` * 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 requestBody: content: application/json: examples: example-1: value: maximum: -60 minimum: -90 schema: $ref: '#/components/schemas/sle_threshold' responses: '200': $ref: '#/components/responses/SleThreshold' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: replaceSiteSleThreshold tags: - Sites SLEs put: description: Update the SLE threshold operationId: updateSiteSleThreshold requestBody: content: application/json: examples: example-1: value: maximum: -60 minimum: -90 schema: $ref: '#/components/schemas/sle_threshold' responses: '200': $ref: '#/components/responses/SleThreshold' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateSiteSleThreshold tags: - Sites SLEs /api/v1/sites/{site_id}/sle/{scope}/{scope_id}/metrics: get: description: Get the list of metrics for the given scope operationId: getSiteSlesMetrics responses: '200': $ref: '#/components/responses/SiteSleMetrics' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: 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` * device_id if `scope`==`ap`, `scope`==`switch` or `scope`==`gateway` * mac if `scope`==`client`' in: path name: scope_id required: true schema: type: string /api/v1/sites/{site_id}/ssr/upgrade/{upgrade_id}: get: description: Get Specific Site SSR Upgrade operationId: getSiteSsrUpgrade responses: '200': $ref: '#/components/responses/SsrUpgradeStatus' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteSsrUpgrade tags: - Utilities Upgrade parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/upgrade_id' /api/v1/sites/{site_id}/ssr/{device_id}/upgrade: parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/device_id' post: description: Upgrade Site SSR device operationId: upgradeSiteSsr requestBody: content: application/json: examples: example-1: value: channel: stable version: 5.3.1-170-93 schema: $ref: '#/components/schemas/ssr_upgrade' responses: '200': $ref: '#/components/responses/SsrUpgrade' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: upgradeSiteSsr tags: - Utilities Upgrade /api/v1/sites/{site_id}/stats: get: description: Get Site Stats operationId: getSiteStats responses: '200': content: application/json: examples: example-1: value: address: string alarmtemplate_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 country_code: string created_time: 0 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 lat: 0 latlng: lat: 0 lng: 0 lng: 0 modified_time: 0 msp_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 name: string networktemplate_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 num_ap: 0 num_ap_connected: 0 num_clients: 0 num_devices: 0 num_devices_connected: 0 num_gateway: 0 num_gateway_connected: 0 num_switch: 0 num_switch_connected: 0 org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b rftemplate_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 sitegroup_ids: - 6f4bf402-45f9-2a56-6c8b-7f83d3bc98e9 timezone: string tzoffset: 0 schema: $ref: '#/components/schemas/site_stats' description: OK '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteStats tags: - Sites Stats parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/stats/apps/count: 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 title: Site Apps count distinct 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 responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countSiteApps tags: - Sites Applications parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/stats/assets: 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' responses: '200': $ref: '#/components/responses/AssetsArrayStats' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteAssetsStats tags: - Sites Stats parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/stats/assets/asset_id: get: description: Get Site Asset Details operationId: getSiteAssetStats parameters: - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' responses: '200': $ref: '#/components/responses/AssetStats' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteAssetStats tags: - Sites Stats parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/stats/assets/count: 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 title: Site Assets count distinct type: string responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countSiteAssets tags: - Sites Assets parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/stats/assets/search: 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' responses: '200': $ref: '#/components/responses/AssetsArrayStatsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchSiteAssets tags: - Sites Assets parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/stats/beacons: 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' responses: '200': content: application/json: schema: $ref: '#/components/schemas/beacon_stats' description: OK '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteBeaconsStats tags: - Sites Stats parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/stats/bgp_peers/count: get: description: Count BGP Stats operationId: countSiteBgpStats parameters: - in: query name: state schema: type: string - in: query name: distinct schema: title: Site BGP Peers count distinct type: string responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countSiteBgpStats tags: - Sites Devices Stats parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/stats/bgp_peers/search: get: description: Search BGP Stats operationId: searchSiteBgpStats responses: '200': $ref: '#/components/responses/BgpStatsArraySearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchSiteBgpStats tags: - Sites Devices Stats parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/stats/calls/client/{client_mac}/troubleshoot: 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' responses: '200': $ref: '#/components/responses/CallTroubleshoot' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: troubleshootSiteCall tags: - Sites Calls parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/client_mac' /api/v1/sites/{site_id}/stats/calls/count: 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 responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countSiteCalls tags: - Sites Calls parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/stats/calls/search: 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' responses: '200': $ref: '#/components/responses/CallStatsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchSiteCalls tags: - Sites Calls parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/stats/calls/troubleshoot: get: description: Summary of calls troubleshoot by site operationId: listSiteTroubleshootCalls 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' responses: '200': $ref: '#/components/responses/CallTroubleshoot' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteTroubleshootCalls tags: - Sites Calls parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/client_mac' /api/v1/sites/{site_id}/stats/clients: 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' responses: '200': content: application/json: schema: $ref: '#/components/schemas/client_stats_array' description: OK '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteWirelessClientsStats tags: - Sites Clients Stats parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/stats/clients/{client_mac}: get: description: Get Site Client Stats Details operationId: getSiteWirelessClientStats parameters: - in: query name: wired schema: default: false type: boolean responses: '200': content: application/json: schema: $ref: '#/components/schemas/client_stats' description: OK '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteWirelessClientStats tags: - Sites Clients Stats parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/client_mac' /api/v1/sites/{site_id}/stats/devices: 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: default: all enum: - all - connected - disconnected title: stat_device_status_filter type: string - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/DevicesArrayStatsSite' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteDevicesStats tags: - Sites Devices Stats parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/stats/devices/{device_id}: get: description: Get Site Device Stats Details operationId: getSiteDeviceStats responses: '200': content: application/json: schema: $ref: '#/components/schemas/device_stats' description: OK '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteDeviceStats tags: - Sites Devices Stats parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/device_id' /api/v1/sites/{site_id}/stats/devices/{device_id}/clients: get: description: Get wireless client stat by Device operationId: getSiteAllClientsStatsByDevice responses: '200': content: application/json: schema: $ref: '#/components/schemas/client_wireless_stats_array' description: OK '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteAllClientsStatsByDevice tags: - Sites Devices Stats parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/device_id' /api/v1/sites/{site_id}/stats/discovered_assets: 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' responses: '200': content: application/json: schema: $ref: '#/components/schemas/asset_array' description: OK '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteDiscoveredAssets tags: - Sites Stats parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/stats/discovered_switch_metrics/search: get: description: Search Discovered Switch Metrics operationId: searchSiteDiscoveredSwitchesMetrics parameters: - description: metric scope in: query name: scope schema: default: site enum: - site - switch type: string - description: metric type in: query name: type schema: enum: - inactive_wired_vlans - switch_ap_affinity - poe_compliance - version_compliance title: Discovered Switch Type type: string - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' responses: '200': $ref: '#/components/responses/DiscoveredSwitchMetrics' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchSiteDiscoveredSwitchesMetrics tags: - Sites Discovered Switches Stats parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/stats/discovered_switches/count: get: description: Count Discovered Switches operationId: countSiteDiscoveredSwitches parameters: - in: query name: distinct schema: default: system_name enum: - system_name - version - model - mgmt_addr title: Site Discovered Switches count distinct type: string - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countSiteDiscoveredSwitches tags: - Sites Discovered Switches Stats parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/stats/discovered_switches/metrics: 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 responses: '200': $ref: '#/components/responses/DiscoveredSwitchesMetrics' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteDiscoveredSwitchesMetrics tags: - Sites Discovered Switches Stats parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/stats/discovered_switches/search: 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' responses: '200': $ref: '#/components/responses/DiscoveredSwitches' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchSiteDiscoveredSwitches tags: - Sites Discovered Switches Stats parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/stats/filtered_assets: 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' responses: '200': $ref: '#/components/responses/AssetOfInterestArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteAssetsOfInterest tags: - Sites Assets parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/stats/gateways/metrics: get: description: Get Site Gateway Metrics operationId: getSiteGatewayMetrics responses: '200': $ref: '#/components/responses/GatewayMetrics' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteGatewayMetrics tags: - Sites Devices Stats parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/stats/maps/{map_id}/clients: 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' responses: '200': content: application/json: schema: $ref: '#/components/schemas/client_wireless_stats_array' description: OK '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteWirelessClientsStatsByMap tags: - Sites Stats parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/map_id' /api/v1/sites/{site_id}/stats/maps/{map_id}/discovered_assets: get: description: "Get a list of BLE beacons that we discovered (whether they\u2019\ re defined as assets or not)" operationId: getSiteDiscoveredAssetByMap responses: '200': content: application/json: schema: $ref: '#/components/schemas/asset_stats_array' description: OK '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteDiscoveredAssetByMap tags: - Sites Stats parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/map_id' /api/v1/sites/{site_id}/stats/maps/{map_id}/sdkclients: get: description: Get SdkClient Stats By Map operationId: getSiteSdkStatsByMap responses: '200': content: application/json: schema: $ref: '#/components/schemas/sdkclient_stats_array' description: OK '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteSdkStatsByMap tags: - Sites Stats parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/map_id' /api/v1/sites/{site_id}/stats/maps/{map_id}/unconnected_clients: get: description: Get List of Site Unconnected Client Location operationId: listSiteUnconnectedClientStats responses: '200': content: application/json: examples: example-1: value: - ap_mac: 5c5b350e0410 last_seen: 1428939600 mac: 5684dae9ac8b manufacture: Apple map_id: ea77be98-ab51-4ff8-a863-ac3c8e1b1c3a rssi: -75 x: 60 y: 80 schema: $ref: '#/components/schemas/unconnected_client_stats_array' description: OK '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteUnconnectedClientStats tags: - Sites Stats parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/map_id' /api/v1/sites/{site_id}/stats/mxedges: 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' responses: '200': $ref: '#/components/responses/MxedgeStatsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteMxEdgesStats tags: - Sites Devices Stats parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/stats/mxedges/{mxedge_id}: get: description: Get One Site MxEdge Stats operationId: getSiteMxEdgeStats parameters: - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' responses: '200': $ref: '#/components/responses/MxedgeStats' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteMxEdgeStats tags: - Sites Devices Stats parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/mxedge_id' /api/v1/sites/{site_id}/stats/ports/count: get: description: Count by Distinct Attributes of Switch/Gateway Ports operationId: countSiteSwOrGwPorts parameters: - 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 title: Site Ports count distinct 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. \u201C\ GigabitEthernet2/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' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countSiteSwOrGwPorts tags: - Sites Devices Stats parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/stats/ports/search: 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: 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. \u201C\ GigabitEthernet2/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' responses: '200': $ref: '#/components/responses/SwitchPortsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchSiteSwOrGwPorts tags: - Sites Devices Stats parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/stats/sdkclients/{sdkclient_id}: get: description: Get Detail Stats of a SdkClient operationId: getSiteSdkStats responses: '200': content: application/json: examples: example-1: value: id: de87bf9d-183f-e383-cc68-6ba43947d403 last_seen: 1428939600 map_id: 845a23bf-bed9-e43c-4c86-6fa474be7ae5 name: John's iPhone network_connection: mac: c3-b6-e5-af-41-15 rssi: -75 signal_level: 3 type: WiFi uuid: ada72f8f-1643-e5c6-94db-f2a5636f1a64 vbeacons: - id: d379d29d-24b4-96c5-5dd4-6f2a2dc5aaeb since: 1428939300 x: 60 y: 80 zones: - id: 8ac84899-32db-6327-334c-9b6d58544cfe since: 1428939600 schema: $ref: '#/components/schemas/sdkclient_wireless_stats' description: OK '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteSdkStats tags: - Sites Stats parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/sdkclient_id' /api/v1/sites/{site_id}/stats/switch_ports/count: get: description: Count by Distinct Attributes of Switch/Gateway Ports operationId: countSiteSwitchPorts parameters: - 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 title: Site Switch Ports count distinct 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. \u201C\ GigabitEthernet2/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' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countSiteSwitchPorts tags: - Sites Devices Stats parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/stats/switch_ports/search: 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. \u201C\ GigabitEthernet2/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' responses: '200': $ref: '#/components/responses/SwitchPortsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchSiteSwitchPorts tags: - Sites Devices Stats parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/stats/switches/metrics: get: description: Get version compliance metrics for managed or monitored switches operationId: getSiteSwitchesMetrics parameters: - in: query name: type schema: enum: - active_ports_summary title: Switch Metric Type type: string - in: query name: scope schema: enum: - site - switch title: Switch Metric Scope type: string - description: switch mac, used only with metric `type`==`active_ports_summary` in: query name: switch_mac schema: type: string responses: '200': $ref: '#/components/responses/SwitchMetrics' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteSwitchesMetrics tags: - Sites Devices - Wired parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/stats/wxrules: get: description: Get Wxlan Rule usage operationId: getSiteWxRulesUsage responses: '200': $ref: '#/components/responses/WxruleStatsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteWxRulesUsage tags: - Sites Stats parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/stats/zones: 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 responses: '200': $ref: '#/components/responses/ZoneStatsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteZonesStats tags: - Sites Stats parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/stats/{zone_type}/{zone_id}: get: description: Get Detail Zone Stats operationId: getSiteZoneStats responses: '200': $ref: '#/components/responses/ZoneStats' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteZoneStats tags: - Sites Stats parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/zone_type' - $ref: '#/components/parameters/zone_id' /api/v1/sites/{site_id}/subscriptions: delete: description: Unsubscribe to Site Alarms operationId: UnsubscribeSiteAlarms responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: UnsubscribeSiteAlarms tags: - Sites Alarms parameters: - $ref: '#/components/parameters/site_id' post: description: Subscribe to Site Alarms operationId: SubscribeSiteAlarms responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: SubscribeSiteAlarms tags: - Sites Alarms /api/v1/sites/{site_id}/synthetic_test: get: description: Get Synthetic Testing Status operationId: getSiteSyntheticTestStatus responses: '200': $ref: '#/components/responses/SynthetictestStatus' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteSyntheticTestStatus tags: - Synthetic Tests parameters: - $ref: '#/components/parameters/site_id' post: description: Trigger Synthetic Testing operationId: triggerSiteSyntheticTest requestBody: content: application/json: examples: Example: value: email: test@mist.com schema: $ref: '#/components/schemas/synthetic_test' responses: '200': $ref: '#/components/responses/SyntheticTest' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: triggerSiteSyntheticTest tags: - Synthetic Tests /api/v1/sites/{site_id}/synthetic_test/search: get: description: Search Site Synthetic Testing operationId: searchSiteSyntheticTest responses: '200': $ref: '#/components/responses/SynthetictestSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchSiteSyntheticTest tags: - Synthetic Tests parameters: - $ref: '#/components/parameters/site_id' - 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/synthetic_test_type' /api/v1/sites/{site_id}/uisettings: get: description: Site UI settings operationId: listSiteUiSettings responses: '200': $ref: '#/components/responses/UiSettingsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteUiSettings tags: - Sites UI Settings parameters: - $ref: '#/components/parameters/site_id' post: description: Site UI settings operationId: createSiteUiSettings requestBody: content: application/json: examples: Example: value: created_time: 1508823803 defaultScopeId: 67970e46-4e12-11e6-9188-0242ad112847 defaultScopeType: site defaultTimeRange: end: 1508828400 endDate: 10/23/2017 interval: 1d name: This Week shortName: thisWeek start: 1508655600 usePreset: true description: Description of the databoard for_site: true id: 3bdcc7e8-c04d-4512-b4fc-093da9057eb0 isCustomDataboard: true isScopeLinked: true isTimeRangeLinked: true modified_time: 0 name: New Databoard org_id: cc079380-5029-4d4a-9125-858de85731ff purpose: databoard site_id: 67970e46-4e12-11e6-9188-0242ad112847 tiles: - chartBand: 2.4 ghz chartColor: '#00B4AD' chartDirection: tx + rx chartRankBy: string chartType: timeSeries colspan: 5 column: 1 hideEmptyRows: true id: 7a9ab38c-cfc3-483d-b51a-0aec571fadc0 metric: apiName: client-dhcp-latency name: New Analysis row: 1 rowspan: 2 scopeId: e0c767834b4c scopeType: client sortedColumns: null timeRange: end: 1508823743 endDate: 10/23/2017 interval: 1d name: Past 7 Days shortName: 7d start: 1508223600 usePreset: true trendType: line vizType: averageTimeSeriesChart schema: $ref: '#/components/schemas/ui_settings' description: Request Body responses: '200': $ref: '#/components/responses/UiSettings' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createSiteUiSettings tags: - Sites UI Settings /api/v1/sites/{site_id}/uisettings/derived: get: description: Get both site UI settings(for_site=true) and org UI settings (for_site=false) operationId: getSiteUiSettingDerived responses: '200': $ref: '#/components/responses/UiSettings' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteUiSettingDerived tags: - Sites UI Settings parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/uisettings/{uisetting_id}: delete: description: Site UI settings operationId: deleteSiteUiSetting responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteSiteUiSetting tags: - Sites UI Settings get: description: Site UI settings operationId: getSiteUiSetting responses: '200': $ref: '#/components/responses/UiSettingsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteUiSetting tags: - Sites UI Settings parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/uisetting_id' post: description: Site UI settings operationId: updateSiteUiSetting requestBody: content: application/json: examples: Example: value: created_time: 1508823803 defaultScopeId: 67970e46-4e12-11e6-9188-0242ad112847 defaultScopeType: site defaultTimeRange: end: 1508828400 endDate: 10/23/2017 interval: 1d name: This Week shortName: thisWeek start: 1508655600 usePreset: true description: Description of the databoard for_site: true id: 3bdcc7e8-c04d-4512-b4fc-093da9057eb0 isCustomDataboard: true isScopeLinked: true isTimeRangeLinked: true modified_time: 0 name: New Databoard org_id: cc079380-5029-4d4a-9125-858de85731ff purpose: databoard site_id: 67970e46-4e12-11e6-9188-0242ad112847 tiles: - chartBand: 2.4 ghz chartColor: '#00B4AD' chartDirection: tx + rx chartRankBy: string chartType: timeSeries colspan: 5 column: 1 hideEmptyRows: true id: 7a9ab38c-cfc3-483d-b51a-0aec571fadc0 metric: apiName: client-dhcp-latency name: New Analysis row: 1 rowspan: 2 scopeId: e0c767834b4c scopeType: client sortedColumns: null timeRange: end: 1508823743 endDate: 10/23/2017 interval: 1d name: Past 7 Days shortName: 7d start: 1508223600 usePreset: true trendType: line vizType: averageTimeSeriesChart schema: $ref: '#/components/schemas/ui_settings' description: Request Body responses: '200': $ref: '#/components/responses/UiSettings' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateSiteUiSetting tags: - Sites UI Settings /api/v1/sites/{site_id}/vbeacons: get: description: Get List of Site Virtual Beacons operationId: listSiteVBeacons parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/VBeaconsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteVBeacons tags: - Sites vBeacons parameters: - $ref: '#/components/parameters/site_id' post: description: Create Virtual Beacon operationId: createSiteVBeacon requestBody: content: application/json: examples: example-1: value: major: 0 map_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 message: string minor: 0 name: string power: 4 power_mode: default url: string uuid: 6f4bf402-45f9-2a56-6c8b-7f83d3bc98e9 wayfinding_nodename: string x: 0 y: 0 schema: $ref: '#/components/schemas/vbeacon' description: Request Body responses: '200': $ref: '#/components/responses/VBeacon' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createSiteVBeacon tags: - Sites vBeacons /api/v1/sites/{site_id}/vbeacons/{vbeacon_id}: delete: description: Delete Site Virtual Beacon operationId: deleteSiteVBeacon responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteSiteVBeacon tags: - Sites vBeacons get: description: Get Site Virtual Beacon Details operationId: getSiteVBeacon responses: '200': $ref: '#/components/responses/VBeacon' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteVBeacon tags: - Sites vBeacons parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/vbeacon_id' put: description: Update Site Virtual Beacon operationId: updateSiteVBeacon requestBody: content: application/json: examples: example-1: value: major: 0 map_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 message: string minor: 0 name: string power: 4 power_mode: default url: string uuid: 6f4bf402-45f9-2a56-6c8b-7f83d3bc98e9 wayfinding_nodename: string x: 0 y: 0 schema: $ref: '#/components/schemas/vbeacon' description: Request Body responses: '200': $ref: '#/components/responses/VBeacon' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateSiteVBeacon tags: - Sites vBeacons /api/v1/sites/{site_id}/vpns/derived: 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 responses: '200': $ref: '#/components/responses/VpnsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteVpnsDerived tags: - Sites VPNs parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/wan_client/events/count: get: description: Count by Distinct Attributes of Site WAN Client-Events operationId: countSiteWanClientEvents parameters: - in: query name: distinct schema: default: type enum: - type - hostname - ip - mfg - mac title: Site Wan Client events distinct type: string - $ref: '#/components/parameters/client_event_type' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countSiteWanClientEvents tags: - Sites Clients - Wan parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/wan_clients/count: get: description: Count Site WAN Clients operationId: countSiteWanClients parameters: - in: query name: distinct schema: default: mac enum: - hostname - ip - mfg - mac title: Site Wan Clients count distinct type: string - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countSiteWanClients tags: - Sites Clients - Wan parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/wan_clients/events/search: 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' responses: '200': $ref: '#/components/responses/WanClientEventsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchSiteWanClientEvents tags: - Sites Clients - Wan parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/wan_clients/search: 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' responses: '200': $ref: '#/components/responses/WanClientsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchSiteWanClients tags: - Sites Clients - Wan parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/webhooks: get: description: Get List of Site Webhooks operationId: listSiteWebhooks parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/WebhooksArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteWebhooks 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)\n\ 2. Only one client raw data webhook topic is allowed per `http-post` message\ \ to webhooks api\n" operationId: createSiteWebhook requestBody: content: application/json: examples: example-1: value: enabled: true headers: {} name: string secret: string splunk_token: string topics: - location type: http-post url: string verify_cert: true schema: $ref: '#/components/schemas/webhook' description: Request Body responses: '200': $ref: '#/components/responses/Webhook' '400': $ref: '#/components/responses/SiteWebhookUpdateFailed' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createSiteWebhook tags: - Sites Webhooks /api/v1/sites/{site_id}/webhooks/{webhook_id}: delete: description: Delete Site Webhook operationId: deleteSiteWebhook responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteSiteWebhook tags: - Sites Webhooks get: description: Get Site Webhook Details operationId: getSiteWebhook responses: '200': $ref: '#/components/responses/Webhook' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteWebhook tags: - Sites Webhooks parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/webhook_id' put: description: Update Site Webhook operationId: updateSiteWebhook requestBody: content: application/json: examples: example-1: value: enabled: true headers: {} name: string secret: string splunk_token: string topics: - location type: http-post url: string verify_cert: true schema: $ref: '#/components/schemas/webhook' description: Request Body responses: '200': $ref: '#/components/responses/Webhook' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateSiteWebhook tags: - Sites Webhooks /api/v1/sites/{site_id}/webhooks/{webhook_id}/events/search: get: description: 'Search webhooks deliveries To 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: $ref: '#/components/schemas/webhook_delivery_topic' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/WebhookDeliverySearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchSiteWebhooksDeliveries tags: - Sites Webhooks parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/webhook_id' /api/v1/sites/{site_id}/webhooks/{webhook_id}/ping: parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/webhook_id' post: description: send a Ping event to the webhook operationId: pingSiteWebhook responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: pingSiteWebhook tags: - Sites Webhooks /api/v1/sites/{site_id}/wired_clients/count: get: description: Count by Distinct Attributes of Clients operationId: countSiteWiredClients parameters: - in: query name: distinct schema: default: mac enum: - port_id - vlan - mac title: Site Wired Clients count distinct 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' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countSiteWiredClients tags: - Sites Clients - Wired parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/wired_clients/search: 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' responses: '200': $ref: '#/components/responses/WiredClientsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchSiteWiredClients tags: - Sites Clients - Wired parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/wlans: get: description: Get List of Site WLANs operationId: listSiteWlans parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/WlansArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteWlans tags: - Sites Wlans parameters: - $ref: '#/components/parameters/site_id' post: description: Create Site WLAN operationId: createSiteWlan requestBody: content: application/json: examples: Example: value: acct_immediate_update: false acct_interim_interval: 0 acct_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1813 secret: testing123 airwatch: api_key: aHhlbGxvYXNkZmFzZGZhc2Rmc2RmCg==" console_url: https://hs1.airwatchportals.com enabled: true password: user1 username: test123 allow_ipv6_ndp: true allow_mdns: false allow_ssdp: false ap_ids: - 497f6eca-6276-4993-bfeb-53cbbbbb6f08 app_limit: apps: dropbox: 300 netflix: 60 enabled: false wxtag_ids: f99862d9-2726-931f-7559-3dfdf5d070d3: 30 app_qos: apps: skype-business-video: dscp: 32 dst_subnet: 10.2.0.0/16 src_subnet: 10.2.0.0/16 enabled: true others: - dscp: 32 dst_subnet: 10.2.0.0/16 port_ranges: 80,1024-6553 protocol: udp src_subnet: 10.2.0.0/16 apply_to: site arp_filter: false auth: anticlog_threshold: 16 eap_reauth: false enable_mac_auth: false key_idx: 1 keys: - string multi_psk_only: false owe: string pairwise: - wpa2-ccmp private_wlan: true psk: foryoureyesonly type: psk wep_as_secondary_auth: true auth_server_selection: ordered auth_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1812 secret: testing123 auth_servers_nas_id: 5c5b350e0101-nas auth_servers_nas_ip: 15.3.1.5 auth_servers_retries: 5 auth_servers_timeout: 5 band: string band_steer: false band_steer_force_band5: false bands: - '24' - '5' block_blacklist_clients: false bonjour: additional_vlan_ids: - 0 enabled: false services: airplay: radius_groups: - teachers scope: same_ap cisco_cwa: allowed_hostnames: - snapchat.com allowed_subnets: - 63.5.3.0/24 blocked_subnets: - 192.168.0.0/16 enabled: false client_limit_down: 0 client_limit_down_enabled: false client_limit_up: 0 client_limit_up_enabled: false coa_servers: - disable_event_timestamp_check: false enabled: false ip: 1.2.3.4 port: 3799 secret: testing456 created_time: 0 disable_11ax: false disable_ht_vht_rates: false disable_uapsd: false disable_v1_roam_notify: false disable_v2_roam_notify: false disable_wmm: false dns_server_rewrite: enabled: false radius_groups: contractor: 172.1.1.1 guest: 8.8.8.8 dtim: 2 dynamic_psk: default_psk: foryoureyesonly default_vlan_id: 999 enabled: false source: cloud_psks vlan_ids: - 1 dynamic_vlan: default_vlan_id: 999 enabled: false local_vlan_ids: - 1 type: airespace-interface-name vlans: '131': default '322': fast,video enable_local_keycaching: false enable_wireless_bridging: false enabled: true fast_dot1x_timers: false for_site: true hide_ssid: false hostname_ie: false hotspot20: domain_name: - mist.com enabled: true nai_realms: - string operators: - google - att rcoi: - 5A03BA0000 venue_name: some_name id: 497f6eca-6276-4993-bfeb-53cbbbbc6f08 interface: all isolation: false l2_isolation: false legacy_overds: false limit_bcast: false limit_probe_response: true max_idletime: 1800 mist_nac: enabled: false modified_time: 0 msp_id: c0cf23fc-d82f-4219-988c-82fb61d8c875 mxtunnel: {} mxtunnel_ids: - 08cd7499-5841-51c8-e663-fb16b6f3b45e mxtunnel_name: - default no_static_dns: false no_static_ip: false org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b portal: amazon_client_id: string amazon_client_secret: string amazon_email_domains: - string amazon_enabled: false auth: none azure_client_id: string azure_client_secret: string azure_enabled: false azure_tenant_id: string broadnet_password: password broadnet_sid: MIST broadnet_user_id: juniper bypass_when_cloud_down: false clickatell_api_key: string cross_site: false email_enabled: true enabled: false expire: 1440 external_portal_url: string facebook_client_id: string facebook_client_secret: string facebook_email_domains: - string facebook_enabled: false forward: false forward_url: http://abc.com/promotions google_client_id: string google_client_secret: string google_email_domains: - mydomain.edu - mydomain.org google_enabled: false gupshup_password: string gupshup_userid: string microsoft_client_id: string microsoft_client_secret: string microsoft_email_domains: - string microsoft_enabled: false passphrase_enabled: false password: let me in portal_allowed_hostnames: string portal_allowed_subnets: string portal_api_secret: string portal_denied_hostnames: string portal_image: https://url/to/image.png portal_sso_url: string predefined_sponsors_enabled: true privacy: true puzzel_password: string puzzel_service_id: string puzzel_username: string smsMessageFormat: string sms_enabled: false sms_provider: twilio sponsor_auto_approve: false sponsor_email_domains: - reserved.net - reserved.org sponsor_enabled: false sponsor_link_validity_duration: 30 sponsor_notify_all: false sponsor_status_notify: false sponsors: sponsor1@company.com: FirstName1 LastName1 sponsor2@company.com: FirstName2 LastName2 sso_default_role: string sso_forced_role: string sso_idp_cert: string sso_idp_sign_algo: string sso_idp_sso_url: string sso_issuer: string sso_nameid_format: email telstra_client_id: string telstra_client_secret: string thumbnail: string twilio_auth_token: af9dac44c344a875ab5d31cb7abcdefg twilio_phone_number: '+18548888888' twilio_sid: AC72ec6ba0ec5af30e6731c5e47abcdefgh portal_allowed_hostnames: - snapchat.com - ibm.com portal_allowed_subnets: - 63.5.3.0/24 portal_api_secret: EIfPMOykI3lMlDdNPub2WcbqT6dNOtWwmYHAd6bY portal_denied_hostnames: - msg.snapchat.com portal_image: http://example.com portal_sso_url: string portal_template_url: string qos: class: best_effort overwrite: false radsec: enabled: true idle_timeout: 60 mxcluster_ids: - 572586b7-f97b-a22b-526c-8b97a3f609c4 proxy_hosts: - mxedge1.local server_name: radsec.abc.com servers: - host: 1.1.1.1 port: 1812 use_mxedge: true use_site_mxedge: false rateset: '24': ht: 00ff00ff00ff legacy: - '6' - '9' - '12' - '18' - 24b - '36' - '48' - '54' min_rssi: -70 template: string vht: 03ff03ff03ff01ff '5': ht: 00ff00ff00ff legacy: - '6' - '9' - '12' - '18' - 24b - '36' - '48' - '54' min_rssi: -70 template: string vht: 03ff03ff03ff01ff roam_mode: none schedule: enabled: false hours: fri: 09:00-17:00 mon: 09:00-17:00 site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 sle_excluded: false ssid: corporate template_id: c6d67e98-83ea-49f0-8812-e4abae2b68bc thumbnail: http://example.com use_eapol_v1: false vlan_enabled: false vlan_id: 1 vlan_ids: - 3 - 4 - 5 vlan_pooling: false wlan_limit_down: 0 wlan_limit_down_enabled: false wlan_limit_up: 0 wlan_limit_up_enabled: false wxtag_ids: - 497f6eca-6276-4993-bfeb-53cbbbbd6f08 wxtunnel_id: string wxtunnel_remote_id: string schema: $ref: '#/components/schemas/wlan' description: Request Body responses: '200': $ref: '#/components/responses/Wlan' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createSiteWlan tags: - Sites Wlans /api/v1/sites/{site_id}/wlans/derived: 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 responses: '200': $ref: '#/components/responses/WlansArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteWlanDerived tags: - Sites Wlans parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/wlans/{wlan_id}: delete: description: Delete Site WLAN operationId: deleteSiteWlan responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteSiteWlan tags: - Sites Wlans get: description: Get Site WLAN operationId: getSiteWlan responses: '200': $ref: '#/components/responses/Wlan' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteWlan tags: - Sites Wlans parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/wlan_id' put: description: Update Site WLAN operationId: updateSiteWlan requestBody: content: application/json: examples: Example: value: acct_immediate_update: false acct_interim_interval: 0 acct_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1813 secret: testing123 airwatch: api_key: aHhlbGxvYXNkZmFzZGZhc2Rmc2RmCg==" console_url: https://hs1.airwatchportals.com enabled: true password: user1 username: test123 allow_ipv6_ndp: true allow_mdns: false allow_ssdp: false ap_ids: - 497f6eca-6276-4993-bfeb-53cbbbbe6f08 app_limit: apps: dropbox: 300 netflix: 60 enabled: false wxtag_ids: f99862d9-2726-931f-7559-3dfdf5d070d3: 30 app_qos: apps: skype-business-video: dscp: 32 dst_subnet: 10.2.0.0/16 src_subnet: 10.2.0.0/16 enabled: true others: - dscp: 32 dst_subnet: 10.2.0.0/16 port_ranges: 80,1024-6553 protocol: udp src_subnet: 10.2.0.0/16 apply_to: site arp_filter: false auth: anticlog_threshold: 16 eap_reauth: false enable_mac_auth: false key_idx: 1 keys: - string multi_psk_only: false owe: string pairwise: - wpa2-ccmp private_wlan: true psk: foryoureyesonly type: psk wep_as_secondary_auth: true auth_server_selection: ordered auth_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1812 secret: testing123 auth_servers_nas_id: 5c5b350e0101-nas auth_servers_nas_ip: 15.3.1.5 auth_servers_retries: 5 auth_servers_timeout: 5 band: string band_steer: false band_steer_force_band5: false bands: - '24' - '5' block_blacklist_clients: false bonjour: additional_vlan_ids: - 0 enabled: false services: airplay: radius_groups: - teachers scope: same_ap cisco_cwa: allowed_hostnames: - snapchat.com allowed_subnets: - 63.5.3.0/24 blocked_subnets: - 192.168.0.0/16 enabled: false client_limit_down: 0 client_limit_down_enabled: false client_limit_up: 0 client_limit_up_enabled: false coa_servers: - disable_event_timestamp_check: false enabled: false ip: 1.2.3.4 port: 3799 secret: testing456 created_time: 0 disable_11ax: false disable_ht_vht_rates: false disable_uapsd: false disable_v1_roam_notify: false disable_v2_roam_notify: false disable_wmm: false dns_server_rewrite: enabled: false radius_groups: contractor: 172.1.1.1 guest: 8.8.8.8 dtim: 2 dynamic_psk: default_psk: foryoureyesonly default_vlan_id: 999 enabled: false source: cloud_psks vlan_ids: - 1 dynamic_vlan: default_vlan_id: 999 enabled: false local_vlan_ids: - 1 type: airespace-interface-name vlans: '131': default '322': fast,video enable_local_keycaching: false enable_wireless_bridging: false enabled: true fast_dot1x_timers: false for_site: true hide_ssid: false hostname_ie: false hotspot20: domain_name: - mist.com enabled: true nai_realms: - string operators: - google - att rcoi: - 5A03BA0000 venue_name: some_name id: 497f6eca-6276-4993-bfeb-53cbbbbf6f08 interface: all isolation: false l2_isolation: false legacy_overds: false limit_bcast: false limit_probe_response: true max_idletime: 1800 mist_nac: enabled: false modified_time: 0 msp_id: c0cf23fc-d82f-4219-988c-82fb61d8c875 mxtunnel: {} mxtunnel_ids: - 08cd7499-5841-51c8-e663-fb16b6f3b45e mxtunnel_name: - default no_static_dns: false no_static_ip: false org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b portal: amazon_client_id: string amazon_client_secret: string amazon_email_domains: - string amazon_enabled: false auth: none azure_client_id: string azure_client_secret: string azure_enabled: false azure_tenant_id: string broadnet_password: password broadnet_sid: MIST broadnet_user_id: juniper bypass_when_cloud_down: false clickatell_api_key: string cross_site: false email_enabled: true enabled: false expire: 1440 external_portal_url: string facebook_client_id: string facebook_client_secret: string facebook_email_domains: - string facebook_enabled: false forward: false forward_url: http://abc.com/promotions google_client_id: string google_client_secret: string google_email_domains: - mydomain.edu - mydomain.org google_enabled: false gupshup_password: string gupshup_userid: string microsoft_client_id: string microsoft_client_secret: string microsoft_email_domains: - string microsoft_enabled: false passphrase_enabled: false password: let me in portal_allowed_hostnames: string portal_allowed_subnets: string portal_api_secret: string portal_denied_hostnames: string portal_image: https://url/to/image.png portal_sso_url: string predefined_sponsors_enabled: true privacy: true puzzel_password: string puzzel_service_id: string puzzel_username: string smsMessageFormat: string sms_enabled: false sms_provider: twilio sponsor_auto_approve: false sponsor_email_domains: - reserved.net - reserved.org sponsor_enabled: false sponsor_link_validity_duration: 30 sponsor_notify_all: false sponsor_status_notify: false sponsors: sponsor1@company.com: FirstName1 LastName1 sponsor2@company.com: FirstName2 LastName2 sso_default_role: string sso_forced_role: string sso_idp_cert: string sso_idp_sign_algo: string sso_idp_sso_url: string sso_issuer: string sso_nameid_format: email telstra_client_id: string telstra_client_secret: string thumbnail: string twilio_auth_token: af9dac44c344a875ab5d31cb7abcdefg twilio_phone_number: '+18548888888' twilio_sid: AC72ec6ba0ec5af30e6731c5e47abcdefgh portal_allowed_hostnames: - snapchat.com - ibm.com portal_allowed_subnets: - 63.5.3.0/24 portal_api_secret: EIfPMOykI3lMlDdNPub2WcbqT6dNOtWwmYHAd6bY portal_denied_hostnames: - msg.snapchat.com portal_image: http://example.com portal_sso_url: string portal_template_url: string qos: class: best_effort overwrite: false radsec: enabled: true idle_timeout: 60 mxcluster_ids: - 572586b7-f97b-a22b-526c-8b97a3f609c4 proxy_hosts: - mxedge1.local server_name: radsec.abc.com servers: - host: 1.1.1.1 port: 1812 use_mxedge: true use_site_mxedge: false rateset: '24': ht: 00ff00ff00ff legacy: - '6' - '9' - '12' - '18' - 24b - '36' - '48' - '54' min_rssi: -70 template: string vht: 03ff03ff03ff01ff '5': ht: 00ff00ff00ff legacy: - '6' - '9' - '12' - '18' - 24b - '36' - '48' - '54' min_rssi: -70 template: string vht: 03ff03ff03ff01ff roam_mode: none schedule: enabled: false hours: fri: 09:00-17:00 mon: 09:00-17:00 site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 sle_excluded: false ssid: corporate template_id: c6d67e98-83ea-49f0-8812-e4abae2b68bc thumbnail: http://example.com use_eapol_v1: false vlan_enabled: false vlan_id: 1 vlan_ids: - 3 - 4 - 5 vlan_pooling: false wlan_limit_down: 0 wlan_limit_down_enabled: false wlan_limit_up: 0 wlan_limit_up_enabled: false wxtag_ids: - 497f6eca-6276-4993-bfeb-53cbbbba0f08 wxtunnel_id: string wxtunnel_remote_id: string schema: $ref: '#/components/schemas/wlan' description: Request Body responses: '200': $ref: '#/components/responses/Wlan' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateSiteWlan tags: - Sites Wlans /api/v1/sites/{site_id}/wlans/{wlan_id}/portal_image: parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/wlan_id' post: description: Wlan Portal Image Upload operationId: uploadSiteWlanPortalImage requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/image_import' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: uploadSiteWlanPortalImage tags: - Sites Wlans /api/v1/sites/{site_id}/wlans/{wlan_id}/portal_template: parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/wlan_id' put: description: 'Update a Portal Template #### Sponsor Email Template Sponsor Email Template supports following template variables: | **Name** | **Description** | | --- | --- | | 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 | | deny_url | Renders URL to reject the request | | guest_email | Renders Email ID of the guest | | guest_name | Renders Name of the guest | | field1 | Renders value of the Custom Field 1 | | field2 | Renders value of the Custom Field 2 | | company | Renders value of the Company field | | sponsor_link_validity_duration | Renders validity time of the request (i.e. Approve/Deny URL) | | 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 requestBody: content: application/json: examples: example-1: value: accessCodeAlternateEmail: string alignment: string authButtonAmazon: string authButtonAzure: string authButtonEmail: string authButtonFacebook: string authButtonGoogle: string authButtonMicrosoft: string authButtonPassphrase: string authButtonSms: string authButtonSponsor: string authLabel: string backLink: string color: string colorDark: string colorLight: string company: true companyError: string companyLabel: string email: true emailAccessDomainError: string emailCancel: string emailCodeError: string emailError: string emailFieldLabel: string emailLabel: string emailMessage: string emailSubmit: string emailTitle: string field1: true field1Error: string field1Label: string field1Required: true field2: true field2Error: string field2Label: string field2Required: true field3: true field3Error: string field3Label: string field3Required: true field4: true field4Error: string field4Label: string field4Required: true message: string name: true nameError: string nameLabel: string optout: true optoutLabel: string pageTitle: string passphraseCancel: string passphraseError: string passphraseLabel: string passphraseMessage: string passphraseSubmit: string passphraseTitle: string poweredBy: true requiredFieldLabel: string signInLabel: string smsCarrierDefault: string smsCarrierError: string smsCarrierFieldLabel: string smsCodeCancel: string smsCodeError: string smsCodeFieldLabel: string smsCodeMessage: string smsCodeSubmit: string smsCodeTitle: string smsCountryFieldLabel: string smsCountryFormat: string smsHaveAccessCode: string smsMessageFormat: string smsNumberCancel: string smsNumberError: string smsNumberFieldLabel: string smsNumberFormat: string smsNumberMessage: string smsNumberSubmit: string smsNumberTitle: string smsUsernameFormat: string smsValidityDuration: 0 sponsorBackLink: string sponsorCancel: string sponsorEmail: string sponsorEmailError: string sponsorEmailTemplate: string sponsorInfoApproved: string sponsorInfoDenied: string sponsorInfoPending: string sponsorName: string sponsorNameError: string sponsorNotePending: string sponsorStatusApproved: string sponsorStatusDenied: string sponsorStatusPending: string sponsorSubmit: string tos: true tosAcceptLabel: string tosError: string tosLink: string tosText: string schema: $ref: '#/components/schemas/wlan_portal_template' description: Request Body responses: '200': $ref: '#/components/responses/Portaltemplate' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateSiteWlanPortalTemplate tags: - Sites Wlans /api/v1/sites/{site_id}/wxrules: get: description: Get List of Site WxLan Rules operationId: listSiteWxRules parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/WxruleArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteWxRules tags: - Sites WxRules parameters: - $ref: '#/components/parameters/site_id' post: description: Create Site WxLan Rule operationId: createSiteWxRule requestBody: content: application/json: examples: Example: value: action: allow apply_tags: - c049dfcd-0c73-5014-1c64-062e9903f1e5 blocked_apps: - mist - all-videos created_time: 0 dst_allow_wxtags: - fff34466-eec0-3756-6765-381c728a6037 - eee2c7b0-d1d0-5a30-f349-e35fa43dc3b3 dst_deny_wxtags: - aaa34466-eec0-3756-6765-381c728a6037 - bbb2c7b0-d1d0-5a30-f349-e35fa43dc3b3 enabled: true for_site: true id: 497f6eca-6276-4993-bfeb-53ecbbba6f08 modified_time: 0 order: 1 org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 src_wxtags: - 8bfc2490-d726-3587-038d-cb2e71bd2330 - 3aa8e73f-9f46-d827-8d6a-567bb7e67fc9 schema: $ref: '#/components/schemas/wxlan_rule' description: Request Body responses: '200': $ref: '#/components/responses/Wxrule' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createSiteWxRule tags: - Sites WxRules /api/v1/sites/{site_id}/wxrules/derived: get: description: Get Site WxLan Rule Derived operationId: getSiteWxRulesDerived responses: '200': $ref: '#/components/responses/WxruleArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteWxRulesDerived tags: - Sites WxRules parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/wxrules/{wxrules_id}: delete: description: Delete Site WxLan Rule operationId: deleteSiteWxRule responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteSiteWxRule tags: - Sites WxRules get: description: Get Site WxLan Rule Details operationId: getSiteWxRule responses: '200': $ref: '#/components/responses/Wxrule' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteWxRule tags: - Sites WxRules parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/wxrules_id' put: description: Update Site WxLan Rule operationId: updateSiteWxRule requestBody: content: application/json: examples: Example: value: action: allow apply_tags: - c049dfcd-0c73-5014-1c64-062e9903f1e5 blocked_apps: - mist - all-videos created_time: 0 dst_allow_wxtags: - fff34466-eec0-3756-6765-381c728a6037 - eee2c7b0-d1d0-5a30-f349-e35fa43dc3b3 dst_deny_wxtags: - aaa34466-eec0-3756-6765-381c728a6037 - bbb2c7b0-d1d0-5a30-f349-e35fa43dc3b3 enabled: true for_site: true id: 497f6eca-6276-4993-bfeb-53edbbba6f08 modified_time: 0 order: 1 org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 src_wxtags: - 8bfc2490-d726-3587-038d-cb2e71bd2330 - 3aa8e73f-9f46-d827-8d6a-567bb7e67fc9 schema: $ref: '#/components/schemas/wxlan_rule' description: Request Body responses: '200': $ref: '#/components/responses/Wxrule' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateSiteWxRule tags: - Sites WxRules /api/v1/sites/{site_id}/wxtags: get: description: Get List of Site WxTags operationId: listSiteWxTags parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/WxtagArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteWxTags tags: - Sites WxTags parameters: - $ref: '#/components/parameters/site_id' post: description: Create Site WxTag operationId: createSiteWxTag requestBody: content: application/json: examples: app: value: match: app name: match app type: match values: - gmail - dropbox client_mac: value: match: client_mac name: file-servers type: match values: - b0c4e7001543 - a0c4e7001543 - 00c4e7001543 hostnames: value: match: hostname name: mist type: match values: - mist.com ip_range_subnets: value: match: ip_range_subnet name: file-servers type: match values: - 10.1.2.1 - 10.2.3.4/24 - 10.1.2.5-10.2.3.4 ports: value: match: port name: web-ports type: match values: - '80' - '8000' - '8080' psk_name: value: match: psk_name name: VIP type: match values: - test_key1 - test_key2 psk_role: value: match: psk_role name: VIP type: match values: - test_role radius_group: value: match: radius_group name: VIP type: match values: - vip radius_username: value: match: radius_username name: VIP type: match values: - john@abc.com - eric@abc.com traffic-spec: value: name: protocol-subnet-port specs: - port_range: '80' protocol: tcp subnets: - 10.1.2.0/24 type: spec vlan: value: name: vlan-assignment type: vlan vlan_id: 1055 wlan_id: value: match: wlan_id name: guest-wlan type: match values: - be22bba78e22e1cf5185b880816fe2cf schema: $ref: '#/components/schemas/wxlan_tag' description: Request Body responses: '200': $ref: '#/components/responses/Wxtag' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createSiteWxTag tags: - Sites WxTags /api/v1/sites/{site_id}/wxtags/apps: get: description: Get Application List operationId: getSiteApplicationList responses: '200': $ref: '#/components/responses/WxTagsAppsArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteApplicationList tags: - Sites WxTags parameters: - $ref: '#/components/parameters/site_id' /api/v1/sites/{site_id}/wxtags/{wxtag_id}: delete: description: Delete Site WxTag operationId: deleteSiteWxTag responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteSiteWxTag tags: - Sites WxTags get: description: Get Site WxTag Details operationId: getSiteWxTag responses: '200': $ref: '#/components/responses/Wxtag' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteWxTag tags: - Sites WxTags parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/wxtag_id' put: description: Update Site WxTag operationId: updateSiteWxTag requestBody: content: application/json: examples: example-1: value: last_ips: - string mac: string match: wlan_id name: string op: in resource_mac: string services: - string specs: - port_range: string protocol: tcp subnet: - string subnet: string type: match values: - string schema: $ref: '#/components/schemas/wxlan_tag' description: Request Body responses: '200': $ref: '#/components/responses/Wxtag' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateSiteWxTag tags: - Sites WxTags /api/v1/sites/{site_id}/wxtags/{wxtag_id}/clients: get: description: Get Current Matching Clients of a WXLAN Tag operationId: getSiteCurrentMatchingClientsOfAWxTag responses: '200': $ref: '#/components/responses/WxTagsMatchingArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteCurrentMatchingClientsOfAWxTag tags: - Sites WxTags parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/wxtag_id' /api/v1/sites/{site_id}/wxtunnels: get: description: Get List of Site WxLan Tunnels operationId: listSiteWxTunnels parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/WxtunnelArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteWxTunnels tags: - Sites WxTunnels parameters: - $ref: '#/components/parameters/site_id' post: description: Create Site WxLan Tunnel operationId: createSiteWxTunnel requestBody: content: application/json: examples: example-1: value: dmvpn: enabled: true holding_time: 0 host_routes: - string for_mgmt: true hello_interval: 1 hello_retries: 3 hostname: string ipsec: enabled: true psk: string123 is_static: true mtu: 0 name: string peers: - string router_id: string secret: string sessions: - ap_as_session_id: string comment: string enable_cookie: true ethertype: ethernet local_session_id: 1 pseudo_802.1ad_enabled: true remote_id: string remote_session_id: 1 use_ap_as_session_ids: true udp_port: 0 use_udp: true schema: $ref: '#/components/schemas/wxlan_tunnel' description: Request Body responses: '200': $ref: '#/components/responses/Wxtunnel' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createSiteWxTunnel tags: - Sites WxTunnels /api/v1/sites/{site_id}/wxtunnels/{wxtunnel_id}: delete: description: Delete Site WxLan Tunnel operationId: deleteSiteWxTunnel responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteSiteWxTunnel tags: - Sites WxTunnels get: description: Get Site WxLan tunnel Details operationId: getSiteWxTunnel responses: '200': $ref: '#/components/responses/Wxtunnel' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteWxTunnel tags: - Sites WxTunnels parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/wxtunnel_id' put: description: Update Site WxLan Tunnel operationId: updateSiteWxTunnel requestBody: content: application/json: examples: example-1: value: dmvpn: enabled: true holding_time: 0 host_routes: - string for_mgmt: true hello_interval: 1 hello_retries: 3 hostname: string ipsec: enabled: true psk: string123 is_static: true mtu: 0 name: string peers: - string router_id: string secret: string sessions: - ap_as_session_id: string comment: string enable_cookie: true ethertype: ethernet local_session_id: 1 pseudo_802.1ad_enabled: true remote_id: string remote_session_id: 1 use_ap_as_session_ids: true udp_port: 0 use_udp: true schema: $ref: '#/components/schemas/wxlan_tunnel' description: Request Body responses: '200': $ref: '#/components/responses/Wxtunnel' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateSiteWxTunnel tags: - Sites WxTunnels /api/v1/sites/{site_id}/zones: get: description: Get List of Site Zones operationId: listSiteZones parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/ZonesArray' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: listSiteZones tags: - Sites Zones parameters: - $ref: '#/components/parameters/site_id' post: description: Create Site Zone operationId: createSiteZone requestBody: content: application/json: examples: example-1: value: map_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 name: string vertices: - x: 0 y: 0 schema: $ref: '#/components/schemas/zone' description: Request Body responses: '200': $ref: '#/components/responses/Zone' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: createSiteZone tags: - Sites Zones /api/v1/sites/{site_id}/zones/{zone_id}: delete: description: Delete Site Zone operationId: deleteSiteZone responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: deleteSiteZone tags: - Sites Zones get: description: Get Site Zone Details operationId: getSiteZone responses: '200': $ref: '#/components/responses/Zone' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: getSiteZone tags: - Sites Zones parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/zone_id' put: description: Update Site Zone operationId: updateSiteZone requestBody: content: application/json: examples: example-1: value: map_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 name: string vertices: - x: 0 y: 0 schema: $ref: '#/components/schemas/zone' description: Request Body responses: '200': $ref: '#/components/responses/Zone' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: updateSiteZone tags: - Sites Zones /api/v1/sites/{site_id}/{zone_type}/count: 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 title: Site Zone count distinct type: string - 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: default: site enum: - site - map - zone - rssizone title: Zone Scope type: string - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' responses: '200': $ref: '#/components/responses/Count' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: countSiteZoneSessions tags: - Sites Zones parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/zone_type' /api/v1/sites/{site_id}/{zone_type}/visits/search: 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: default: site enum: - site - map - zone - rssizone title: Visits Scope type: string - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' responses: '200': $ref: '#/components/responses/ZoneSessionsSearch' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: searchSiteZoneSessions tags: - Sites Zones parameters: - $ref: '#/components/parameters/site_id' - $ref: '#/components/parameters/zone_type' /api/v1/utils/test_telstra: post: description: 'Allows validation of Telstra sms gateway credentials. In case of success, a text message confirming successful setup should be received. In case of error, telstra error message are returned.' operationId: testSiteWlanTelstraSetup requestBody: content: application/json: examples: Example: value: telstra_client_id: '123456' telstra_client_secret: abcdef to: '+911122334455' schema: $ref: '#/components/schemas/test_telstra' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: testSiteWlanTelstraSetup tags: - Utilities Wi-Fi /api/v1/utils/test_twilio: post: description: 'Allows validation of twilio setup In 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 requestBody: content: application/json: examples: Example: value: from: '+185051234567' to: '+19999999999' twilio_auth_token: 2135be04736a1a0a314bce432d61721a twilio_sid: AC5f4366878d193fb4865ab151739999eb schema: $ref: '#/components/schemas/test_twilio' description: Request Body responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' '401': $ref: '#/components/responses/HTTP401' '403': $ref: '#/components/responses/HTTP403' '404': $ref: '#/components/responses/HTTP404' '429': $ref: '#/components/responses/HTTP429' summary: testSiteWlanTwilioSetup tags: - Utilities Wi-Fi /webhook_example/_alarm_: post: description: 'Webhook sample for `alarm` topic **Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages' operationId: alarms requestBody: content: application/json: examples: example-1: value: events: - aps: - string bssids: - string count: 0 event_id: a7a26ff2-e851-45b6-9634-d595f45458b7 for_site: true id: 489f6eca-6276-4993-bfeb-c3cbbbba1f08 last_seen: 0 org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 ssids: - string timestamp: 0 type: string update: true topic: alarms schema: $ref: '#/components/schemas/webhook_alarms' description: "**N.B.**: Fields like `aps`, `bssids`, `ssids` are event specific.\ \ They are relevant to this event type ( rogue-ap-detected). For a different\ \ event type, different fields may be sent. These don\u2019t contain all\ \ affected entities and are representative samples of entities (capped at\ \ 10). For marvis action related events, we expose `details` to include\ \ more event specific details.\n\nEvents specific fields for other alarm\ \ event type can be found with API https://api.mist.com/api/v1/const/alarm_defs,\ \ under \u201Cfields\u201D array of /alarm_defs response object." responses: '200': $ref: '#/components/responses/OK' summary: alarms tags: - Webhook Samples /webhook_example/_asset_raw_: post: description: 'Webhook sample for `asset_raw` topic **Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages **will be deprecated after 06/30/2024**' operationId: assetRaw requestBody: content: application/json: examples: example-1: value: events: - asset_id: b4695157-0d1d-4da0-8f9e-5c53149389e4 beam: 0 device_id: 3bafab7b-4400-4bcf-8e6e-09f954699940 ibeacon_major: 0 ibeacon_minor: 0 ibeacon_uuid: 1f89bc00-d0af-481b-82fe-a6629259a39f mac: string map_id: 09d2b626-2e4e-45ef-a3c4-e6aeb6c83db1 mfg_company_id: 0 mfg_data: string rssi: 0 site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 timestamp: 0 topic: asset-raw schema: $ref: '#/components/schemas/webhook_asset_raw' responses: '200': $ref: '#/components/responses/OK' summary: assetRaw tags: - Webhook Samples /webhook_example/_audit_: post: description: 'Webhook sample for `audit` topic **Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages' operationId: audits requestBody: content: application/json: examples: Example: value: events: - admin_name: admin_name8 device_id: 00000380-0000-0000-0000-000000000000 id: 0000122a-0000-0000-0000-000000000000 message: message0 org_id: 00001302-0000-0000-0000-000000000000 site_id: 00000290-0000-0000-0000-000000000000 src_ip: src_ip6 timestamp: 157.68 topic: audits schema: $ref: '#/components/schemas/webhook_audits' description: '' responses: '200': $ref: '#/components/responses/OK' summary: audits tags: - Webhook Samples /webhook_example/_client_info_: post: description: 'Webhook sample for `client_info` topic **Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages' operationId: clientInfo requestBody: content: application/json: examples: example-1: value: events: - ap: string ap_name: string band: string bssid: string connect: 0 connect_float: 0 mac: string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b rssi: 0 site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 site_name: string ssid: string timestamp: 0 version: 0 wlan_id: 5028e92b-fc59-4056-91d1-ea4b4ca1617a topic: client-info schema: $ref: '#/components/schemas/webhook_client_info' responses: '200': $ref: '#/components/responses/OK' summary: clientJoin tags: - Webhook Samples /webhook_example/_client_join_: post: description: 'Webhook sample for `client_join` topic **Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages' operationId: clientJoin requestBody: content: application/json: examples: example-1: value: events: - ap: string ap_name: string band: string bssid: string connect: 0 connect_float: 0 mac: string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b rssi: 0 site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 site_name: string ssid: string timestamp: 0 version: 0 wlan_id: 5028e92b-fc59-4056-91d1-ea4b4ca1617a topic: client-join schema: $ref: '#/components/schemas/webhook_client_join' responses: '200': $ref: '#/components/responses/OK' summary: clientJoin tags: - Webhook Samples /webhook_example/_client_latency_: post: description: 'Webhook sample for `client-latency` topic **Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages' operationId: client_latency requestBody: content: application/json: examples: Example: value: events: - avg_auth: 0.17170219 avg_dhcp: 0.017828934 avg_dns: 0.024532124 max_auth: 0.18170219 max_dhcp: 0.027828934 max_dns: 0.029532124 min_auth: 0.16050219 min_dhcp: 0.015828934 min_dns: 0.022532124 org_id: 2818e386-8dec-2562-9ede-5b8a0fbbdc71 site_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862b timestamp: 1696401600 topic: client-latency schema: $ref: '#/components/schemas/webhook_client_latency' description: '' responses: '200': $ref: '#/components/responses/OK' summary: alarms tags: - Webhook Samples /webhook_example/_client_sessions_: post: description: 'Webhook sample for `client_sessions` topic **Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages' operationId: clientSessions requestBody: content: application/json: examples: example-1: value: events: - ap: string ap_name: string band: string bssid: string client_family: string client_manufacture: string client_model: string client_os: string connect: 0 connect_float: 0 disconnect: 0 disconnect_float: 0 duration: 0 mac: string next_ap: string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b rssi: 0 site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 site_name: string ssid: string termination_reason: 0 timestamp: 0 version: 0 wlan_id: 5028e92b-fc59-4056-91d1-ea4b4ca1617a topic: client-sessions schema: $ref: '#/components/schemas/webhook_client_sessions' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/HTTP400' summary: clientSessions tags: - Webhook Samples /webhook_example/_device_events_: post: description: 'Webhook sample for `device_events` topic **Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages' operationId: deviceEvents requestBody: content: application/json: examples: example-1: value: events: - ap: string ap_name: string audit_id: 78c04fa6-cfb4-46a0-9aa5-3681ba4f3897 device_name: string device_type: ap ev_type: notice mac: string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b reason: string site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 site_name: string text: string timestamp: 0 type: string topic: device-events schema: $ref: '#/components/schemas/webhook_device_events' responses: '200': $ref: '#/components/responses/OK' summary: deviceEvents tags: - Webhook Samples /webhook_example/_device_updowns_: post: description: 'Webhook sample for `device_updowns` topic **Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages' operationId: deviceUpDown requestBody: content: application/json: examples: example-1: value: events: - ap: string ap_name: string for_site: true org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 site_name: string timestamp: 0 type: string topic: device-updowns schema: $ref: '#/components/schemas/webhook_device_updowns' responses: '200': $ref: '#/components/responses/OK' summary: deviceUpDown tags: - Webhook Samples /webhook_example/_discovered_raw_rssi_: post: description: 'Webhook sample for `discovered-raw-rssi` topic **Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages' operationId: discovered-raw-rssi requestBody: content: application/json: examples: Example: value: events: - ap_loc: - 0 beam: 0 device_id: 3bafab7b-4400-4bcf-8e6e-09f954699940 ibeacon_major: 0 ibeacon_minor: 0 ibeacon_uuid: 1f89bc00-d0af-481b-82fe-a6629259a39f is_asset: true mac: string map_id: 09d2b626-2e4e-45ef-a3c4-e6aeb6c83db1 mfg_company_id: string mfg_data: string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b rssi: 0 service_packets: - service_data: string service_uuid: 7138cc00-c611-4dec-a05e-5c4b1cae13c0 site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 timestamp: 0 topic: string schema: $ref: '#/components/schemas/webhook_discovered_raw_rssi' responses: '200': $ref: '#/components/responses/OK' summary: discovered-raw-rssi tags: - Webhook Samples /webhook_example/_location_: post: description: 'Webhook sample for `location` topic **Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages' operationId: location requestBody: content: application/json: examples: example-1: value: events: - battery_voltage: 0 eddystone_uid_instance: string eddystone_uid_namespace: string eddystone_url_url: string ibeacon_major: 0 ibeacon_minor: 0 ibeacon_uuid: 1f89bc00-d0af-481b-82fe-a6629259a39f id: 487f6eca-6276-4993-bfeb-e3cbbbba3f08 mac: string map_id: 09d2b626-2e4e-45ef-a3c4-e6aeb6c83db1 mfg_company_id: 0 mfg_data: string name: string site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 timestamp: 0 type: string x: 0 y: 0 topic: location schema: $ref: '#/components/schemas/webhook_location' responses: '200': $ref: '#/components/responses/OK' summary: location tags: - Webhook Samples /webhook_example/_location_asset_: post: description: 'Webhook sample for `location-asset` topic **Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages' operationId: location requestBody: content: application/json: examples: example-1: value: events: - battery_voltage: 3370 eddystone_uid_instance: 5c5b35000001 eddystone_uid_namespace: 2818e3868dec25629ede eddystone_url_url: https://www.abc.com ibeacon_major: 13 ibeacon_minor: 138 ibeacon_uuid: f3f17139-704a-f03a-2786-0400279e37c3 mac: 7fc2936fd243 map_id: 845a23bf-bed9-e43c-4c86-6fa474be7ae5 mfg_company_id: 935 mfg_data: 648520a1020000 site_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862b timestamp: 1461220784 type: asset x: 13.5 y: 3.2 topic: location-asset schema: $ref: '#/components/schemas/webhook_location_asset' responses: '200': $ref: '#/components/responses/OK' summary: location tags: - Webhook Samples /webhook_example/_location_client_: post: description: 'Webhook sample for `location-client` topic **Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages' operationId: location requestBody: content: application/json: examples: example-1: value: events: - mac: 5684dae9ac8b map_id: 845a23bf-bed9-e43c-4c86-6fa474be7ae5 site_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862b timestamp: 1461220784 type: wifi wifi_beacon_extended_info: - frame_ctrl: 776 payload: '............' seq_ctrl: 772 x: 13.5 y: 3.2 topic: location-client schema: $ref: '#/components/schemas/webhook_location_client' responses: '200': $ref: '#/components/responses/OK' summary: location tags: - Webhook Samples /webhook_example/_location_sdk_: post: description: 'Webhook sample for `location-sdk` topic **Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages' operationId: location requestBody: content: application/json: examples: example-1: value: events: - id: de87bf9d-183f-e383-cc68-6ba43947d403 map_id: 845a23bf-bed9-e43c-4c86-6fa474be7ae5 name: optional site_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862b timestamp: 1461220784 type: sdk x: 13.5 y: 3.2 topic: location-sdk schema: $ref: '#/components/schemas/webhook_location_sdk' responses: '200': $ref: '#/components/responses/OK' summary: location tags: - Webhook Samples /webhook_example/_location_unclient_: post: description: 'Webhook sample for `location-unclient` topic **Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages' operationId: location requestBody: content: application/json: examples: example-1: value: events: - mac: 5684dae9ac8b map_id: 845a23bf-bed9-e43c-4c86-6fa474be7ae5 site_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862b timestamp: 1461220784 type: wifi wifi_beacon_extended_info: - frame_ctrl: 776 payload: '............' seq_ctrl: 772 x: 13.5 y: 3.2 topic: location-unclient schema: $ref: '#/components/schemas/webhook_location_unclient' responses: '200': $ref: '#/components/responses/OK' summary: location tags: - Webhook Samples /webhook_example/_nac_accounting_: post: description: 'Webhook sample for `nac-accounting` topic **Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages' operationId: nacAccounting requestBody: content: application/json: examples: Example: value: events: - ap: 5c5b355005be auth_type: eap-tls bssid: 5c5b35546bb4 client_ip: 172.16.87.4 client_type: wireless mac: 6e795836d5f9 nas_vendor: juniper-mist org_id: 625aba64-fe72-4b14-8985-cbf31ec3d78a rx_pkts: 9523 site_id: ec9d1e85-af24-43f9-8d65-d620580e8631 ssid: Test-CMR SSID timestamp: 1547235620.89 tx_pkts: 5233 type: NAC_ACCOUNTING_STOP username: hi topic: nac-accounting schema: $ref: '#/components/schemas/webhook_nac_accounting' responses: '200': $ref: '#/components/responses/OK' summary: nacAccounting tags: - Webhook Samples /webhook_example/_nac_events_: post: description: Example Delivery of nac-events operationId: nac-events requestBody: content: application/json: examples: Example: value: events: - ap: 5c5b35513227 auth_type: 802.1X bssid: 5c5b355fafcc dryrun_nacrule_id: 32f27e7d-ff26-4a9b-b3d1-ff9bcb264012 dryrun_nacrule_matched: true idp_id: 912ef72e-2239-4996-b81e-469e87a27cd6 idp_role: - itsuperusers - vip mac: ac3eb179e535 nacrule_id: 32f27e7d-ff26-4a9b-b3d1-ff9bcb264c62 nacrule_matched: true nas_vendor: juniper-mist org_id: 27547ac2-d114-4e04-beb1-f3f1e6e81ec6 random_mac: true resp_attrs: - Tunnel-Type=VLAN - Tunnel-Medium-Type=IEEE-802 - Tunnel-Private-Group-Id=750 - User-Name=anonymous site_id: 441a1214-6928-442a-8e92-e1d34b8ec6a6 ssid: '##mist_nac' timestamp: 1691512031.358188 type: NAC_CLIENT_PERMIT username: user@deaflyz.net vlan: '750' topic: string schema: $ref: '#/components/schemas/webhook_nac_events' responses: '200': $ref: '#/components/responses/OK' summary: nac-events tags: - Webhook Samples /webhook_example/_occupancy_alerts_: post: description: 'Webhook sample for `occupancy_alerts` topic **Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages' operationId: occupancyAlerts requestBody: content: application/json: examples: example-1: value: events: - alert_events: - current_occupancy: 0 map_id: 09d2b626-2e4e-45ef-a3c4-e6aeb6c83db1 occupancy_limit: 0 org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b timestamp: 0 type: COMPLIANCE-VIOLATION zone_id: 4495020a-236f-46e0-9453-e3f9cc6476f4 zone_name: string for_site: true site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 site_name: string topic: occupancy-alerts schema: $ref: '#/components/schemas/webhook_occupancy_alerts' responses: '200': $ref: '#/components/responses/OK' summary: occupancyAlerts tags: - Webhook Samples /webhook_example/_ping_: post: description: 'Webhook sample for `ping` topic **Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages' operationId: ping requestBody: content: application/json: examples: example-1: value: events: - id: 487f6eca-6276-4993-bfeb-f3cbbbba4f08 name: string site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 timestamp: 0 topic: ping schema: $ref: '#/components/schemas/webhook_ping' responses: '200': $ref: '#/components/responses/OK' summary: ping tags: - Webhook Samples /webhook_example/_sdkclient_scan_data: post: description: 'Webhook sample for `sdkclient_scan_data` topic **Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages' operationId: sdkclientScanData requestBody: content: application/json: examples: example-1: value: events: - connection_ap: 5c5b352f587e connection_band: '2.4' connection_bssid: 5c5b352b51b4 connection_channel: 11 connection_rssi: -87 last_seen: 1592333828 mac: 70ef0071535f scan_data: - ap: 5c5b352f587e band: '2.4' bssid: 5c5b352b51b4 channel: 11 rssi: -87 ssid: mist-wifi timestamp: 1592333828 - ap: 5c5b352f587e band: '5' bssid: 5c5b352b51b8 channel: 36 rssi: -75 ssid: mist-wifi timestamp: 1592333828 site_id: d761985e-49b1-4506-88e9-e0368a05c301 topic: sdkclient-scan-data schema: $ref: '#/components/schemas/webhook_sdkclient-scan-data' responses: '200': $ref: '#/components/responses/OK' summary: sdkclientScanData tags: - Webhook Samples /webhook_example/_site_sle_: post: description: 'Webhook sample for `site-sle` topic **Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages' operationId: site-sle requestBody: content: application/json: examples: Example: value: events: - org_id: 2818e386-8dec-2562-9ede-5b8a0fbbdc71 site_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862b sle: ap-availability: 0.6 successful-connect: 0.7 time-to-connect: 0.9 timestamp: 1694620800 topic: site-sle schema: $ref: '#/components/schemas/webhook_site_sle' description: '' responses: '200': $ref: '#/components/responses/OK' summary: site-sle tags: - Webhook Samples /webhook_example/_zone_: post: description: 'Webhook sample for `zone` topic **Note**: The server host will be your own server FQDN where the Mist Cloud is sending the webhook messages' operationId: zone requestBody: content: application/json: examples: example-1: value: events: - asset_id: b4695157-0d1d-4da0-8f9e-5c53149389e4 id: 485f6eca-6276-4993-bfeb-54cbbbba5f08 mac: string map_id: 09d2b626-2e4e-45ef-a3c4-e6aeb6c83db1 name: string site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 timestamp: 0 trigger: enter type: string zone_id: 4495020a-236f-46e0-9453-e3f9cc6476f4 topic: zone schema: $ref: '#/components/schemas/webhook_zone' responses: '200': $ref: '#/components/responses/OK' summary: zone tags: - Webhook Samples 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 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](/#operation/listClientEventsDefinitions) 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](/#operation/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 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](/#operation/listMxedgeEventsDefinitions) 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](/#operation/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: org_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: 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 otherdevice_event_type: description: see [listDeviceEventsDefinitions](/#operation/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 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 title: Resolution 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 title: Rogue Type 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 system_event_type: description: see [listDeviceEventsDefinitions](/#operation/listSystemEventsDefinitions) 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 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 title: Zone Type type: string responses: AccountJseInfo: content: application/json: schema: $ref: '#/components/schemas/account_jse_info' description: OK Admin: content: application/json: examples: example-1: value: admin_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 email: user@example.com first_name: string last_name: string privileges: - msp_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 msp_name: string name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 org_name: string orggroup_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 role: admin scope: org site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 sitegroup_ids: - 6f4bf402-45f9-2a56-6c8b-7f83d3bc98e9 schema: $ref: '#/components/schemas/admin' description: OK AdminsArray: content: application/json: examples: example-1: value: - admin_id: 456b7016-a916-a4b1-78dd-72b947c152b7 email: jsmith@mycorp.org first_name: Joe last_name: Smith privileges: - role: admin scope: msp - org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 role: admin scope: org - orggroup_ids: - 507f1bab-13ba-73e2-f291-2bcb8d1362b0 role: read scope: orggroup example-2: value: - admin_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 email: user@example.com first_name: string last_name: string privileges: - msp_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 msp_name: string name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 org_name: string orggroup_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 role: admin scope: org site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 sitegroup_ids: - 6f4bf402-45f9-2a56-6c8b-7f83d3bc98e9 schema: $ref: '#/components/schemas/admin_array' description: OK AlarmsSearch: content: application/json: schema: $ref: '#/components/schemas/alarm_search_result' description: OK Alarmtemplate: content: application/json: schema: $ref: '#/components/schemas/alarm_template' description: OK AlarmtemplatesArray: content: application/json: schema: $ref: '#/components/schemas/alarm_template_array' description: OK AnomalyMetrics: content: application/json: schema: $ref: '#/components/schemas/anomaly_search_result' description: OK ApitokenOrg: content: application/json: examples: Example: value: created_by: user@mycorp.com created_time: 1626875902 id: 497f6eca-6276-4993-bfeb-53efbbba6f08 key: 1qkb...QQCL last_used: 1690115110 name: org_token_xyz org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b privileges: - org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b role: admin scope: org schema: $ref: '#/components/schemas/org_apitoken' description: OK ApitokenUser: content: application/json: examples: Example: value: created_time: 1626875902 id: 864f351a-1377-4ad9-83f8-72f3fe6199ba key: 1qkb...QQCL last_used: 1690115110 name: org_token_xyz schema: $ref: '#/components/schemas/user_apitoken' description: OK ApitokensOrgArray: content: application/json: examples: Example: value: - created_by: user@mycorp.com created_time: 1626875902 id: 497f6eca-6276-4993-bfeb-53f0bbba6f08 key: 1qkb...QQCL last_used: 1690115110 name: org_token_xyz org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b privileges: - org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b role: admin scope: org schema: items: $ref: '#/components/schemas/org_apitoken' type: array description: OK ApitokensUserArray: content: application/json: examples: Example: value: - created_time: 1626875902 id: 864f351a-1377-4ad9-83f8-72f3fe6199ba key: 1qkb...QQCL last_used: 1690115110 name: org_token_xyz schema: items: $ref: '#/components/schemas/user_apitoken' type: array description: OK Aptemplate: content: application/json: examples: Example: value: ap_matching: enabled: true rules: - match_model: string name: string port_config: property1: additional_vlan_ids: - 55 - 66 authentication_protocol: pap disabled: true dynamic_vlan: default_vlan_id: 999 enabled: true type: string vlans: 1-10: null user: null enable_mac_auth: false forwarding: all mx_tunnel_id: 08cd7499-5841-51c8-e663-fb16b6f3b45e mxtunnel_name: string port_auth: none port_vlan_id: 1 radius_config: acct_interim_interval: 0 acct_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1813 secret: testing123 auth_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1812 secret: testing123 auth_servers_retries: 3 auth_servers_timeout: 5 coa_enabled: false coa_port: 3799 network: string source_ip: string radsec: enabled: true idle_timeout: 60 mxcluster_ids: - 572586b7-f97b-a22b-526c-8b97a3f609c4 proxy_hosts: - mxedge1.local server_name: radsec.abc.com servers: - host: 1.1.1.1 port: 1812 use_mxedge: true use_site_mxedge: false vlan_id: 9 vland_ids: - 1 - 10 - 50 wxtunnel_id: 7dae216d-7c98-a51b-e068-dd7d477b7216 wxtunnel_remote_id: wifiguest property2: additional_vlan_ids: - 55 - 66 authentication_protocol: pap disabled: true dynamic_vlan: default_vlan_id: 999 enabled: true type: string vlans: 1-10: null user: null enable_mac_auth: false forwarding: all mx_tunnel_id: 08cd7499-5841-51c8-e663-fb16b6f3b45e mxtunnel_name: string port_auth: none port_vlan_id: 1 radius_config: acct_interim_interval: 0 acct_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1813 secret: testing123 auth_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1812 secret: testing123 auth_servers_retries: 3 auth_servers_timeout: 5 coa_enabled: false coa_port: 3799 network: string source_ip: string radsec: enabled: true idle_timeout: 60 mxcluster_ids: - 572586b7-f97b-a22b-526c-8b97a3f609c4 proxy_hosts: - mxedge1.local server_name: radsec.abc.com servers: - host: 1.1.1.1 port: 1812 use_mxedge: true use_site_mxedge: false vlan_id: 9 vland_ids: - 1 - 10 - 50 wxtunnel_id: 7dae216d-7c98-a51b-e068-dd7d477b7216 wxtunnel_remote_id: wifiguest created_time: 0 for_site: true id: 497f6eca-6276-4993-bfeb-53cbbbba8f08 modified_time: 0 org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 wifi: cisco_enabled: true disable_11k: false disable_radios_when_power_constrained: true enable_arp_spoof: true enable_shared_radio_scanning: false enabled: true locate_connected: false locate_unconnected: false mesh_allow_dfs: false mesh_enable_crm: true mesh_enabled: true proxy_arp: false schema: $ref: '#/components/schemas/ap_template' description: AP Template AptemplatesArray: content: application/json: examples: Example: value: - ap_matching: enabled: true rules: - match_model: string name: string port_config: property1: additional_vlan_ids: - 55 - 66 authentication_protocol: pap disabled: true dynamic_vlan: default_vlan_id: 999 enabled: true type: string vlans: 1-10: null user: null enable_mac_auth: false forwarding: all mx_tunnel_id: 08cd7499-5841-51c8-e663-fb16b6f3b45e mxtunnel_name: string port_auth: none port_vlan_id: 1 radius_config: acct_interim_interval: 0 acct_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1813 secret: testing123 auth_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1812 secret: testing123 auth_servers_retries: 3 auth_servers_timeout: 5 coa_enabled: false coa_port: 3799 network: string source_ip: string radsec: enabled: true idle_timeout: 60 mxcluster_ids: - 572586b7-f97b-a22b-526c-8b97a3f609c4 proxy_hosts: - mxedge1.local server_name: radsec.abc.com servers: - host: 1.1.1.1 port: 1812 use_mxedge: true use_site_mxedge: false vlan_id: 9 vland_ids: - 1 - 10 - 50 wxtunnel_id: 7dae216d-7c98-a51b-e068-dd7d477b7216 wxtunnel_remote_id: wifiguest property2: additional_vlan_ids: - 55 - 66 authentication_protocol: pap disabled: true dynamic_vlan: default_vlan_id: 999 enabled: true type: string vlans: 1-10: null user: null enable_mac_auth: false forwarding: all mx_tunnel_id: 08cd7499-5841-51c8-e663-fb16b6f3b45e mxtunnel_name: string port_auth: none port_vlan_id: 1 radius_config: acct_interim_interval: 0 acct_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1813 secret: testing123 auth_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1812 secret: testing123 auth_servers_retries: 3 auth_servers_timeout: 5 coa_enabled: false coa_port: 3799 network: string source_ip: string radsec: enabled: true idle_timeout: 60 mxcluster_ids: - 572586b7-f97b-a22b-526c-8b97a3f609c4 proxy_hosts: - mxedge1.local server_name: radsec.abc.com servers: - host: 1.1.1.1 port: 1812 use_mxedge: true use_site_mxedge: false vlan_id: 9 vland_ids: - 1 - 10 - 50 wxtunnel_id: 7dae216d-7c98-a51b-e068-dd7d477b7216 wxtunnel_remote_id: wifiguest created_time: 0 for_site: true id: 497f6eca-6276-4993-bfeb-53cbbbba9f08 modified_time: 0 org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 wifi: cisco_enabled: true disable_11k: false disable_radios_when_power_constrained: true enable_arp_spoof: true enable_shared_radio_scanning: false enabled: true locate_connected: false locate_unconnected: false mesh_allow_dfs: false mesh_enable_crm: true mesh_enabled: true proxy_arp: false schema: items: $ref: '#/components/schemas/ap_template' type: array description: Example response Asset: content: application/json: examples: example-1: value: created_time: 0 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 mac: string map_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 modified_time: 0 name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 tag_id: 6f4bf402-45f9-2a56-6c8b-7f83d3bc98e9 schema: $ref: '#/components/schemas/asset' description: OK AssetOfInterestArray: content: application/json: examples: example-1: value: - _checkpoint_prep: 0 _checkpoint_preparer: 0 _checkpoint_scan: 0 _id: string _timestamp: 0 _ttl: 0 ap_mac: string beam: 0 by: string curr_site: string device_name: string id: string last_seen: 0 mac: string manufacture: string map_id: string name: string rssi: 0 schema: items: $ref: '#/components/schemas/asset_of_interest' type: array description: Example response AssetStats: content: application/json: examples: example-1: value: battery_voltage: 0 eddystone_uid_instance: string eddystone_uid_namespace: string eddystone_url_url: string ibeacon_major: 0 ibeacon_minor: 0 ibeacon_uuid: 1f89bc00-d0af-481b-82fe-a6629259a39f last_seen: 0 mac: string map_id: 09d2b626-2e4e-45ef-a3c4-e6aeb6c83db1 name: string rssizones: - id: 480f6eca-6276-4993-bfeb-59cbbbbaaf08 since: 0 x: 0 y: 0 zones: - id: 479f6eca-6276-4993-bfeb-5acbbbbabf08 since: 0 schema: $ref: '#/components/schemas/asset_stats' description: OK Assetfilter: content: application/json: examples: example-1: value: created_time: 0 disasbled: true eddystone_uid_namespace: string eddystone_url: string for_site: true ibeacon_major: 0 ibeacon_uuid: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 mfg_company_id: 0 modified_time: 0 name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 schema: $ref: '#/components/schemas/asset_filter' description: OK AssetfiltersArray: content: application/json: schema: items: $ref: '#/components/schemas/asset_filter' type: array description: OK AssetsArray: content: application/json: schema: items: $ref: '#/components/schemas/asset' type: array description: OK AssetsArrayStats: content: application/json: examples: example-1: value: - battery_voltage: 0 eddystone_uid_instance: string eddystone_uid_namespace: string eddystone_url_url: string ibeacon_major: 0 ibeacon_minor: 0 ibeacon_uuid: 1f89bc00-d0af-481b-82fe-a6629259a39f last_seen: 0 mac: string map_id: 09d2b626-2e4e-45ef-a3c4-e6aeb6c83db1 name: string rssizones: - id: 478f6eca-6276-4993-bfeb-5bcbbbbacf08 since: 0 x: 0 y: 0 zones: - id: 477f6eca-6276-4993-bfeb-5ccbbbbadf08 since: 0 schema: items: $ref: '#/components/schemas/asset_stats' type: array description: OK AssetsArrayStatsSearch: content: application/json: examples: example-1: value: end: 0 limit: 0 next: string results: - battery_voltage: 0 eddystone_uid_instance: string eddystone_uid_namespace: string eddystone_url_url: string ibeacon_major: 0 ibeacon_minor: 0 ibeacon_uuid: 1f89bc00-d0af-481b-82fe-a6629259a39f last_seen: 0 mac: string map_id: 09d2b626-2e4e-45ef-a3c4-e6aeb6c83db1 name: string rssizones: - id: 476f6eca-6276-4993-bfeb-5dcbbbbaef08 since: 0 x: 0 y: 0 zones: - id: 475f6eca-6276-4993-bfeb-5ecbbbbf6f08 since: 0 start: 0 total: 0 schema: properties: end: type: integer limit: type: integer next: type: string results: items: $ref: '#/components/schemas/asset_stats' minItems: 1 type: array uniqueItems: true start: type: integer total: type: integer required: - start - end - limit - total - results type: object description: OK AssignSuccess: content: application/json: examples: example-1: value: success: - 5c5b350e0001 schema: properties: success: items: type: string type: array required: - success type: object description: OK - list only devices that has deviceprofile_id changed AutoOrientation: content: application/json: examples: enqueued: value: state: Not Started time_queued: 1675414259 not-started: value: state: Not Started time_queued: -1 oriented: value: state: Oriented time_queued: 1675414259 schema: properties: state: description: The state of auto orient for a given map derived from an Enum enum: - Not Started - Enqueued - Oriented title: auto_orientation_state type: string time_queued: description: Time when auto orient process was last queued for this map type: number type: object description: Map queued for auto orientation AutoOrientationFailed: content: application/json: examples: Example: value: detail: Map has less than 3 APs associated with it to perform auto orient Example-2: value: detail: Auto AP orient is already in progress for this Map Example-3: value: detail: Auto orient data does not exist or has gone stale schema: properties: detail: type: string type: object description: Bad Request AutoPlacementInfo: content: application/json: examples: done: value: end_time: 1678900362 start_time: 1678900062 status: done error: value: end_time: 1678900362 start_time: 1678900062 status: error in-Progress: value: est_time_left: 300 start_time: 1678900062 status: inprogress pending: value: status: pending schema: properties: end_time: description: time when autoplacement completed or was manually stopped type: number est_time_left: description: (Only when inprogress) estimate of the time to completion type: number start_time: description: time when autoplacement process was last queued for this map type: number status: description: the status of autoplacement for a given map enum: - pending - inprogress - done - error title: auto_placement_status type: string type: object description: OK Beacon: content: application/json: examples: example-1: value: created_time: 0 eddystone_instance: string eddystone_namespace: string eddystone_url: string ibeacon_major: 0 ibeacon_minor: 0 ibeacon_uuid: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 mac: string map_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 modified_time: 0 name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 power: 0 site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 type: eddystone-uid x: 0 y: 0 schema: $ref: '#/components/schemas/beacon' description: OK BeaconsArray: content: application/json: examples: example-1: value: - created_time: 0 eddystone_instance: string eddystone_namespace: string eddystone_url: string ibeacon_major: 0 ibeacon_minor: 0 ibeacon_uuid: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 mac: string map_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 modified_time: 0 name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 power: 0 site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 type: eddystone-uid x: 0 y: 0 schema: items: $ref: '#/components/schemas/beacon' minItems: 0 type: array description: OK BgpStatsArraySearch: content: application/json: examples: Example: value: end: 0 limit: 0 results: - evpn_overlay: true for_overlay: true local_as: 65000 mac: 020001c04668 neighbor: 15.8.3.5 neighbor_as: 65000 neighbor_mac: 020001c04600 node: node0 org_id: 0c160b7f-1027-4cd1-923b-744534c4b070 rx_pkts: 63366 rx_routes: 60 site_id: 725a8d34-a126-4f2c-b990-d1219421cb75 state: established timestamp: 1666251056.07 tx_pkts: 1735 tx_routes: 60 up: true uptime: 31355 vrf_name: default start: 0 total: 0 schema: properties: end: type: number limit: type: integer results: items: $ref: '#/components/schemas/bgp_stats' type: array start: type: number total: type: integer type: object description: Example response CallStatsArray: content: application/json: examples: {} schema: properties: end: type: number limit: type: integer next: type: string results: items: $ref: '#/components/schemas/call_stats' type: array start: type: number total: type: integer type: object description: Example response CallTroubleshoot: content: application/json: examples: Example: value: mac: 983a78ea4a44 meeting_id: b784d744-9a7c-4fad-9af0-f78858a319b1 results: - audio_in: ap_num_clients: -0.6565111 ap_rtt: 0.16559607 client_cpu: 3.7028809 client_n_streams: 0.15803306 client_radio_band: 0.5576923 client_rssi: -1.0839354 client_rx_bytes: 2.2622051 client_rx_rates: 0.62357205 client_rx_retries: 0.26726437 client_tx_bytes: 0.15803306 client_tx_rates: 0.62357205 client_tx_retries: 0.77553505 client_vpn_distaince: 1.6474955 client_wifi_version: 0.18267937 expected: 30.941595 radio_bandwidth: -0.06538621 radio_channel: -0.73391086 radio_tx_power: 0.10027129 radio_util: 12.770318 radio_util_interference: -3.079999 site_num_clients: 0.017364305 wan_avg_download_mbps: 1.4803165 wan_avg_upload_mbps: -0.038184267 wan_jitter: 5.9680853 wan_max_download_mbps: 1.4803165 wan_max_upload_mbps: -0.038184267 wan_rtt: 46.77899 audio_out: ap_num_clients: -0.6565111 ap_rtt: 0.16559607 client_cpu: 3.7028809 client_n_streams: 0.15803306 client_radio_band: 0.5576923 client_rssi: -1.0839354 client_rx_bytes: 2.2622051 client_rx_rates: 0.62357205 client_rx_retries: 0.26726437 client_tx_bytes: 0.15803306 client_tx_rates: 0.62357205 client_tx_retries: 0.77553505 client_vpn_distaince: 1.6474955 client_wifi_version: 0.18267937 expected: 30.941595 radio_bandwidth: -0.06538621 radio_channel: -0.73391086 radio_tx_power: 0.10027129 radio_util: 12.770318 radio_util_interference: -3.079999 site_num_clients: 0.017364305 wan_avg_download_mbps: 1.4803165 wan_avg_upload_mbps: -0.038184267 wan_jitter: 5.9680853 wan_max_download_mbps: 1.4803165 wan_max_upload_mbps: -0.038184267 wan_rtt: 46.77899 timestamp: 1695425115 video_in: ap_num_clients: -0.6565111 ap_rtt: 0.16559607 client_cpu: 3.7028809 client_n_streams: 0.15803306 client_radio_band: 0.5576923 client_rssi: -1.0839354 client_rx_bytes: 2.2622051 client_rx_rates: 0.62357205 client_rx_retries: 0.26726437 client_tx_bytes: 0.15803306 client_tx_rates: 0.62357205 client_tx_retries: 0.77553505 client_vpn_distaince: 1.6474955 client_wifi_version: 0.18267937 expected: 30.941595 radio_bandwidth: -0.06538621 radio_channel: -0.73391086 radio_tx_power: 0.10027129 radio_util: 12.770318 radio_util_interference: -3.079999 site_num_clients: 0.017364305 wan_avg_download_mbps: 1.4803165 wan_avg_upload_mbps: -0.038184267 wan_jitter: 5.9680853 wan_max_download_mbps: 1.4803165 wan_max_upload_mbps: -0.038184267 wan_rtt: 46.77899 video_out: ap_num_clients: -0.6565111 ap_rtt: 0.16559607 client_cpu: 3.7028809 client_n_streams: 0.15803306 client_radio_band: 0.5576923 client_rssi: -1.0839354 client_rx_bytes: 2.2622051 client_rx_rates: 0.62357205 client_rx_retries: 0.26726437 client_tx_bytes: 0.15803306 client_tx_rates: 0.62357205 client_tx_retries: 0.77553505 client_vpn_distaince: 1.6474955 client_wifi_version: 0.18267937 expected: 30.941595 radio_bandwidth: -0.06538621 radio_channel: -0.73391086 radio_tx_power: 0.10027129 radio_util: 12.770318 radio_util_interference: -3.079999 site_num_clients: 0.017364305 wan_avg_download_mbps: 1.4803165 wan_avg_upload_mbps: -0.038184267 wan_jitter: 5.9680853 wan_max_download_mbps: 1.4803165 wan_max_upload_mbps: -0.038184267 wan_rtt: 46.77899 schema: $ref: '#/components/schemas/call_troubleshoot' description: Example response CallTroubleshootSummary: content: application/json: examples: Example: value: mac: 983a78ea4a44 meeting_id: b784d744-9a7c-4fad-9af0-f78858a319b1 results: - audio_in: ap_num_clients: 45.48306793636746 ap_rtt: 6.352042701509264 client_cpu: 9.323452578650581 client_radio_band: 1.5325644097982958e-06 client_rssi: 17.251008563571506 client_tx_bytes: 1.8379177401463191 client_tx_rates: 10.668423069847954 client_tx_retries: 43.323209603627525 client_vpn_distance: 112.4420166015625 expected: 29.74261474609375 radio_bandwidth: -0.1533682727151447 radio_channel: 0.662909648484654 radio_util: 27.891777674357098 radio_util_interference: 4.38913492154744 site_num_clients: -0.2855822932389047 site_wan_avg_upload_mpbs: -0.988989942603641 site_wan_jitter: 0.7875519659784105 site_wan_rtt: 15.094849904378256 site_wan_upload_mpbs: -0.8131117953194512 audio_out: ap_num_clients: 45.48306793636746 ap_rtt: 6.352042701509264 client_cpu: 9.323452578650581 client_radio_band: 1.5325644097982958e-06 client_rssi: 17.251008563571506 client_tx_bytes: 1.8379177401463191 client_tx_rates: 10.668423069847954 client_tx_retries: 43.323209603627525 client_vpn_distance: 112.4420166015625 expected: 29.74261474609375 radio_bandwidth: -0.1533682727151447 radio_channel: 0.662909648484654 radio_util: 27.891777674357098 radio_util_interference: 4.38913492154744 site_num_clients: -0.2855822932389047 site_wan_avg_upload_mpbs: -0.988989942603641 site_wan_jitter: 0.7875519659784105 site_wan_rtt: 15.094849904378256 site_wan_upload_mpbs: -0.8131117953194512 timestamp: 1695425115 video_in: ap_num_clients: 45.48306793636746 ap_rtt: 6.352042701509264 client_cpu: 9.323452578650581 client_radio_band: 1.5325644097982958e-06 client_rssi: 17.251008563571506 client_tx_bytes: 1.8379177401463191 client_tx_rates: 10.668423069847954 client_tx_retries: 43.323209603627525 client_vpn_distance: 112.4420166015625 expected: 29.74261474609375 radio_bandwidth: -0.1533682727151447 radio_channel: 0.662909648484654 radio_util: 27.891777674357098 radio_util_interference: 4.38913492154744 site_num_clients: -0.2855822932389047 site_wan_avg_upload_mpbs: -0.988989942603641 site_wan_jitter: 0.7875519659784105 site_wan_rtt: 15.094849904378256 site_wan_upload_mpbs: -0.8131117953194512 video_out: ap_num_clients: 45.48306793636746 ap_rtt: 6.352042701509264 client_cpu: 9.323452578650581 client_radio_band: 1.5325644097982958e-06 client_rssi: 17.251008563571506 client_tx_bytes: 1.8379177401463191 client_tx_rates: 10.668423069847954 client_tx_retries: 43.323209603627525 client_vpn_distance: 112.4420166015625 expected: 29.74261474609375 radio_bandwidth: -0.1533682727151447 radio_channel: 0.662909648484654 radio_util: 27.891777674357098 radio_util_interference: 4.38913492154744 site_num_clients: -0.2855822932389047 site_wan_avg_upload_mpbs: -0.988989942603641 site_wan_jitter: 0.7875519659784105 site_wan_rtt: 15.094849904378256 site_wan_upload_mpbs: -0.8131117953194512 schema: $ref: '#/components/schemas/call_troubleshoot_summary' description: Example response Certificate: content: application/json: examples: example-1: value: cert: '-----BEGIN CERTIFICATE----- MIIowDQYJKoZIhvcNAQELBQE -----END CERTIFICATE-----' schema: properties: cert: type: string required: - cert type: object description: OK ClaimLicense: content: application/json: examples: licenses-successfully-claimed-and-applied: value: inventory_added: - mac: 5c5b35000018 magic: 6JG8EPTFV2A9Z2N model: AP41 serial: FXLH2015150025 type: ap inventory_duplicated: - mac: 5c5b35000012 magic: DVH4VSNMSZPDXBR model: AP41 serial: FXLH2015150027 type: ap license_added: - end: 1520380800 quantity: 180 start: 1504828800 type: SUB-MAN - end: 1520380800 quantity: 120 start: 1504828800 type: SUB-LOC license_duplicated: - end: 1520380800 quantity: 180 start: 1504828800 type: SUB-MAN license_error: - order: '00000464' reason: '' schema: properties: inventory_added: items: properties: mac: type: string magic: type: string model: type: string serial: type: string type: type: string required: - serial - model - type - magic - mac minItems: 1 type: array uniqueItems: true inventory_duplicated: items: properties: mac: type: string magic: type: string model: type: string serial: type: string type: type: string required: - serial - model - type - magic - mac minItems: 1 type: array uniqueItems: true license_added: items: properties: end: type: integer quantity: type: integer start: type: integer type: type: string required: - type - start - end - quantity minItems: 1 type: array uniqueItems: true license_duplicated: items: properties: end: type: integer quantity: type: integer start: type: integer type: type: string required: - type - start - end - quantity minItems: 1 type: array uniqueItems: true license_error: items: properties: order: type: string reason: type: string required: - order - reason minItems: 1 type: array uniqueItems: true required: - license_added - license_duplicated - license_error - inventory_added - inventory_duplicated type: object description: OK ClaimMxedge: content: application/json: examples: example-1: value: id: 95ddd29a-6a3c-929e-a431-51a5b09f36a6 magic: ExNpT5gi-ADR8WTFd4EiQPY3cP5WdSoD schema: properties: id: format: uuid type: string magic: type: string required: - id - magic type: object description: OK ClientEventsSearch: content: application/json: examples: example-1: value: end: 1513176951 limit: 10 results: - ap: 5c5b350eb31b band: '5' bssid: 5c5b350918f1 channel: 149 proto: ac ssid: Guest text: Status code 0 "Successful" timestamp: 1513358874.667 type: CLIENT_DNS_OK type_code: 15 wlan_id: be22bba7-8e22-e1cf-5185-b880816fe2cf start: 1512572151 total: 1 schema: properties: end: type: integer limit: type: integer next: type: string results: items: $ref: '#/components/schemas/events_client' minItems: 1 type: array uniqueItems: true start: type: integer total: type: integer required: - start - end - limit - total - results type: object description: OK ClientNacSearch: content: application/json: examples: Example: value: end: 1513362753 limit: 3 results: - ap: - 5c5b35bf16bb - d4dc090041b4 auth_type: eap-tls cert_cn: - string cert_issuer: - string idp_id: string idp_role: - string last_ap: string last_cert_cn: string last_cert_expiry: 0 last_cert_issuer: string last_nacrule_id: string last_nacrule_name: string last_nas_vendor: string last_ssid: string last_status: string mac: string nacrule_id: - string nacrule_matched: true nacrule_name: - string nas_vendor: - string org_id: 31f27122-68a9-47a4-b526-8fb8a62a8acb random_mac: true site_id: 832b1d74-9531-409b-ae37-4d7f3edbde92 ssid: - string timestamp: 1694689718.612 type: wireless start: 1513276353 total: 2 schema: properties: end: example: 1513362753 type: integer limit: example: 3 type: integer results: $ref: '#/components/schemas/nac_clients' start: example: 1513276353 type: integer total: example: 2 type: integer type: object description: Example response ClientSessionsSearch: content: application/json: examples: example-1: value: end: 1513177200 limit: 10 results: - ap: 5c5b350e0262 band: '5' client_manufacture: Apple connect: 1565208388 disconnect: 1565208448 duration: 60.09423865 mac: b019c66c8348 org_id: 3139f2c2-fac6-11e5-8156-0242ac110006 site_id: 70e0f468-fc13-11e5-85ad-0242ac110008 ssid: Dummy WLAN 2 tags: - disassociate timestamp: 1565208448.662 wlan_id: 99bb4c74-f954-4f36-b844-6b030faffabc start: 1511967600 total: 100 schema: properties: end: type: integer limit: type: integer next: type: string results: items: properties: ap: readOnly: true type: string band: readOnly: true type: string client_manufacture: readOnly: true type: string connect: readOnly: true type: number disconnect: readOnly: true type: number duration: readOnly: true type: number mac: readOnly: true type: string org_id: format: uuid readOnly: true type: string site_id: $ref: '#/components/schemas/site_id' ssid: readOnly: true type: string tags: items: type: string readOnly: true type: array timestamp: type: number wlan_id: format: uuid type: string required: - ap - band - client_manufacture - connect - disconnect - duration - mac - org_id - site_id - ssid - timestamp - wlan_id title: client_session type: object minItems: 1 type: array uniqueItems: true start: type: integer total: type: integer required: - end - limit - results - start - total type: object description: OK ClientsSearch: content: application/json: examples: example-1: value: end: 0 limit: 0 results: - ap: string band: '24' bssid: string channel: 0 proto: a ssid: string text: string timestamp: 0 type: string type_code: 0 wlan_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 start: 0 total: 0 schema: properties: end: type: integer limit: type: integer next: type: string results: items: $ref: '#/components/schemas/events_client' minItems: 1 type: array uniqueItems: true start: type: integer total: type: integer required: - start - end - limit - total - results type: object description: OK ConfigsHistorySearch: content: application/json: examples: example-1: value: end: 1531862583 limit: 10 results: - channel_24: 11 channel_5: 100 radio_macs: - 5c5b352e000a - 5c5b352e000b - 5c5b352e000c radios: - band: '24' channel: 11 - band: '5' channel: 100 secpolicy_violated: false ssids: - test24 - test5 ssids_24: - test24 ssids_5: - test5 timestamp: 1531855856.643369 version: apfw-0.2.14754-cersei-75c8 wlans: - auth: psk bands: - '24' id: be22bba7-8e22-e1cf-5185-b880816fe2cf ssid: test24 vlan_ids: - '1' - auth: psk bands: - '5' id: f8c18724-4118-3487-811a-f98964988604 ssid: test5 vlan_ids: - '1' start: 1531776183 total: 1 schema: properties: end: type: integer limit: type: integer next: type: string results: items: properties: channel_24: type: integer channel_5: type: integer radio_macs: items: type: string type: array radios: items: properties: band: type: string channel: type: integer required: - band - channel type: object minItems: 1 type: array uniqueItems: true secpolicy_violated: type: boolean ssids: items: type: string type: array ssids_24: items: type: string type: array ssids_5: items: type: string type: array timestamp: type: number version: type: string wlans: items: properties: auth: type: string bands: items: type: string type: array id: format: uuid type: string ssid: type: string vlan_ids: items: type: string type: array required: - auth - id - ssid type: object minItems: 1 type: array uniqueItems: true required: - channel_24 - channel_5 - secpolicy_violated - timestamp - version title: config_history type: object minItems: 1 type: array uniqueItems: true start: type: integer total: type: integer required: - end - limit - results - start - total type: object description: OK ConstAlarmDefinitions: content: application/json: examples: Example: value: - display: Device offline example: aps: - d420b02000fa count: 1 group: infrastructure hostnames: - Vendor_AP2 id: e70c308f-7007-4866-9ecd-0d01842979ea last_seen: 1629753888 org_id: 09dac91f-6e73-4100-89f7-698e0fafbb1b severity: warn site_id: dcfb31a1-d615-4361-8c95-b9dde05aa704 timestamp: 1629753888 type: device_down fields: - aps - hostnames group: infrastructure key: device_down marvis_suggestion_category: string severity: warn schema: items: $ref: '#/components/schemas/const_alarm_definition' type: array description: List of Alarm Definitions ConstApChannels: content: application/json: examples: Example: value: band24_40mhz_allowed: true band24_channels: '20': - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 '40': - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 band24_enabled: true band5_channels: '20': - 36 - 40 - 44 - 48 - 52 - 56 - 60 - 64 - 100 - 104 - 108 - 112 - 116 - 120 - 124 - 128 - 132 - 136 - 140 - 144 - 149 - 153 - 157 - 161 - 165 '40': - 36 - 40 - 44 - 48 - 52 - 56 - 60 - 64 - 100 - 104 - 108 - 112 - 116 - 120 - 124 - 128 - 132 - 136 - 140 - 144 - 149 - 153 - 157 - 161 '80': - 36 - 40 - 44 - 48 - 52 - 56 - 60 - 64 - 100 - 104 - 108 - 112 - 116 - 120 - 124 - 128 - 132 - 136 - 140 - 144 - 149 - 153 - 157 - 161 dfs: - 52 - 56 - 60 - 64 - 100 - 104 - 108 - 112 - 116 - 120 - 124 - 128 - 132 - 136 - 140 - 144 outdoor: - 36 - 40 - 44 - 48 - 52 - 56 - 60 - 64 - 100 - 104 - 108 - 112 - 116 - 120 - 124 - 128 - 132 - 136 - 140 - 144 - 149 - 153 - 157 - 161 - 165 band5_enabled: true band6_channels: '160': - 1 - 5 - 9 - 13 - 17 - 21 - 25 - 29 - 33 - 37 - 41 - 45 - 49 - 53 - 57 - 61 - 65 - 69 - 73 - 77 - 81 - 85 - 89 - 93 - 97 - 101 - 105 - 109 - 113 - 117 - 121 - 125 - 129 - 133 - 137 - 141 - 145 - 149 - 153 - 157 - 161 - 165 - 169 - 173 - 177 - 181 - 185 - 189 - 193 - 197 - 201 - 205 - 209 - 213 - 217 - 221 '20': - 1 - 5 - 9 - 13 - 17 - 21 - 25 - 29 - 33 - 37 - 41 - 45 - 49 - 53 - 57 - 61 - 65 - 69 - 73 - 77 - 81 - 85 - 89 - 93 - 97 - 101 - 105 - 109 - 113 - 117 - 121 - 125 - 129 - 133 - 137 - 141 - 145 - 149 - 153 - 157 - 161 - 165 - 169 - 173 - 177 - 181 - 185 - 189 - 193 - 197 - 201 - 205 - 209 - 213 - 217 - 221 - 225 - 229 - 233 '40': - 1 - 5 - 9 - 13 - 17 - 21 - 25 - 29 - 33 - 37 - 41 - 45 - 49 - 53 - 57 - 61 - 65 - 69 - 73 - 77 - 81 - 85 - 89 - 93 - 97 - 101 - 105 - 109 - 113 - 117 - 121 - 125 - 129 - 133 - 137 - 141 - 145 - 149 - 153 - 157 - 161 - 165 - 169 - 173 - 177 - 181 - 185 - 189 - 193 - 197 - 201 - 205 - 209 - 213 - 217 - 221 - 225 - 229 '80': - 1 - 5 - 9 - 13 - 17 - 21 - 25 - 29 - 33 - 37 - 41 - 45 - 49 - 53 - 57 - 61 - 65 - 69 - 73 - 77 - 81 - 85 - 89 - 93 - 97 - 101 - 105 - 109 - 113 - 117 - 121 - 125 - 129 - 133 - 137 - 141 - 145 - 149 - 153 - 157 - 161 - 165 - 169 - 173 - 177 - 181 - 185 - 189 - 193 - 197 - 201 - 205 - 209 - 213 - 217 - 221 psc: - 5 - 21 - 37 - 53 - 69 - 85 - 101 - 117 - 133 - 149 - 165 - 181 - 197 - 213 - 229 band6_enabled: true certified: true code: 840 dfs_ok: true key: US name: United States uses: US_FCC schema: $ref: '#/components/schemas/const_ap_channel' description: AP Channels ConstApLedDefinitions: content: application/json: examples: Example: value: - code: '01' description: LED not working key: LED_FAILURE name: LED Failure schema: items: $ref: '#/components/schemas/const_ap_led' type: array description: List of AP Led Status ConstAppCategoryDefinitions: content: application/json: examples: Example: value: - display: Images filters: srx: - Enhanced_Images_Media - Enhanced_Web_Images - Enhanced_Image_Servers key: Images - display: Standard includes: - Adult - FileSharing - Games - Images - Malware - NewsAndReference - Recreation - Religion - Security - Sports - Technology - Violence key: Standard schema: items: $ref: '#/components/schemas/const_app_category_definition' type: array description: List of Application Categories Definitions ConstAppSubCategoryDefinitions: content: application/json: examples: Example: value: - display: Office Documents key: Office_Documents traffic_type: data_interactive schema: items: $ref: '#/components/schemas/const_app_subcategory_definition' type: array description: List of Application Sub-categories Definitions ConstApplications: content: application/json: examples: Example: value: - app_id: true app_image_url: '' app_probe: true category: FileSharing group: File Sharing key: dropbox name: Dropbox signature_based: true ssr_app_id: true schema: items: properties: app_id: type: boolean app_image_url: example: '""' type: string app_probe: type: boolean category: example: FileSharing type: string group: example: File Sharing type: string key: example: dropbox type: string name: example: Dropbox type: string signature_based: type: boolean ssr_app_id: type: boolean type: object type: array description: List of Applications ConstClientEvents: content: application/json: examples: Example: value: - display: 11r Association key: CLIENT_AUTH_ASSOCIATION_11R schema: items: $ref: '#/components/schemas/const_event' type: array description: List of Client Events definitions ConstCrountries: content: application/json: examples: Example: value: - alpha2: FR certified: true name: France numeric: 250 schema: items: $ref: '#/components/schemas/const_country' type: array description: List of Countries ConstDefaultGatewayConfig: content: application/json: examples: Example: value: dhcpd_config: lan: ip_end: 192.168.1.254 ip_start: 192.168.1.2 ip_configs: lan: ip: 192.168.1.1 type: static networks: lan: name: lan subnet: 192.168.1.0/24 vlan_id: 1 path_preferences: wan: paths: - name: wan type: wan port_config: cl-1/0/0: ip_config: type: dhcp name: lte usage: wan wan_type: lte ge-0/0/0,ge-0/0/7: ip_config: type: dhcp name: wan usage: wan ge-0/0/1-6: port_network: lan usage: lan service_policies: - action: allow name: Internet path_preference: wan services: - any tenants: - lan schema: additionalProperties: true type: object description: OK ConstDeviceEvents: content: application/json: examples: Example: value: - description: AP was assigned to a site display: AP Assigned example: ap: 5c5b35000001 audit_id: e9a88814-fa81-5bdc-34b0-84e8735420e5 org_id: 2818e386-8dec-2562-9ede-5b8a0fbbdc71 site_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862b timestamp: 1552408871 type: AP_ASSIGNED key: AP_ASSIGNED schema: items: $ref: '#/components/schemas/const_event' type: array description: List of Device Events Definitions ConstDeviceModels: content: application/json: examples: Example: value: - ap_type: jewel band24: band5_channels_op: low max_clients: 128 max_power: 19 min_power: 8 band24_usages: - '5' band5: max_clients: 128 max_power: 17 min_power: 8 band6: max_clients: 128 max_power: 17 min_power: 8 ce_dfs_ok: true cisco_pace: true description: AP-45 disallowed_channels: property1: property1: - 0 property2: - 0 property2: property1: - 0 property2: - 0 display: AP45 extio: property1: default_dir: IN input: true output: true property2: default_dir: IN input: true output: true fcc_dfs_ok: true has_11ax: true has_compass: false has_ext_ant: true has_extio: false has_height: false has_module_port: true has_poe_out: true has_scanning_radio: true has_selectable_radio: true has_usb: true has_vble: true has_wifi_band24: true has_wifi_band5: true has_wifi_band6: true max_poe_out: 15400 max_wlans: 0 model: AP45 other_dfs_ok: true outdoor: true radios: r0: '6' r1: '5' r2: '24' shared_scanning_radio: true type: ap unmanaged: true vble: beacon_rate: 4 beams: 9 power: 8 - alias: EX4100-48P-CHAS defaults: _ports: ge-0/0/0-47, et-0/1/0-3, xe-0/2/0-3, ge-0/2/0-3 description: Juniper EX4100 Series display: EX4100-48P evpn_ri_type: mac-vrf fans_pluggable: true has_bgp: true has_evpn: true has_irb: true has_poe_out: true model: EX4100-48P number_fans: 2 oc_device: true oob_interface: re0:mgmt-0, re1:mgmt-0 pic: '0': ge*48 '1': qsfp+*4 '2': sfp+*4 (uplink) sub_required: string type: switch - defaults: ha_control_port: ge-0/0/1 ha_data_ports: ge-0/0/2,ge-3/0/2 ha_fxp0_port: ge-0/0/0 ha_lan_ports: ge-0/0/4,ge-3/0/4 ha_wan_ports: ge-0/0/3,ge-3/0/3 lan_ports: ge-0/0/1-6 lte_wan_ports: cl-1/0/0 wan_ports: ge-0/0/0,ge-0/0/7 description: Juniper SRX320 Series fans_pluggable: false ha_node1_fpc: 3 has_bgp: true has_fxp0: false has_irb: true model: SRX320 number_fans: 1 oc_device: true pic: '0': ge*6, sfp*2 sub_required: wan1 type: gateway schema: items: anyOf: - $ref: '#/components/schemas/const_device_ap' - $ref: '#/components/schemas/const_device_switch' - $ref: '#/components/schemas/const_device_gateway' - $ref: '#/components/schemas/const_device_unknown' type: array description: List of supported device models ConstGatewayApplications: content: application/json: examples: Example: value: - - app_id: true key: 4shared name: 4shared ssr_app_id: true schema: items: $ref: '#/components/schemas/const_gateway_applications_definition' type: array description: List of Alarm Definitions ConstInsightMetrics: content: application/json: examples: Example: value: bytes: description: aggregated bytes over time example: - 185 - 197 - 250 intervals: 10m: interval: 600 max_age: 86400 1h: interval: 3600 max_age: 1209600 report_durations: 1d: duration: 86400 interval: 3600 1w: duration: 604800 interval: 3600 report_scopes: - site - org scopes: - site - ap - client type: timeseries unit: byte num_clients: description: number of client over time example: - 18 - null - 15 intervals: 10m: interval: 600 max_age: 86400 1h: interval: 3600 max_age: 1209600 report_durations: 1d: duration: 86400 interval: 3600 1w: duration: 604800 interval: 3600 report_scopes: - site - org scopes: - site - ap - device type: timeseries unit: '' schema: additionalProperties: properties: ctype: items: type: string type: array description: type: string example: items: anyOf: - nullable: true type: integer - nullable: true type: number - nullable: true type: string - type: boolean type: array intervals: additionalProperties: properties: interval: type: integer max_age: type: integer type: object description: Property key is the interval (e.g. 10m, 1h, ...) type: object keys: additionalProperties: true type: object params: additionalProperties: properties: required: type: boolean type: object description: Property key is the parameter name type: object report_duration: additionalProperties: properties: interval: type: integer max_age: type: integer type: object description: Property key is the duration (e.g. 1d, 1w, ...) type: object report_scopes: items: type: string type: array scopes: items: enum: - site - ap - client - switch - device - mxedge type: string type: array sle_baselined: type: boolean sle_classifiers: items: type: string type: array type: type: string unit: type: string values: additionalProperties: true type: object type: object description: Property key is the metric name type: object description: Insight Metrics Definition ConstLanaguages: content: application/json: examples: Example: value: - display: English (US) display_native: English (US) key: en-US schema: items: $ref: '#/components/schemas/const_language' type: array description: List of Languages ConstLicenceTypes: content: application/json: examples: Example: value: - description: Wired Assurance 12 includes: - sub_ex12a - sub_ex12p key: sub_ex12 name: SUB-EX12 schema: items: $ref: '#/components/schemas/const_license_type' type: array description: List of Licence Types ConstMxEdgeEvents: content: application/json: examples: Example: value: - description: Config change on ME was triggered as a result of change made by user display: ME Config changed by user example: audit_id: e9a88814-fa81-5bdc-34b0-84e8735420e5 mxcluster_id: ed4665ed-c9ad-4835-8ca5-dda642765ad3 mxedge_id: 387804a7-3474-85ce-15a2-f9a9684c9c9 org_id: 2818e386-8dec-2562-9ede-5b8a0fbbdc71 service: mxagent site_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862b timestamp: 1552408871 type: ME_CONFIG_CHANGED_BY_USER key: ME_CONFIG_CHANGED_BY_USER schema: items: $ref: '#/components/schemas/const_event' type: array description: List of MxEdge Events definitions ConstMxEdgeModels: content: application/json: examples: Example: value: - display: X10 model: ME-X10 ports: '0': display: xe0 speed: 10000 '1': display: xe1 speed: 10000 '2': display: xe2 speed: 10000 '3': display: xe3 speed: 10000 schema: items: $ref: '#/components/schemas/const_mxedge_model' type: array description: List of MxEdge Models ConstNacEvents: content: application/json: examples: Example: value: - ap: 5c5b355008c0 bssid: 5c5b35548892 cert_cn: suriyas cert_expiry: 1711557441 cert_issuer: /DC=net/DC=jnpr/CN=Juniper Networks Issuing AWS1 CA cert_san_upn: - suriyas@juniper.net cert_serial: 1300103d29e56ef083797bedc2000100103d29 cert_subject: /CN=suriyas/emailAddress=suriyas@juniper.net eap_type: EAP-TLS nas_vendor: Mist org_id: 94de66e8-556a-4d56-8780-a114620a5c42 random_mac: true site_id: b5a005ab-47d4-41f7-97bf-733f9cc252dd ssid: Test_Suriya-SSID timestamp: 1685658478.438995 type: NAC_CLIENT_CERT_CHECK_SUCCESS username: suriyas@juniper.net wcid: b43637b0-f0d9-0a1d-1ec2-73c394a9f679 schema: items: $ref: '#/components/schemas/const_nac_events' type: array description: Example response ConstOtherDeviceEvents: content: application/json: examples: Example: value: - display: Connected to NCM example: device_mac: 5c5b351e13b5 mac: 0030447771c0 org_id: c080ce4d-4e35-4373-bdc4-08df15d257f5 site_id: 1df889ad-9111-4c0e-a00b-8a008b83eb68 text: Connected to NCM timestamp: 1675827825.765 type: CELLULAR_EDGE_CONNECTED_TO_NCM vendor: cradlepoint key: CELLULAR_EDGE_CONNECTED_TO_NCM schema: items: $ref: '#/components/schemas/const_event' type: array description: List of Other Device Events definitions ConstOtherDeviceModels: content: application/json: examples: Example: value: - _vendor_model_id: '65' display: W1850 model: W1850 type: router vendor: cradlepoint schema: items: properties: _vendor_model_id: type: string display: type: string model: type: string type: type: string vendor: type: string type: object type: array description: OK ConstSystemEvents: content: application/json: examples: Example: value: - display: AP Disconnect group: ap_health key: ap_disconnected schema: items: $ref: '#/components/schemas/const_event' type: array description: List of System Events definitions ConstTrafficTypes: content: application/json: examples: Example: value: - display: VoIP Video dscp: 32 failover_policy: non_revertible max_jitter: 250 max_latency: 1500 max_loss: 35 name: voip_video traffic_class: medium schema: items: $ref: '#/components/schemas/const_traffic_type' type: array description: List of Traffic Types Count: content: application/json: examples: Example: value: distinct: string end: 0 limit: 0 results: - count: 0 property: string start: 0 total: 0 schema: properties: distinct: type: string end: type: integer limit: type: integer results: $ref: '#/components/schemas/count_results' start: type: integer total: type: integer required: - distinct - end - limit - results - start - total type: object description: Result of Count CountMarvisActions: content: application/json: examples: Example: value: distinct: status limit: 1000 results: - count: 24 status: 002e176a-0000-000-1111-002e208b20e1 - count: 12 status: 2d3f176a-0000-000-2222-002e208f176a - count: 15 status: 08b2176a-0000-000-3333-002e208b2d3f total: 3 schema: properties: distinct: example: status type: string limit: example: 1000 type: integer results: example: - count: 24 status: 002e176a-0000-000-1111-002e208b20e1 - count: 12 status: 2d3f176a-0000-000-2222-002e208f176a - count: 15 status: 08b2176a-0000-000-3333-002e208b2d3f items: additionalProperties: type: string properties: count: example: 24 type: integer type: object type: array total: example: 3 type: integer type: object description: Marvis Actions Count DeleteSelfFailed: content: application/json: examples: if-any-of-the-org-to-be-deleted-still-has-inventory: value: detail: inventory not empty org_id: 424f6eca-7276-4993-bfeb-53cbbbba6f05 schema: $ref: '#/components/schemas/error_delete_failed' description: Bad Request Device: content: application/json: examples: ap: value: aeroscout: enabled: false host: aero.pvt.net locate_connected: true ble_config: beacon_enabled: false beacon_rate: 3 beacon_rate_mode: custom beam_disabled: - 1 - 3 - 6 custom_ble_packet_enabled: false custom_ble_packet_frame: 0x........ custom_ble_packet_freq_msec: 300 eddystone_uid_adv_power: -65 eddystone_uid_beams: 2-4,7 eddystone_uid_enabled: false eddystone_uid_freq_msec: 200 eddystone_uid_instance: 5c5b35000001 eddystone_uid_namespace: 2818e3868dec25629ede eddystone_url_adv_power: -65 eddystone_url_beams: 2-4,7 eddystone_url_enabled: true eddystone_url_freq_msec: 1000 eddystone_url_url: https://www.abc.com ibeacon_adv_power: -65 ibeacon_beams: 2-4,7 ibeacon_enabled: false ibeacon_freq_msec: 0 ibeacon_major: 13 ibeacon_minor: 138 ibeacon_uuid: f3f17139-704a-f03a-2786-0400279e37c3 power: 10 power_mode: custom centrak: enabled: false client_bridge: auth: psk: foryoureyesonly type: psk enabled: false ssid: Uplink-SSID created_time: 0 deviceprofile_id: 6f4bf402-45f9-2a56-6c8b-7f83d3bc98e9 disable_eth1: false disable_eth2: false disable_eth3: false disable_module: false esl_config: cacert: string channel: 3 enabled: false host: 1.1.1.1 port: 0 type: imagotag verify_cert: true vlan_id: 1 for_site: true height: 2.75 id: 497f6eca-6276-4993-bfeb-53cbbbba6008 image1_url: string image2_url: string image3_url: string iot_config: A1: enabled: false name: motion output: true pullup: internal value: 0 A2: enabled: false name: motion output: true pullup: internal value: 0 A3: enabled: false name: motion output: true pullup: internal value: 0 A4: enabled: false name: motion output: true pullup: internal value: 0 DI1: enabled: false name: string pullup: internal DI2: enabled: false name: string pullup: internal DO: enabled: false name: motion output: true pullup: internal value: 0 ip_config: dns: - 8.8.8.8 - 4.4.4.4 dns_suffix: - .mist.local - .mist.com gateway: 10.2.1.254 gateway6: 2607:f8b0:4005:808::1 ip: 10.2.1.1 ip6: 2607:f8b0:4005:808::2004 mtu: 0 netmask: 255.255.255.0 netmask6: /32 type: static type6: static vlan_id: 1 led: brightness: 255 enabled: true locked: true map_id: 63eda950-c6da-11e4-a628-60f81dd250cc mesh: enabled: false group: 1 role: base modified_time: 0 name: conference room notes: slightly off center ntp_servers: - string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b orientation: 45 poe_passthrough: false port_config: property1: additional_vlan_ids: - 55 - 66 authentication_protocol: pap disabled: true dynamic_vlan: default_vlan_id: 999 enabled: true type: string vlans: 1-10: null user: null enable_mac_auth: false forwarding: all mx_tunnel_id: 08cd7499-5841-51c8-e663-fb16b6f3b45e mxtunnel_name: string port_auth: none port_vlan_id: 1 radius_config: acct_interim_interval: 0 acct_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1813 secret: testing123 auth_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1812 secret: testing123 auth_servers_retries: 3 auth_servers_timeout: 5 coa_enabled: false coa_port: 3799 network: string source_ip: string radsec: enabled: true idle_timeout: 60 mxcluster_ids: - 572586b7-f97b-a22b-526c-8b97a3f609c4 proxy_hosts: - mxedge1.local server_name: radsec.abc.com servers: - host: 1.1.1.1 port: 1812 use_mxedge: true use_site_mxedge: false vlan_id: 9 vland_ids: - 1 - 10 - 50 wxtunnel_id: 7dae216d-7c98-a51b-e068-dd7d477b7216 wxtunnel_remote_id: wifiguest property2: additional_vlan_ids: - 55 - 66 authentication_protocol: pap disabled: true dynamic_vlan: default_vlan_id: 999 enabled: true type: string vlans: 1-10: null user: null enable_mac_auth: false forwarding: all mx_tunnel_id: 08cd7499-5841-51c8-e663-fb16b6f3b45e mxtunnel_name: string port_auth: none port_vlan_id: 1 radius_config: acct_interim_interval: 0 acct_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1813 secret: testing123 auth_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1812 secret: testing123 auth_servers_retries: 3 auth_servers_timeout: 5 coa_enabled: false coa_port: 3799 network: string source_ip: string radsec: enabled: true idle_timeout: 60 mxcluster_ids: - 572586b7-f97b-a22b-526c-8b97a3f609c4 proxy_hosts: - mxedge1.local server_name: radsec.abc.com servers: - host: 1.1.1.1 port: 1812 use_mxedge: true use_site_mxedge: false vlan_id: 9 vland_ids: - 1 - 10 - 50 wxtunnel_id: 7dae216d-7c98-a51b-e068-dd7d477b7216 wxtunnel_remote_id: wifiguest pwr_config: base: 2000 prefer_usb_over_wifi: false radio_config: allow_rrm_disable: false ant_gain_24: 4 ant_gain_5: 5 ant_gain_6: 5 antenna_mode: default band_24: allow_rrm_disable: true ant_gain: 0 antenna_mode: default bandwidth: 20 channel: 0 channels: - 0 disabled: true power: 0 power_max: 0 power_min: 0 preamble: short usage: '24' band_24_usage: '5' band_5: allow_rrm_disable: true ant_gain: 0 antenna_mode: default bandwidth: 20 channel: 0 channels: - 0 disabled: true power: 0 power_max: 0 power_min: 0 preamble: short usage: '24' band_5_on_24_radio: allow_rrm_disable: true ant_gain: 0 antenna_mode: default bandwidth: 20 channel: 0 channels: - 0 disabled: true power: 0 power_max: 0 power_min: 0 preamble: short usage: '24' band_6: allow_rrm_disable: true ant_gain: 0 antenna_mode: default bandwidth: 20 channel: 0 channels: - 0 disabled: true power: 0 power_max: 0 power_min: 0 preamble: short usage: '24' indoor_use: false scanning_enabled: true site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 uplink_port_config: dot1x: false keep_wlans_up_if_down: false usb_config: cacert: string channel: 3 enabled: true host: 1.1.1.1 port: 0 type: imagotag verify_cert: true vlan_id: 1 vars: RADIUS_IP1: 172.31.2.5 RADIUS_SECRET: 11s64632d x: 53.5 y: 173.1 gateway: value: additional_config_cmds: - set snmp community public created_time: 0 deviceprofile_id: 6f4bf402-45f9-2a56-6c8b-7f83d3bc98e9 dhcpd_config: corp: dns_servers: - 8.8.8.8 - 4.4.4.4 dns_suffix: - .mist.local - .mist.com fixed_bindings: 5684dae9ac8b: ip: 192.168.70.35 name: John gateway: 192.168.70.1 ip_end: 192.168.70.200 ip_start: 192.168.70.100 type: local enabled: true extra_routes: 0.0.0.0/0: via: 10.2.1.1 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 image1_url: https://url/to/image.png ip_configs: corp: ip: 192.168.10.1 type: static managed: false modified_time: 0 name: corp-a135 networks: {} ntp_servers: - pool.ntp.org - time.google.com oob_ip_config: ip: 192.168.50.3 netmask: 255.255.255.0 type: static org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 port_config: cl-0/0/1: ip_config: type: pppoe usage: wan wan_config: backup_only: true ge-0/0/0: ip_config: type: dhcp usage: wan ge-0/0/0,ge-7/0/0: clustered: true ip_config: {} reth_idx: 3 usage: wan ge-0/0/1-5: usage: lan ge-0/0/7: ip_config: type: static usage: wan port_forward: remote-ssh: ip_port: 10.2.5.3 ip_range: 10.2.5.1/32-10.2.5.20/32 protocol: tcp site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 vars: RADIUS_IP1: 172.31.2.5 RADIUS_SECRET: 11s64632d switch: value: additional_config_cmds: - set snmp community public created_time: 0 deviceprofile_id: 6f4bf402-45f9-2a56-6c8b-7f83d3bc98e9 disable_auto_config: false id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 image1_url: https://url/to/image.png ip_config: dns: - 8.8.8.8 - 4.4.4.4 dns_suffix: - .mist.local - .mist.com gateway: 10.2.1.254 ip: 10.2.1.1 netmask: 255.255.255.0 network: default type: static managed: false modified_time: 0 name: corp-a135 networks: {} notes: slightly off center ntp_servers: - pool.ntp.org - time.google.com oob_ip_config: {} org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 other_ip_configs: guest: ip: 10.3.3.1 netmask: 255.255.255.0 type: static port_config: '*': usage: default ge-0/0/0: aggregated: true description: to dist-sw-01 usage: uplink ge-0/0/1: dynamic_usage: dynamic usage: default ge-0/0/8-16,ge-1/0/0-47: usage: ap port_usages: {} radius_config: acct_interim_interval: 0 acct_servers: - host: 1.2.3.4 port: 1812 secret: testing123 auth_servers: - host: 1.2.3.4 port: 1812 secret: testing123 - host: radius.internal port: 1812 secret: testing123 auth_servers_retries: 3 auth_servers_timeout: 5 role: access site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 vars: RADIUS_IP1: 172.31.2.5 RADIUS_SECRET: 11s64632d schema: oneOf: - $ref: '#/components/schemas/ap' - $ref: '#/components/schemas/switch' - $ref: '#/components/schemas/gateway' description: OK DeviceBiosUpgrade: content: application/json: examples: Example: value: status: inprogress timestamp: 1428949501 schema: properties: status: type: string timestamp: type: integer type: object description: OK DeviceConfigCmd: content: application/json: examples: example-1: value: cli: - set system hostname corp-a135 schema: properties: cli: items: type: string type: array required: - cli type: object description: OK DeviceEventsSearch: content: application/json: examples: example-1: value: end: 0 limit: 0 next: string results: - ap: 5c5b351e13b5 apfw: 5c5b351e13b5 model: BT11-WW org_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862a site_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862b text: Succeeding DNS query from 172.29.101.134 to 172.29.101.7 for "portal.mistsys.com" on vlan 1, id 60224 timestamp: 1547235620.89 type: CLIENT_DNS_OK start: 0 total: 0 schema: properties: end: type: integer limit: type: integer next: type: string results: items: $ref: '#/components/schemas/events_device_ap' minItems: 1 type: array uniqueItems: true start: type: integer total: type: integer required: - results - start - end - limit - total type: object description: OK DeviceIot: content: application/json: examples: example-1: value: A1: 1 DO: 0 schema: additionalProperties: type: integer description: Property key is the IoT port name (e.g. "A1") type: object description: OK DeviceMetric: content: application/json: examples: example-1: value: end: 1604347200 interval: 3600 limit: 168 page: 1 results: - 10 - 11 - 12 - 12 - 10 - 9 - 9 - 9 - 10 - 10 - 11 - 11 - 11 - 11 - 11 - 11 - 11 - 10 - 11 - 11 - 10 - 11 - 11 - 10 rt: - '2020-11-01T20:00:00Z' - '2020-11-01T21:00:00Z' - '2020-11-01T22:00:00Z' - '2020-11-01T23:00:00Z' - '2020-11-02T00:00:00Z' - '2020-11-02T01:00:00Z' - '2020-11-02T02:00:00Z' - '2020-11-02T03:00:00Z' - '2020-11-02T04:00:00Z' - '2020-11-02T05:00:00Z' - '2020-11-02T06:00:00Z' - '2020-11-02T07:00:00Z' - '2020-11-02T08:00:00Z' - '2020-11-02T09:00:00Z' - '2020-11-02T10:00:00Z' - '2020-11-02T11:00:00Z' - '2020-11-02T12:00:00Z' - '2020-11-02T13:00:00Z' - '2020-11-02T14:00:00Z' - '2020-11-02T15:00:00Z' - '2020-11-02T16:00:00Z' - '2020-11-02T17:00:00Z' - '2020-11-02T18:00:00Z' - '2020-11-02T19:00:00Z' start: 1604260800 schema: properties: end: type: integer interval: type: integer results: items: oneOf: - type: string - type: integer type: array rt: items: type: string type: array start: type: integer required: - end - interval - results - start type: object description: OK DeviceOther: content: application/json: examples: Example: value: created_time: 1676983730 device_mac: '001122334455' id: ae9dee49-69e7-4710-a114-5b827a777738 mac: 5c5b35000018 model: AP41 modified_time: 1676983730 name: hallway org_id: 2818e386-8dec-2562-9ede-5b8a0fbbdc71 serial: FXLH2015150025 site_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862b vendor: cradlepoint schema: $ref: '#/components/schemas/device_other' description: Example response DeviceOtherArray: content: application/json: examples: Example: value: - created_time: 1676983730 device_mac: '001122334455' id: ae9dee49-69e7-4710-a114-5b827a777738 mac: 5c5b35000018 model: AP41 modified_time: 1676983730 name: hallway org_id: 2818e386-8dec-2562-9ede-5b8a0fbbdc71 serial: FXLH2015150025 site_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862b vendor: cradlepoint schema: items: $ref: '#/components/schemas/device_other' type: array description: Example response DeviceOtherStats: content: application/json: examples: otherdevice-stats: value: config_status: synced last_config: 1675392788 last_seen: 1675843629 mac: 5c5b35000018 status: online uptime: 20296 vendor: cradlepoint vendor_specific: ports: mdm-4d0e073b: bytes_in: 33004879 bytes_out: 41103393 health_category: '' health_score: 0 id: '101027967' mode: wan model: Internal 5GB (SIM1) state: READY type: 5G uptime: 252371.34149021498 router_id: null target_version: 7.23.40 version: 7.22.70 schema: $ref: '#/components/schemas/device_other_stats' description: Example response DeviceRadioChannels: content: application/json: examples: example-1: value: band24_40mhz_allowed: false band24_channels: '20': - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 '40': - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 band24_enabled: true band5_channels: '20': - 36 - 40 - 44 - 48 - 52 - 56 - 60 - 64 - 100 - 104 - 108 - 112 - 116 - 120 - 124 - 128 - 132 - 136 - 140 - 144 - 149 - 153 - 157 - 161 - 165 '40': - 36 - 40 - 44 - 48 - 52 - 56 - 60 - 64 - 100 - 104 - 108 - 112 - 116 - 120 - 124 - 128 - 132 - 136 - 140 - 144 - 149 - 153 - 157 - 161 '80': - 36 - 40 - 44 - 48 - 52 - 56 - 60 - 64 - 100 - 104 - 108 - 112 - 116 - 120 - 124 - 128 - 132 - 136 - 140 - 144 - 149 - 153 - 157 - 161 dfs: - 52 - 56 - 60 - 64 - 100 - 104 - 108 - 112 - 116 - 120 - 124 - 128 - 132 - 136 - 140 - 144 outdoor: - 36 - 40 - 44 - 48 - 52 - 56 - 60 - 64 - 100 - 104 - 108 - 112 - 116 - 120 - 124 - 128 - 132 - 136 - 140 - 144 - 149 - 153 - 157 - 161 - 165 band5_enabled: true certified: true code: 840 dfs_ok: true key: US name: United States uses: US_FCC schema: properties: band24_40mhz_allowed: type: boolean band24_channels: type: object band24_enabled: type: boolean band5_channels: type: object band5_enabled: type: boolean certified: type: boolean code: type: integer dfs_ok: type: boolean key: type: string name: type: string uses: type: string required: - key - dfs_ok - band5_enabled - band24_enabled - band24_40mhz_allowed - certified - band5_channels - band24_channels - code - name - uses type: object description: OK DeviceSnapshot: content: application/json: examples: example-1: value: status_id: string staus: starting timestamp: 0 schema: properties: status_id: description: the internal status id type: string staus: enum: - starting - inprogress - success - error - scheduled title: device_snapshot_status type: string timestamp: type: number type: object description: OK DeviceUpgrade: content: application/json: examples: example-1: value: counts: downloaded: 0 failed: 0 reboot_in_progress: 0 rebooted: 0 total: 0 enable_p2p: true force: true id: 473f6eca-6276-4993-bfeb-53cbbbba6f18 start_time: 0 status: created strategy: big_bang target_version: string schema: $ref: '#/components/schemas/device_upgrade_info' description: OK DeviceUpgradeArray: content: application/json: examples: example-1: value: - counts: download_requested: 0 downloaded: 0 failed: 0 reboot_in_progress: 0 rebooted: 0 skipped: 0 total: 0 enable_p2p: true force: true id: 472f6eca-6276-4993-bfeb-53cbbbba6f28 start_time: 0 status: created strategy: big_bang target_version: string schema: items: $ref: '#/components/schemas/device_upgrade_info' type: array description: Example response DeviceVersion: content: application/json: examples: example-1: value: - model: AP41 tag: stable version: v0.1.543 - model: AP21 version: v0.1.545 schema: items: properties: model: description: Device model (as seen in the device stats) type: string tag: description: annotation, stable / beta / alpha. Or it can be empty or nothing which is likely a dev build type: string version: description: firmware version type: string required: - model - version type: object minItems: 1 type: array uniqueItems: true description: OK Deviceprofile: content: application/json: examples: deviceprofile_ap: value: aeroscout: enabled: true host: string ble_config: beacon_enabled: true beacon_rate: 0 beacon_rate_mode: default beam_disabled: - 0 eddystone_uid_adv_power: -100 eddystone_uid_beams: string eddystone_uid_enabled: true eddystone_uid_freq_msec: 0 eddystone_uid_instance: string eddystone_uid_namespace: string eddystone_url_adv_power: 0 eddystone_url_beams: string eddystone_url_enabled: true eddystone_url_freq_msec: 0 eddystone_url_url: string ibeacon_adv_power: -100 ibeacon_beams: string ibeacon_enabled: true ibeacon_freq_msec: 0 ibeacon_major: 0 ibeacon_minor: 0 ibeacon_uuid: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 power: 1 power_mode: string created_time: 0 disable_eth1: true disable_module: true id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 ip_config: dns: - string dns_suffix: - string gateway: 192.168.0.1 gateway6: 2001:0db8:85a3:0000:0000:8a2e:0370:7334 ip: 192.168.0.1 ip6: 2001:0db8:85a3:0000:0000:8a2e:0370:7334 mtu: 0 netmask: 192.168.0.1 netmask6: 2001:0db8:85a3:0000:0000:8a2e:0370:7334 type: static type6: static vlan_id: 1 mesh: enabled: true group: 0 role: base modified_time: 0 name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 poe_passthrough: true radio_config: ant_gain_24: 0 ant_gain_5: 0 band_24: allow_rrm_disable: true antenna_mode: default bandwidth: 20 channel: 0 disabled: true power: 0 power_max: 0 power_min: 0 preamble: auto usage: '24' band_24_usage: '24' band_5: allow_rrm_disable: true antenna_mode: default bandwidth: 20 channel: 0 disabled: true power: 0 power_max: 0 power_min: 0 preamble: auto usage: '24' band_5_on_24_radio: allow_rrm_disable: true antenna_mode: default bandwidth: 20 channel: 0 disabled: true power: 0 power_max: 0 power_min: 0 preamble: auto usage: '24' scanning_enabled: true site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 switch_config: enabled: true eth0: port_vlan_id: 1 vlan_ids: - 0 eth1: port_vlan_id: 1 vlan_ids: - 0 eth2: port_vlan_id: 1 vlan_ids: - 0 eth3: port_vlan_id: 1 vlan_ids: - 0 module: port_vlan_id: 1 vlan_ids: - 0 wds: port_vlan_id: 1 vlan_ids: - 0 usb_config: cacert: string channel: 0 enabled: true host: string port: 0 type: imagotag verify_cert: true deviceprofile_hub: value: additional_config_cmds: - set snmp community public bgp_config: property1: auth_key: string bfd_minimum_interval: 150 communities: - id: string local_preference: 0 vpn_name: string disable_bfd: false export: string export_policy: string graceful_restart_time: 0 hold_time: 90 import: string import_policy: string imported_networks: - dc-apps local_as: 0 neighbor_as: 0 neighbors: property1: export_policy: string hold_time: 90 import_policy: string multihop_ttl: 0 neighbor_as: 0 property2: export_policy: string hold_time: 90 import_policy: string multihop_ttl: 0 neighbor_as: 0 networks: - string no_readvertise_to_overlay: false type: internal via: lan vpn_name: string wan_name: string property2: auth_key: string bfd_minimum_interval: 150 communities: - id: string local_preference: 0 vpn_name: string disable_bfd: false export: string export_policy: string graceful_restart_time: 0 hold_time: 90 import: string import_policy: string imported_networks: - dc-apps local_as: 0 neighbor_as: 0 neighbors: property1: export_policy: string hold_time: 90 import_policy: string multihop_ttl: 0 neighbor_as: 0 property2: export_policy: string hold_time: 90 import_policy: string multihop_ttl: 0 neighbor_as: 0 networks: - string no_readvertise_to_overlay: false type: internal via: lan vpn_name: string wan_name: string created_time: 0 dhcpd_config: property1: dns_servers: - 192.168.0.1 dns_suffix: - string fixed_bindings: property1: ip: 192.168.0.1 name: string property2: ip: 192.168.0.1 name: string gateway: 192.168.0.1 ip_end: 192.168.0.1 ip_start: 192.168.0.1 servers: - 192.168.0.1 type: local property2: dns_servers: - 192.168.0.1 dns_suffix: - string fixed_bindings: property1: ip: 192.168.0.1 name: string property2: ip: 192.168.0.1 name: string gateway: 192.168.0.1 ip_end: 192.168.0.1 ip_start: 192.168.0.1 servers: - 192.168.0.1 type: local extra_routes: property1: via: 192.168.0.1 property2: via: 192.168.0.1 gateway_matching: enable: true rules: - additional_config_cmds: - set snmp community public name: string port_config: property1: ae_disable_lacp: true ae_idx: 0 aggregated: false critical: true description: string disable_autoneg: false duplex: auto dynamic_usage: string esilag: true mtu: 1514 no_local_overwrite: true poe_disabled: false speed: auto usage: string property2: ae_disable_lacp: true ae_idx: 0 aggregated: false critical: true description: string disable_autoneg: false duplex: auto dynamic_usage: string esilag: true mtu: 1514 no_local_overwrite: true poe_disabled: false speed: auto usage: string property1: string property2: string id: 497f6eca-6276-4993-bfeb-53cbbbba6f3d ip_configs: property1: ip: 192.168.0.1 netmask: /24 property2: ip: 192.168.0.1 netmask: /24 modified_time: 0 name: string networks: - created_time: 0 disallow_mist_services: false gateway: 192.168.70.1 hosts: property1: external_ips: 172.16.10.32-172.16.10.35 ips: 192.168.70.32-192.168.70.35 property2: external_ips: 172.16.10.32-172.16.10.35 ips: 192.168.70.32-192.168.70.35 id: 497f6eca-6276-4993-bfeb-53cbbbba6f3e internal_access: enabled: true internet_access: create_simple_service_policy: false destination_nat: property1: internal_ip: 192.168.70.30 name: web server port: 443 property2: internal_ip: 192.168.70.30 name: web server port: 443 enabled: true restricted: false static_nat: property1: internal_ip: 192.168.70.3 name: printer-1 property2: internal_ip: 192.168.70.3 name: printer-1 isolation: true modified_time: 0 name: string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b subnet: 192.168.70.0/24 tenants: property1: addresses: string property2: addresses: string vlan_id: 0 vpn_access: property1: affinity: hub allow_ping: true destination_nat: property1: name: web server port: 443 to: 192.168.70.5/30 property2: name: web server port: 443 to: 192.168.70.5/30 nat_pool: 172.16.0.0/26 no_readvertise_to_lan_bgp: false no_readvertise_to_overlay: true routed: true source_nat: exteral_ip: 172.16.0.8/30 static_nat: property1: internal_ip: 192.168.70.3 name: pos-station-1 property2: internal_ip: 192.168.70.3 name: pos-station-1 summarized_subnet: 172.16.0.0/16 summarized_subnet_to_lan_bgp: 172.16.0.0/16 property2: affinity: hub allow_ping: true destination_nat: property1: name: web server port: 443 to: 192.168.70.5/30 property2: name: web server port: 443 to: 192.168.70.5/30 nat_pool: 172.16.0.0/26 no_readvertise_to_lan_bgp: false no_readvertise_to_overlay: true routed: true source_nat: exteral_ip: 172.16.0.8/30 static_nat: property1: internal_ip: 192.168.70.3 name: pos-station-1 property2: internal_ip: 192.168.70.3 name: pos-station-1 summarized_subnet: 172.16.0.0/16 summarized_subnet_to_lan_bgp: 172.16.0.0/16 - created_time: 0 disallow_mist_services: false gateway: 192.168.70.1 hosts: property1: external_ips: 172.16.10.32-172.16.10.35 ips: 192.168.70.32-192.168.70.35 property2: external_ips: 172.16.10.32-172.16.10.35 ips: 192.168.70.32-192.168.70.35 id: 497f6eca-6276-4993-bfeb-53cbbbba6f3f internal_access: enabled: true internet_access: create_simple_service_policy: false destination_nat: property1: internal_ip: 192.168.70.30 name: web server port: 443 property2: internal_ip: 192.168.70.30 name: web server port: 443 enabled: true restricted: false static_nat: property1: internal_ip: 192.168.70.3 name: printer-1 property2: internal_ip: 192.168.70.3 name: printer-1 isolation: true modified_time: 0 name: string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b subnet: 192.168.70.0/24 tenants: property1: addresses: string property2: addresses: string vlan_id: 0 vpn_access: property1: affinity: hub allow_ping: true destination_nat: property1: name: web server port: 443 to: 192.168.70.5/30 property2: name: web server port: 443 to: 192.168.70.5/30 nat_pool: 172.16.0.0/26 no_readvertise_to_lan_bgp: false no_readvertise_to_overlay: true routed: true source_nat: exteral_ip: 172.16.0.8/30 static_nat: property1: internal_ip: 192.168.70.3 name: pos-station-1 property2: internal_ip: 192.168.70.3 name: pos-station-1 summarized_subnet: 172.16.0.0/16 summarized_subnet_to_lan_bgp: 172.16.0.0/16 property2: affinity: hub allow_ping: true destination_nat: property1: name: web server port: 443 to: 192.168.70.5/30 property2: name: web server port: 443 to: 192.168.70.5/30 nat_pool: 172.16.0.0/26 no_readvertise_to_lan_bgp: false no_readvertise_to_overlay: true routed: true source_nat: exteral_ip: 172.16.0.8/30 static_nat: property1: internal_ip: 192.168.70.3 name: pos-station-1 property2: internal_ip: 192.168.70.3 name: pos-station-1 summarized_subnet: 172.16.0.0/16 summarized_subnet_to_lan_bgp: 172.16.0.0/16 oob_ip_config: dns: - string dns_suffix: - string gateway: string ip: string netmask: string network: string node1: ip: string netmask: string network: string type: dynamic use_mgmt_vrf: false use_mgmt_vrf_for_host_out: false vlan_id: 0 property1: ip: string netmask: string network: string type: dynamic property2: ip: string netmask: string network: string type: dynamic type: dynamic use_mgmt_vrf: false use_mgmt_vrf_for_host_out: false vlan_id: 0 org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b path_preferences: property1: paths: cost: 0 gateway_ip: string internet_access: false name: string networks: - string target_ips: - string type: local strategy: ordered property2: paths: cost: 0 gateway_ip: string internet_access: false name: string networks: - string target_ips: - string type: local strategy: ordered port_config: property1: description: string disable_autoneg: false dsl_config: ppoe_auth: none ppoe_password: string ppoe_username: string duplex: full ip_config: dns: - string dns_suffix: - string gateway: string ip: string netmask: string network: string poser_password: string ppoe_username: string pppoe_auth: none type: dhcp lte_apn: string lte_auth: none lte_backup: true lte_password: string lte_username: string mtu: 0 name: string networks: - string outer_vlan_id: 0 poe_disabled: false port_network: string preserve_dscp: true redundant: true reth_idx: 0 reth_node: string speed: 1g svr_port_range: 60000-60005 traffic_shaping: class_percentages: - 0 enabled: false usage: lan vlan_id: 10 vpn_paths: property1: bfd_profile: broadband bfd_udp_transform: false bfd_use_tunnel_mode: false role: spoke traffic_shaping: class_percentage: - 0 enabled: true max_tx_kbps: 0 property2: bfd_profile: broadband bfd_udp_transform: false bfd_use_tunnel_mode: false role: spoke traffic_shaping: class_percentage: - 0 enabled: true max_tx_kbps: 0 wan_ext_ip: string wan_source_nat: disabled: false nat_pool: 64.2.4.0/30 wan_type: broadband property2: description: string disable_autoneg: false dsl_config: ppoe_auth: none ppoe_password: string ppoe_username: string duplex: full ip_config: dns: - string dns_suffix: - string gateway: string ip: string netmask: string network: string poser_password: string ppoe_username: string pppoe_auth: none type: dhcp lte_apn: string lte_auth: none lte_backup: true lte_password: string lte_username: string mtu: 0 name: string networks: - string outer_vlan_id: 0 poe_disabled: false port_network: string preserve_dscp: true redundant: true reth_idx: 0 reth_node: string speed: 1g svr_port_range: 60000-60005 traffic_shaping: class_percentages: - 0 enabled: false usage: lan vlan_id: 0 vpn_paths: property1: bfd_profile: broadband bfd_udp_transform: false bfd_use_tunnel_mode: false role: spoke traffic_shaping: class_percentage: - 0 enabled: true max_tx_kbps: 0 property2: bfd_profile: broadband bfd_udp_transform: false bfd_use_tunnel_mode: false role: spoke traffic_shaping: class_percentage: - 0 enabled: true max_tx_kbps: 0 wan_ext_ip: string wan_source_nat: disabled: false nat_pool: 64.2.4.0/30 wan_type: broadband routing_policies: property1: terms: - action: accept: true add_community: - '65003:10' community: - '65003:10' exclude_as_path: - '65002' exclude_community: - '65003:10' export_communitites: - string local_preference: string prepend_as_path: - '65003' matching: as_path: - '65001' community: - '65001:2' network: - string prefix: - 192.168.0.0/16-30 protocol: - direct route_exists: route: 192.168.0.0/24 vrf_name: default vpn_neighbor_mac: - string vpn_path: - string vpn_path_sla: max_jitter: 0 max_latency: 1500 max_loss: 30 property2: terms: - action: accept: true add_community: - '65003:10' community: - '65003:10' exclude_as_path: - '65002' exclude_community: - '65003:10' export_communitites: - string local_preference: string prepend_as_path: - '65003' matching: as_path: - '65001' community: - '65001:2' network: - string prefix: - 192.168.0.0/16-30 protocol: - direct route_exists: route: 192.168.0.0/24 vrf_name: default vpn_neighbor_mac: - string vpn_path: - string vpn_path_sla: max_jitter: 0 max_latency: 1500 max_loss: 30 service_policies: - action: allow ewf: - alert_only: true block_message: Access to this URL Category has been blocked enabled: false profile: strict idp: alert_only: string enabled: false profile: strict local_routing: false name: string path_preferences: string servicepolicy_id: a4b81837-7a2f-46c1-bf27-dc8af6edd0a0 services: - string tenants: - string tunnel_configs: property1: auto_provision: enable: true latlng: lat: 37.295833 lng: -122.032946 primary: num_hosts: string wan_names: - wan0 region: auto secondary: num_hosts: string wan_names: - wan0 ike_lifetime: 0 ike_mode: main ike_proposals: - auth_algo: sha1 dh_group: '14' enc_algo: aes256 ipsec_lifetime: 0 ipsec_proposals: - auth_algo: sha1 dh_group: '14' enc_algo: aes256 local_id: string mode: active-standby primary: hosts: - string internal_ips: - string probe_ips: - string remote_ids: - string wan_names: - string probe: interval: 0 threshold: 0 timeout: 0 type: icmp protocol: ipsec provider: zscaler-ipsec psk: string secondary: hosts: - string internal_ips: - string probe_ips: - string remote_ids: - string wan_names: - string version: '2' property2: auto_provision: enable: true latlng: lat: 37.295833 lng: -122.032946 primary: num_hosts: string wan_names: - wan0 region: auto secondary: num_hosts: string wan_names: - wan0 ike_lifetime: 0 ike_mode: main ike_proposals: - auth_algo: sha1 dh_group: '14' enc_algo: aes256 ipsec_lifetime: 0 ipsec_proposals: - auth_algo: sha1 dh_group: '14' enc_algo: aes256 local_id: string mode: active-standby primary: hosts: - string internal_ips: - string probe_ips: - string remote_ids: - string wan_names: - string probe: interval: 0 threshold: 0 timeout: 0 type: icmp protocol: ipsec provider: zscaler-ipsec psk: string secondary: hosts: - string internal_ips: - string probe_ips: - string remote_ids: - string wan_names: - string version: '2' type: standalone schema: $ref: '#/components/schemas/deviceprofile' description: OK DeviceprofilesArray: content: application/json: examples: deviceprofile_ap: value: - aeroscout: enabled: false host: aero.pvt.net locate_connected: true ble_config: beacon_enabled: false beacon_rate: 3 beacon_rate_mode: custom beam_disabled: - 1 - 3 - 6 custom_ble_packet_enabled: false custom_ble_packet_frame: 0x........ custom_ble_packet_freq_msec: 300 eddystone_uid_adv_power: -65 eddystone_uid_beams: 2-4,7 eddystone_uid_enabled: false eddystone_uid_freq_msec: 200 eddystone_uid_instance: 5c5b35000001 eddystone_uid_namespace: 2818e3868dec25629ede eddystone_url_adv_power: -65 eddystone_url_beams: 2-4,7 eddystone_url_enabled: true eddystone_url_freq_msec: 1000 eddystone_url_url: https://www.abc.com ibeacon_adv_power: -65 ibeacon_beams: 2-4,7 ibeacon_enabled: false ibeacon_freq_msec: 0 ibeacon_major: 13 ibeacon_minor: 138 ibeacon_uuid: f3f17139-704a-f03a-2786-0400279e37c3 power: 10 power_mode: custom created_time: 0 disable_eth1: false disable_eth2: false disable_eth3: false disable_module: false for_site: true height: 0 id: 497f6eca-6276-4993-bfeb-53cbbbba6108 iot_config: A1: enabled: false name: motion output: true pullup: internal value: 0 A2: enabled: false name: motion output: true pullup: internal value: 0 A3: enabled: false name: motion output: true pullup: internal value: 0 A4: enabled: false name: motion output: true pullup: internal value: 0 DI1: enabled: false name: string pullup: internal DI2: enabled: false name: string pullup: internal DO: enabled: false name: motion output: true pullup: internal value: 0 ip_config: dns: - 8.8.8.8 - 4.4.4.4 dns_suffix: - .mist.local - .mist.com gateway: 10.2.1.254 gateway6: 2607:f8b0:4005:808::1 ip: 10.2.1.1 ip6: 2607:f8b0:4005:808::2004 mtu: 0 netmask: 255.255.255.0 netmask6: /32 type: static type6: static vlan_id: 1 led: brightness: 255 enabled: true map_id: 09d2b626-2e4e-45ef-a3c4-e6aeb6c83db1 mesh: enabled: false group: 1 role: base modified_time: 0 name: string notes: string ntp_servers: - string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b orientation: 0 orientation_overwrite: true poe_passthrough: false port_config: property1: additional_vlan_ids: - 55 - 66 authentication_protocol: pap disabled: true dynamic_vlan: default_vlan_id: 999 enabled: true type: string vlans: 1-10: null user: null enable_mac_auth: false forwarding: all mx_tunnel_id: 08cd7499-5841-51c8-e663-fb16b6f3b45e mxtunnel_name: string port_auth: none port_vlan_id: 1 radius_config: acct_interim_interval: 0 acct_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1813 secret: testing123 auth_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1812 secret: testing123 auth_servers_retries: 3 auth_servers_timeout: 5 coa_enabled: false coa_port: 3799 network: string source_ip: string radsec: enabled: true idle_timeout: 60 mxcluster_ids: - 572586b7-f97b-a22b-526c-8b97a3f609c4 proxy_hosts: - mxedge1.local server_name: radsec.abc.com servers: - host: 1.1.1.1 port: 1812 use_mxedge: true use_site_mxedge: false vlan_id: 9 vland_ids: - 1 - 10 - 50 wxtunnel_id: 7dae216d-7c98-a51b-e068-dd7d477b7216 wxtunnel_remote_id: wifiguest property2: additional_vlan_ids: - 55 - 66 authentication_protocol: pap disabled: true dynamic_vlan: default_vlan_id: 999 enabled: true type: string vlans: 1-10: null user: null enable_mac_auth: false forwarding: all mx_tunnel_id: 08cd7499-5841-51c8-e663-fb16b6f3b45e mxtunnel_name: string port_auth: none port_vlan_id: 1 radius_config: acct_interim_interval: 0 acct_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1813 secret: testing123 auth_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1812 secret: testing123 auth_servers_retries: 3 auth_servers_timeout: 5 coa_enabled: false coa_port: 3799 network: string source_ip: string radsec: enabled: true idle_timeout: 60 mxcluster_ids: - 572586b7-f97b-a22b-526c-8b97a3f609c4 proxy_hosts: - mxedge1.local server_name: radsec.abc.com servers: - host: 1.1.1.1 port: 1812 use_mxedge: true use_site_mxedge: false vlan_id: 9 vland_ids: - 1 - 10 - 50 wxtunnel_id: 7dae216d-7c98-a51b-e068-dd7d477b7216 wxtunnel_remote_id: wifiguest pwr_config: base: 0 radio_config: allow_rrm_disable: false ant_gain_24: 4 ant_gain_5: 5 ant_gain_6: 5 antenna_mode: default band_24: allow_rrm_disable: true ant_gain: 0 antenna_mode: default bandwidth: 20 channel: 0 channels: - 0 disabled: true power: 0 power_max: 0 power_min: 0 preamble: short usage: '24' band_24_usage: '5' band_5: allow_rrm_disable: true ant_gain: 0 antenna_mode: default bandwidth: 20 channel: 0 channels: - 0 disabled: true power: 0 power_max: 0 power_min: 0 preamble: short usage: '24' band_5_on_24_radio: allow_rrm_disable: true ant_gain: 0 antenna_mode: default bandwidth: 20 channel: 0 channels: - 0 disabled: true power: 0 power_max: 0 power_min: 0 preamble: short usage: '24' band_6: allow_rrm_disable: true ant_gain: 0 antenna_mode: default bandwidth: 20 channel: 0 channels: - 0 disabled: true power: 0 power_max: 0 power_min: 0 preamble: short usage: '24' indoor_use: false scanning_enabled: true site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 switch_config: enabled: false eth0: additional_vlan_ids: - 0 enable_vlan: true port_vlan_id: 0 vlan_ids: - 0 eth1: additional_vlan_ids: - 0 enable_vlan: true port_vlan_id: 0 vlan_ids: - 0 eth2: additional_vlan_ids: - 0 enable_vlan: true port_vlan_id: 0 vlan_ids: - 0 eth3: additional_vlan_ids: - 0 enable_vlan: true port_vlan_id: 0 vlan_ids: - 0 module: additional_vlan_ids: - 0 enable_vlan: true port_vlan_id: 0 vlan_ids: - 0 wds: additional_vlan_ids: - 0 enable_vlan: true port_vlan_id: 0 vlan_ids: - 0 type: ap usb_config: cacert: string channel: 3 enabled: true host: 1.1.1.1 port: 0 type: imagotag verify_cert: true vlan_id: 1 vars: {} x: 0 y: 0 deviceprofile_hub: value: - additional_config_cmds: - set snmp community public bgp_config: property1: auth_key: string bfd_minimum_interval: 150 communities: - id: string local_preference: 0 vpn_name: string disable_bfd: false export: string export_policy: string graceful_restart_time: 0 hold_time: 90 import: string import_policy: string imported_networks: - dc-apps local_as: 0 neighbor_as: 0 neighbors: property1: export_policy: string hold_time: 90 import_policy: string multihop_ttl: 0 neighbor_as: 0 property2: export_policy: string hold_time: 90 import_policy: string multihop_ttl: 0 neighbor_as: 0 networks: - string no_readvertise_to_overlay: false type: internal via: lan vpn_name: string wan_name: string property2: auth_key: string bfd_minimum_interval: 150 communities: - id: string local_preference: 0 vpn_name: string disable_bfd: false export: string export_policy: string graceful_restart_time: 0 hold_time: 90 import: string import_policy: string imported_networks: - dc-apps local_as: 0 neighbor_as: 0 neighbors: property1: export_policy: string hold_time: 90 import_policy: string multihop_ttl: 0 neighbor_as: 0 property2: export_policy: string hold_time: 90 import_policy: string multihop_ttl: 0 neighbor_as: 0 networks: - string no_readvertise_to_overlay: false type: internal via: lan vpn_name: string wan_name: string created_time: 0 dhcpd_config: property1: dns_servers: - 192.168.0.1 dns_suffix: - string fixed_bindings: property1: ip: 192.168.0.1 name: string property2: ip: 192.168.0.1 name: string gateway: 192.168.0.1 ip_end: 192.168.0.1 ip_start: 192.168.0.1 servers: - 192.168.0.1 type: local property2: dns_servers: - 192.168.0.1 dns_suffix: - string fixed_bindings: property1: ip: 192.168.0.1 name: string property2: ip: 192.168.0.1 name: string gateway: 192.168.0.1 ip_end: 192.168.0.1 ip_start: 192.168.0.1 servers: - 192.168.0.1 type: local extra_routes: property1: via: 192.168.0.1 property2: via: 192.168.0.1 gateway_matching: enable: true rules: - additional_config_cmds: - set snmp community public name: string port_config: property1: ae_disable_lacp: true ae_idx: 0 aggregated: false critical: true description: string disable_autoneg: false duplex: auto dynamic_usage: string esilag: true mtu: 1514 no_local_overwrite: true poe_disabled: false speed: auto usage: string property2: ae_disable_lacp: true ae_idx: 0 aggregated: false critical: true description: string disable_autoneg: false duplex: auto dynamic_usage: string esilag: true mtu: 1514 no_local_overwrite: true poe_disabled: false speed: auto usage: string property1: string property2: string id: 497f6eca-6276-4993-bfeb-53cbbbba6f09 ip_configs: property1: ip: 192.168.0.1 netmask: /24 property2: ip: 192.168.0.1 netmask: /24 modified_time: 0 name: string networks: - created_time: 0 disallow_mist_services: false gateway: 192.168.70.1 hosts: property1: external_ips: 172.16.10.32-172.16.10.35 ips: 192.168.70.32-192.168.70.35 property2: external_ips: 172.16.10.32-172.16.10.35 ips: 192.168.70.32-192.168.70.35 id: 497f6eca-6276-4993-bfeb-53cbbbba6f10 internal_access: enabled: true internet_access: create_simple_service_policy: false destination_nat: property1: internal_ip: 192.168.70.30 name: web server port: 443 property2: internal_ip: 192.168.70.30 name: web server port: 443 enabled: true restricted: false static_nat: property1: internal_ip: 192.168.70.3 name: printer-1 property2: internal_ip: 192.168.70.3 name: printer-1 isolation: true modified_time: 0 name: string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b subnet: 192.168.70.0/24 tenants: property1: addresses: string property2: addresses: string vlan_id: 0 vpn_access: property1: affinity: hub allow_ping: true destination_nat: property1: name: web server port: 443 to: 192.168.70.5/30 property2: name: web server port: 443 to: 192.168.70.5/30 nat_pool: 172.16.0.0/26 no_readvertise_to_lan_bgp: false no_readvertise_to_overlay: true routed: true source_nat: exteral_ip: 172.16.0.8/30 static_nat: property1: internal_ip: 192.168.70.3 name: pos-station-1 property2: internal_ip: 192.168.70.3 name: pos-station-1 summarized_subnet: 172.16.0.0/16 summarized_subnet_to_lan_bgp: 172.16.0.0/16 property2: affinity: hub allow_ping: true destination_nat: property1: name: web server port: 443 to: 192.168.70.5/30 property2: name: web server port: 443 to: 192.168.70.5/30 nat_pool: 172.16.0.0/26 no_readvertise_to_lan_bgp: false no_readvertise_to_overlay: true routed: true source_nat: exteral_ip: 172.16.0.8/30 static_nat: property1: internal_ip: 192.168.70.3 name: pos-station-1 property2: internal_ip: 192.168.70.3 name: pos-station-1 summarized_subnet: 172.16.0.0/16 summarized_subnet_to_lan_bgp: 172.16.0.0/16 - created_time: 0 disallow_mist_services: false gateway: 192.168.70.1 hosts: property1: external_ips: 172.16.10.32-172.16.10.35 ips: 192.168.70.32-192.168.70.35 property2: external_ips: 172.16.10.32-172.16.10.35 ips: 192.168.70.32-192.168.70.35 id: 497f6eca-6276-4993-bfeb-53cbbbba6f11 internal_access: enabled: true internet_access: create_simple_service_policy: false destination_nat: property1: internal_ip: 192.168.70.30 name: web server port: 443 property2: internal_ip: 192.168.70.30 name: web server port: 443 enabled: true restricted: false static_nat: property1: internal_ip: 192.168.70.3 name: printer-1 property2: internal_ip: 192.168.70.3 name: printer-1 isolation: true modified_time: 0 name: string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b subnet: 192.168.70.0/24 tenants: property1: addresses: string property2: addresses: string vlan_id: 0 vpn_access: property1: affinity: hub allow_ping: true destination_nat: property1: name: web server port: 443 to: 192.168.70.5/30 property2: name: web server port: 443 to: 192.168.70.5/30 nat_pool: 172.16.0.0/26 no_readvertise_to_lan_bgp: false no_readvertise_to_overlay: true routed: true source_nat: exteral_ip: 172.16.0.8/30 static_nat: property1: internal_ip: 192.168.70.3 name: pos-station-1 property2: internal_ip: 192.168.70.3 name: pos-station-1 summarized_subnet: 172.16.0.0/16 summarized_subnet_to_lan_bgp: 172.16.0.0/16 property2: affinity: hub allow_ping: true destination_nat: property1: name: web server port: 443 to: 192.168.70.5/30 property2: name: web server port: 443 to: 192.168.70.5/30 nat_pool: 172.16.0.0/26 no_readvertise_to_lan_bgp: false no_readvertise_to_overlay: true routed: true source_nat: exteral_ip: 172.16.0.8/30 static_nat: property1: internal_ip: 192.168.70.3 name: pos-station-1 property2: internal_ip: 192.168.70.3 name: pos-station-1 summarized_subnet: 172.16.0.0/16 summarized_subnet_to_lan_bgp: 172.16.0.0/16 oob_ip_config: dns: - string dns_suffix: - string gateway: string ip: string netmask: string network: string node1: ip: string netmask: string network: string type: dynamic use_mgmt_vrf: false use_mgmt_vrf_for_host_out: false vlan_id: 0 property1: ip: string netmask: string network: string type: dynamic property2: ip: string netmask: string network: string type: dynamic type: dynamic use_mgmt_vrf: false use_mgmt_vrf_for_host_out: false vlan_id: 0 org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b path_preferences: property1: paths: cost: 0 gateway_ip: string internet_access: false name: string networks: - string target_ips: - string type: local strategy: ordered property2: paths: cost: 0 gateway_ip: string internet_access: false name: string networks: - string target_ips: - string type: local strategy: ordered port_config: property1: description: string disable_autoneg: false dsl_config: ppoe_auth: none ppoe_password: string ppoe_username: string duplex: full ip_config: dns: - string dns_suffix: - string gateway: string ip: string netmask: string network: string poser_password: string ppoe_username: string pppoe_auth: none type: dhcp lte_apn: string lte_auth: none lte_backup: true lte_password: string lte_username: string mtu: 0 name: string networks: - string outer_vlan_id: 0 poe_disabled: false port_network: string preserve_dscp: true redundant: true reth_idx: 0 reth_node: string speed: 1g svr_port_range: 60000-60005 traffic_shaping: class_percentages: - 0 enabled: false usage: lan vlan_id: 10 vpn_paths: property1: bfd_profile: broadband bfd_udp_transform: false bfd_use_tunnel_mode: false role: spoke traffic_shaping: class_percentage: - 0 enabled: true max_tx_kbps: 0 property2: bfd_profile: broadband bfd_udp_transform: false bfd_use_tunnel_mode: false role: spoke traffic_shaping: class_percentage: - 0 enabled: true max_tx_kbps: 0 wan_ext_ip: string wan_source_nat: disabled: false nat_pool: 64.2.4.0/30 wan_type: broadband property2: description: string disable_autoneg: false dsl_config: ppoe_auth: none ppoe_password: string ppoe_username: string duplex: full ip_config: dns: - string dns_suffix: - string gateway: string ip: string netmask: string network: string poser_password: string ppoe_username: string pppoe_auth: none type: dhcp lte_apn: string lte_auth: none lte_backup: true lte_password: string lte_username: string mtu: 0 name: string networks: - string outer_vlan_id: 0 poe_disabled: false port_network: string preserve_dscp: true redundant: true reth_idx: 0 reth_node: string speed: 1g svr_port_range: 60000-60005 traffic_shaping: class_percentages: - 0 enabled: false usage: lan vlan_id: 10 vpn_paths: property1: bfd_profile: broadband bfd_udp_transform: false bfd_use_tunnel_mode: false role: spoke traffic_shaping: class_percentage: - 0 enabled: true max_tx_kbps: 0 property2: bfd_profile: broadband bfd_udp_transform: false bfd_use_tunnel_mode: false role: spoke traffic_shaping: class_percentage: - 0 enabled: true max_tx_kbps: 0 wan_ext_ip: string wan_source_nat: disabled: false nat_pool: 64.2.4.0/30 wan_type: broadband routing_policies: property1: terms: - action: accept: true add_community: - '65003:10' community: - '65003:10' exclude_as_path: - '65002' exclude_community: - '65003:10' export_communitites: - string local_preference: string prepend_as_path: - '65003' matching: as_path: - '65001' community: - '65001:2' network: - string prefix: - 192.168.0.0/16-30 protocol: - direct route_exists: route: 192.168.0.0/24 vrf_name: default vpn_neighbor_mac: - string vpn_path: - string vpn_path_sla: max_jitter: 0 max_latency: 1500 max_loss: 30 property2: terms: - action: accept: true add_community: - '65003:10' community: - '65003:10' exclude_as_path: - '65002' exclude_community: - '65003:10' export_communitites: - string local_preference: string prepend_as_path: - '65003' matching: as_path: - '65001' community: - '65001:2' network: - string prefix: - 192.168.0.0/16-30 protocol: - direct route_exists: route: 192.168.0.0/24 vrf_name: default vpn_neighbor_mac: - string vpn_path: - string vpn_path_sla: max_jitter: 0 max_latency: 1500 max_loss: 30 service_policies: - action: allow ewf: - alert_only: true block_message: Access to this URL Category has been blocked enabled: false profile: strict idp: alert_only: string enabled: false profile: strict local_routing: false name: string path_preferences: string servicepolicy_id: a4b81837-7a2f-46c1-bf27-dc8af6edd0a0 services: - string tenants: - string tunnel_configs: property1: auto_provision: enable: true latlng: lat: 37.295833 lng: -122.032946 primary: num_hosts: string wan_names: - wan0 region: auto secondary: num_hosts: string wan_names: - wan0 ike_lifetime: 0 ike_mode: main ike_proposals: - auth_algo: sha1 dh_group: '14' enc_algo: aes256 ipsec_lifetime: 0 ipsec_proposals: - auth_algo: sha1 dh_group: '14' enc_algo: aes256 local_id: string mode: active-standby primary: hosts: - string internal_ips: - string probe_ips: - string remote_ids: - string wan_names: - string probe: interval: 0 threshold: 0 timeout: 0 type: icmp protocol: ipsec provider: zscaler-ipsec psk: string secondary: hosts: - string internal_ips: - string probe_ips: - string remote_ids: - string wan_names: - string version: '2' property2: auto_provision: enable: true latlng: lat: 37.295833 lng: -122.032946 primary: num_hosts: string wan_names: - wan0 region: auto secondary: num_hosts: string wan_names: - wan0 ike_lifetime: 0 ike_mode: main ike_proposals: - auth_algo: sha1 dh_group: '14' enc_algo: aes256 ipsec_lifetime: 0 ipsec_proposals: - auth_algo: sha1 dh_group: '14' enc_algo: aes256 local_id: string mode: active-standby primary: hosts: - string internal_ips: - string probe_ips: - string remote_ids: - string wan_names: - string probe: interval: 0 threshold: 0 timeout: 0 type: icmp protocol: ipsec provider: zscaler-ipsec psk: string secondary: hosts: - string internal_ips: - string probe_ips: - string remote_ids: - string wan_names: - string version: '2' type: standalone schema: items: $ref: '#/components/schemas/deviceprofile' type: array description: Example response DevicesArray: content: application/json: schema: $ref: '#/components/schemas/config_devices' description: OK DevicesArrayStatsOrg: content: application/json: schema: $ref: '#/components/schemas/device_stats_array' description: OK DevicesArrayStatsSite: content: application/json: examples: AP: value: - ble_config: beacon_rate: 3 beacon_rate_model: custom beam_disabled: - 1 - 3 - 6 power: 10 power_mode: custom ble_stat: beacon_rate: 3 eddystone_uid_enabled: false eddystone_uid_freq_msec: 200 eddystone_uid_instance: 5c5b35000001 eddystone_uid_namespace: 2818e3868dec25629ede eddystone_url_enabled: true eddystone_url_freq_msec: 100 eddystone_url_url: https://www.abc.com ibeacon_enabled: true ibeacon_major: 13 ibeacon_minor: 138 ibeacon_uuid: f3f17139-704a-f03a-2786-0400279e37c3 major: 12345 minors: - 201 - 202 - 203 - 204 - 205 - 206 - 207 - 208 power: 10 rx_bytes: 135 rx_pkts: 135 tx_bytes: 5231513353 tx_pkts: 135135135 tx_resets: 0 uuid: ada72f8f-1643-e5c6-94db-f2a5636f1a64 cert_expiry: 1534534392 ext_ip: 73.92.124.103 fwupdate: progress: 10 status: inprogress status_id: 5 timestamp: 1428949501 iot_stat: DI2: value: 0 ip: 10.2.9.159 ip_config: dns: - 8.8.8.8 - 4.4.4.4 dns_suffix: - .mist.local - .mist.com gateway: 10.2.1.254 ip: 10.2.1.1 netmask: 255.255.255.0 type: static ip_stat: dns: - 8.8.8.8 - 4.4.4.4 dns_suffix: - .mist.local - .mist.com gateway: 10.2.1.254 gateway6: 2607:f8b0:4005:808::1 ip: 10.2.1.1 ip6: 2607:f8b0:4005:808::2004 ips: vlan1: 10.2.1.1/24,2607:f8b0:4005:808::1/32 vlan193: 10.73.1.31/16 vlan3157: 10.72.11.14/24 netmask: 255.255.255.0 netmask6: /32 l2tp_stat: 7dae216d-7c98-a51b-e068-dd7d477b7216: sessions: - local_sid: 31 remote_id: vpn1 remote_sid: 13 state: established state: established_with_sessions uptime: 135 wxtunnel_id: 7dae216d-7c98-a51b-e068-dd7d477b7216 last_seen: 1470417522 last_trouble: code: '03' timestamp: 1428949501 led: brightness: 255 enabled: true lldp_stat: chassis_id: 63:68:61:73:73:69 lldp_med_supported: false mgmt_addr: 10.1.5.2 port_desc: 2/26 power_allocated: 15500 power_draw: 15000 power_request_count: 3 power_requested: 25500 system_desc: HP J9729A 2920-48G-POE+ Switch system_name: TC2-OWL-Stack-01 locating: false mac: 5c5b35000010 map_id: 63eda950-c6da-11e4-a628-60f81dd250cc mesh_downlinks: 00000000-0000-0000-1000-5c5b356be59f: band: '24' channel: 7 idle_time: 3 last_seen: 1470417522 proto: a rssi: -65 rx_bps: 12 rx_bytes: 217416 rx_packets: 2337 rx_rate: 65 rx_retries: 5 snr: 31 tx_bps: 6 tx_bytes: 175132 tx_packets: 1566 tx_rate: 65 tx_retries: 500 mesh_uplink: band: '24' channel: 7 idle_time: 3 last_seen: 1470417522 proto: a rssi: -65 rx_bps: 12 rx_bytes: 217416 rx_packets: 2337 rx_rate: 65 rx_retries: 5 snr: 31 tx_bps: 6 tx_bytes: 175132 tx_packets: 1566 tx_rate: 65 tx_retries: 500 uplink_ap_id: 00000000-0000-0000-1000-5c5b35000010 model: AP200 name: conference room num_clients: 10 port_stat: eth0: full_duplex: true rx_bytes: 2056 rx_errors: 0 rx_pkts: 670 speed: 1000 tx_bytes: 2056 tx_pkts: 670 up: true eth1: up: false module: up: false power_budget: -12000 power_src: PoE 802.3af radio_config: band_24: bandwidth: 20 channel: 0 dynamic_chaining_enabled: false power: 0 rx_chain: 4 tx_chain: 4 band_5: bandwidth: 40 channel: 0 dynamic_chaining_enabled: false power: 0 rx_chain: 4 tx_chain: 1 scanning_enabled: true radio_stat: band_24: bandwidth: 20 channel: 6 mac: 5c5b350004a0 num_clients: 6 power: 19 rx_bytes: 8504737800 rx_pkts: 57731964 tx_bytes: 211166512114 tx_pkts: 812058566 band_5: bandwidth: 80 channel: 44 mac: 5c5b350004b0 num_clients: 4 power: 15 rx_bytes: 10366616 rx_pkts: 38603 tx_bytes: 50877568 tx_pkts: 145496 rx_bps: 60003 rx_bytes: 8515104416 rx_pkts: 57770567 serial: FXLH2015170017 status: connected tx_bps: 634301 tx_bytes: 211217389682 tx_pkts: 812204062 type: ap uptime: 13500 usb_stat: channel: 3 connected: true last_activity: 1586873254 type: imagotag up: true version: 1.0.0 x: 53.5 y: 173.1 Gateway: value: - cluster_stat: node0: status: '' node1: {} cpu2_stat: '' cpu_stat: idle: 28 interrupt: 8 load_avg: - 0.9700000286102295 - 1.0499999523162842 - 1.0199999809265137 system: 41 user: 23 hostname: sj1 ip: 10.2.11.137 ip_stat: dns: - 8.8.8.8 - 4.4.4.4 dns_suffix: - .mist.local - .mist.com gateway: 10.2.1.1 gateway6: 2607:f8b0:4005:808::1 ip: 10.2.11.137 ip6: 2607:f8b0:4005:808::2004 ips: vlan1: 10.2.1.1/24,2607:f8b0:4005:808::1/32 vlan193: 10.73.1.31/16 vlan3157: 10.72.11.14/24 netmask: 255.255.192.0 netmask6: /32 last_seen: 1553203563 mac: dc38e1dbf3cd memory_stat: usage: 35 model: SRX320 module2_stat: '' module_stat: - fans: - name: Fan 0 status: absent - airflow: out name: Fan 1 status: ok model: EX4300-48P poe: max_power: 250 power_draw: 120.3 psus: - name: Power Supply 0 status: ok - name: Power Supply 1 status: failed serial: PX8716230021 temperatures: - celsius: 45 name: CPU status: ok vc_links: - neighbor_module_idx: 1 neighbor_port_id: vcp-255/1/0 port_id: vcp-255/1/0 vc_role: master name: sj1 serial: TC3714190003 spu2_stat: '' spu_stat: cpu: 15 memory: 32 sessions: current: 41 max: 65535 pending: 12 valid: 15 status: connected type: gateway uptime: 13500 version: 18.4R1.8 Switch: value: - cpu_stat: idle: 28 interrupt: 8 load_avg: - 0.9700000286102295 - 1.0499999523162842 - 1.0199999809265137 system: 41 user: 23 hostname: sj-sw1 ip: 10.2.11.137 ip_stat: dns: - 8.8.8.8 - 4.4.4.4 dns_suffix: - .mist.local - .mist.com gateway: 10.2.1.1 gateway6: 2607:f8b0:4005:808::1 ip: 10.2.11.137 ip6: 2607:f8b0:4005:808::2004 ips: vlan1: 10.2.1.1/24,2607:f8b0:4005:808::1/32 vlan193: 10.73.1.31/16 vlan3157: 10.72.11.14/24 netmask: 255.255.192.0 netmask6: /32 last_seen: 1553203563 mac: dc38e1dbf3cd memory_stat: usage: 35 model: EX4600 module_stat: - fans: - name: Fan 0 status: absent - airflow: out name: Fan 1 status: ok model: EX4300-48P poe: max_power: 250 power_draw: 120.3 psus: - name: Power Supply 0 status: ok - name: Power Supply 1 status: failed serial: PX8716230021 temperatures: - celsius: 45 name: CPU status: ok vc_links: - neighbor_module_idx: 1 neighbor_port_id: vcp-255/1/0 port_id: vcp-255/1/0 vc_role: master name: xg50b pics: - idx: 0 port_groups: - count: 12 type: sfp+ serial: TC3714190003 status: connected type: switch uptime: 13500 version: 18.4R1.8 schema: items: anyOf: - $ref: '#/components/schemas/ap_stats' - $ref: '#/components/schemas/switch_stats' - $ref: '#/components/schemas/gateway_stats' type: array description: OK DevicesSearch: content: application/json: examples: example-1: value: end: 0 limit: 0 next: string results: - hostname: - AP41-STB-3E5299-WH-2001 - AP41-STB-3E5299-WH-50 - AP41-STB-3E5299 - 5c5b353e5299 ip: 10.2.16.205 lldp_mgmt_addr: 10.2.10.139 lldp_port_desc: GigabitEthernet1/0/1 lldp_port_id: Gi1/0/1 lldp_system_desc: 'Cisco IOS Software, C2960S Software (C2960S-UNIVERSALK9-M), Version 15.2(1)E1, RELEASE SOFTWARE (fc2) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2013 by Cisco Systems, Inc. Compiled Fri 22-Nov-13 07:10 by prod_rel_team' lldp_system_name: ME-DC-1-ACC-SW mac: 5c5b353e5299 model: AP41 mxedge_id: 00000000-0000-0000-1000-43a81f238391 mxtunnel_status: down org_id: 6748cfa6-4e12-11e6-9188-0242ac110007 site_id: a8178443-ecb5-461c-b854-f16627619ab3 sku: AP41-US timestamp: 1596588619.007 uptime: 85280 version: 0.7.20216 start: 0 total: 0 schema: properties: end: type: integer limit: type: integer next: type: string results: items: anyOf: - $ref: '#/components/schemas/ap_search' - $ref: '#/components/schemas/switch_search' - $ref: '#/components/schemas/gateway_search' minItems: 1 type: array uniqueItems: true start: type: integer total: type: integer required: - end - limit - results - start - total type: object description: OK DiscoveredSwitchMetrics: content: application/json: examples: example-1: value: end: 1675193686.0191767 limit: 1 next: /api/v1/sites/f5fcbee5-fbca-45b3-8bf1-1619ede87879/stats/discovered_switch_metrics/search?end=1675193686.0191767&limit=1&search_after=%5B1675193400000%5D&start=1675107286.0191767 results: - details: {} org_id: 203d3d02-dbc0-4c1b-9f41-76896a3330f4 scope: site score: 100 site_id: f5fcbee5-fbca-45b3-8bf1-1619ede87879 timestamp: 1675193400 type: inactive_wired_vlans start: 1675107286.0191767 total: 3 schema: properties: end: type: number limit: type: integer next: type: string results: $ref: '#/components/schemas/discovered_switch_metrics' start: type: number total: type: integer required: - results - start - end - limit - total type: object description: OK DiscoveredSwitches: content: application/json: examples: example-1: value: end: 1604496474.8978634 limit: 1000 results: - aps: - hostname: ap41nearlab inactive_wired_vlans: [] mac: 5c5b352e2001 poe_status: true when: 2019-06-13T19:53:16.870+0000 mgmt_addr: 10.1.1.1 model: EX2300-C-12P org_id: 6748cfa6-4e12-11e6-9188-0242ac110007 site_id: 67970e46-4e12-11e6-9188-0242ac110007 system_desc: 'Juniper Networks, Inc. ex2300-c-12p Ethernet Switch, kernel JUNOS 18.2R2.6, Build date: 2018-12-07 13:19:04 UTC Copyright (c) 1996-2018 Juniper Networks, Inc.' system_name: mist-lab-ex2300c timestamp: 1560457177.037 vendor: Juniper Networks version: 18.2R2.6 start: 1604410074.8978484 total: 1 schema: properties: end: type: number limit: type: integer next: type: string results: items: properties: adopted: type: boolean aps: items: properties: hostname: type: string mac: type: string poe_status: type: boolean port: type: string port_id: type: string power_draw: type: number when: type: string title: discovered_switch_ap type: object type: array uniqueItems: true chassis_id: items: type: string type: array for_site: readOnly: true type: boolean model: type: string org_id: format: uuid type: string site_id: $ref: '#/components/schemas/site_id' system_desc: type: string system_name: type: string timestamp: type: number vendor: type: string version: type: string required: - model - org_id - site_id - system_desc - system_name - timestamp - vendor - version title: discovered_switch type: object minItems: 1 type: array uniqueItems: true start: type: number total: type: integer required: - end - limit - results - start - total type: object description: OK DiscoveredSwitchesMetrics: content: application/json: examples: example-1: value: inactive_wired_vlans: details: {} score: 100 poe_compliance: details: total_aps: 63 total_power: 981500 score: 100 switch_ap_affinity: details: system_name: - mist-lab-ex2300c - switch1 threshold: 12 score: 33.3333 version_compliance: details: major_versions: - major_count: 2 model: EX2300-C-12P system_names: - switch1 - mist-lab-ex2300c - major_count: 1 model: EX4300-48P system_names: [] total_switch_count: 5 score: 75 schema: properties: inactive_wired_vlans: properties: details: title: inactive_wired_vlans_details type: object score: type: number required: - score - details type: object poe_compliance: properties: details: properties: total_aps: type: integer total_power: type: number required: - total_power - total_aps title: poe_compliance_details type: object score: type: number required: - score - details type: object switch_ap_affinity: properties: details: properties: system_name: items: type: string type: array threshold: type: number required: - threshold - system_name title: switch_ap_affinity_details type: object score: type: number required: - score - details type: object version_compliance: properties: details: properties: major_versions: items: properties: major_count: type: number model: type: string system_names: items: type: string type: array required: - model - major_count title: version_compliance_major_version type: object minItems: 1 type: array uniqueItems: true total_switch_count: type: integer required: - major_versions - total_switch_count title: version_compliance_details type: object score: type: number required: - score - details type: object required: - version_compliance - switch_ap_affinity - inactive_wired_vlans - poe_compliance type: object description: OK EventsDevices: content: application/json: examples: example-1: value: end: 1531862583 limit: 2 next: /api/v1/sites/8aaba0aa-09cc-44bd-9709-33b98040550c/devices/events/search?ap=5c5b350e0001&end=1531855849.000&limit=2&start=1531776183.0 results: - last_reboot_time: 1531854327 text: Success timestamp: 1531855849.226722 type: AP_CONNECT_STATUS type_code: 2002 - timestamp: 1531854326 type: AP_CONFIGURED start: 1531776183 total: 14 schema: properties: end: type: integer limit: type: integer next: type: string results: items: $ref: '#/components/schemas/events_device_ap' minItems: 1 type: array uniqueItems: true start: type: integer total: type: integer required: - end - limit - next - results - start - total type: object description: OK EventsFastroam: content: application/json: examples: example-1: value: end: 1501023379 limit: 2 next: /api/v1/sites/dca0a44b-324c-11e6-a776-0243ad110007/events/fast_roam?type=success&start=1428939600&end=1428949600&limit=200&token=AAAAEgAIAAVVJh4hF8AAAARzc2lkAH%2F%2F%2F%2F0%3D results: - ap_mac: 5c5b350e040b client_mac: dc2b2a3fb13d fromap: 5c5b350e0569 latency: 0.1874195 ssid: marvis_test subtype: CLIENT_AUTHENTICATED_11R timestamp: 1501000002283782 start: 1500940800 schema: properties: end: type: integer limit: type: integer next: description: the link to query next set of results. value is null if no next page exists. type: string results: items: properties: ap_mac: type: string client_mac: type: string fromap: type: string latency: type: number ssid: type: string subtype: type: string timestamp: description: timestamp of the event in nsec type: number type: enum: - success - fail - none - poor - pingpong - slow title: fast_roam_event_type type: string required: - latency - ssid - timestamp - ap_mac - fromap - client_mac title: fast_roam_event type: object minItems: 1 type: array uniqueItems: true start: type: integer required: - start - end - limit - results type: object description: OK EventsNacClientSearch: content: application/json: examples: NAC-client-events: value: end: 1513176951 limit: 10 results: - ap: 5c5b35513227 auth_type: eap-ttls bssid: 5c5b355fafcc dryrun_nacrule_id: 32f27e7d-ff26-4a9b-b3d1-ff9bcb264012 dryrun_nacrule_matched: true idp_id: 912ef72e-2239-4996-b81e-469e87a27cd6 idp_role: - itsuperusers - vip mac: ac3eb179e535 nacrule_id: 32f27e7d-ff26-4a9b-b3d1-ff9bcb264c62 nacrule_matched: true nas_vendor: juniper-mist org_id: 27547ac2-d114-4e04-beb1-f3f1e6e81ec6 random_mac: false resp_attrs: - Tunnel-Type=VLAN - Tunnel-Medium-Type=IEEE-802 - Tunnel-Private-Group-Id=750 - User-Name=anonymous site_id: 441a1214-6928-442a-8e92-e1d34b8ec6a6 ssid: mist_nac timestamp: 1691512031.358188 type: NAC_CLIENT_PERMIT username: user@deaflyz.net vlan: '750' start: 1512572151 total: 1 schema: properties: end: example: 1513176951 type: integer limit: example: 10 type: integer results: $ref: '#/components/schemas/event_nac_clients' start: example: 1512572151 type: integer total: example: 1 type: integer type: object description: NAC Client Events EventsOtherDevicesSearch: content: application/json: examples: Example: value: end: 0 limit: 0 results: device_mac: string mac: 5c5b351e13b5 org_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862a site_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862b text: 'Plugged: The Internal 5GB (SIM1) has been inserted into Internal 1.' timestamp: 547235620.89 type: CELLULAR_EDGE_MODEM_WAN_PLUGGED vendor: cradlepoint start: 0 total: 0 schema: properties: end: type: integer limit: type: integer results: $ref: '#/components/schemas/event_otherdevice' start: type: integer total: type: integer type: object description: Example response EventsSearch: content: application/json: examples: example-1: value: end: 0 limit: 0 results: - ap: string band: '24' bssid: string channel: 0 proto: a ssid: string text: string timestamp: 0 type: string type_code: 0 wlan_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 start: 0 total: 0 schema: properties: end: type: integer limit: type: integer next: type: string results: items: $ref: '#/components/schemas/events_client' minItems: 1 type: array uniqueItems: true start: type: integer total: type: integer required: - start - end - limit - total - results type: object description: OK EvpnTopologiesArray: content: application/json: examples: Example: value: - id: 9197ec96-4c8d-529f-c595-035895e688b2 name: CC overwrite: true pod_names: '1': default '2': default switches: - deviceprofile_id: 6a1deab1-96df-4fa2-8455-d5253f943d06 downlink_ips: - 10.255.240.6 - 10.255.240.8 downlinks: - 5c5b35000007 - 5c5b35000008 esilaglinks: - 5c5b3500000f evpn_id: 1 mac: 5c5b35000003 model: QFX10002-36Q role: collapsed-core site_id: 1916d52a-4a90-11e5-8b45-1258369c38a9 uplinks: - 5c5b35000005 - 5c5b35000006 schema: items: $ref: '#/components/schemas/junos_evpn_topology' type: array description: OK EvpnTopology: content: application/json: examples: Example: value: id: 9197ec96-4c8d-529f-c595-035895e688b2 name: CC overwrite: true pod_names: '1': default '2': default switches: - deviceprofile_id: 6a1deab1-96df-4fa2-8455-d5253f943d06 downlink_ips: - 10.255.240.6 - 10.255.240.8 downlinks: - 5c5b35000007 - 5c5b35000008 esilaglinks: - 5c5b3500000f evpn_id: 1 mac: 5c5b35000003 model: QFX10002-36Q role: collapsed-core site_id: 1916d52a-4a90-11e5-8b45-1258369c38a9 uplinks: - 5c5b35000005 - 5c5b35000006 schema: $ref: '#/components/schemas/junos_evpn_topology' description: Example response File: content: application/json: schema: description: File format: binary type: string description: OK GatewayMetrics: content: application/json: examples: example-1: value: config_success: 99.9 version_compliance: major_version: SRX320: major_count: 0 major_version: 19.4R2-S1.2 score: 99.9 type: gateway schema: properties: config_success: description: config success score example: 99.9 type: number version_compliance: description: version compliance score, major version for gateway, type properties: major_version: additionalProperties: properties: major_count: type: integer major_version: example: 19.4R2-S1.2 type: string type: object title: gateway_version_compliance_major_version type: object score: example: 99.9 type: number type: example: gateway type: string title: gateway_version_compliance type: object type: object description: OK Gatewaytemplate: content: application/json: examples: {} schema: $ref: '#/components/schemas/gateway_template' description: OK GatewaytemplatesArray: content: application/json: examples: {} schema: items: $ref: '#/components/schemas/gateway_template' type: array description: OK GetLicenceUsage: content: application/json: examples: Example: value: org_entitled: SUB-LOC: 30 SUB-MAN: 60 svna_enabled: true trial_enabled: true usages: SUB-LOC: 30 SUB-MAN: 60 vna_eligible: true vna_ui: true wvna_eligible: true schema: properties: org_entitled: additionalProperties: type: integer description: license entitlement for the entire org example: SUB-LOC: 30 SUB-MAN: 60 type: object svna_enabled: description: eligibility for the Switch SLE type: boolean trial_enabled: type: boolean usages: additionalProperties: type: integer description: subscriptions and their quantities example: SUB-LOC: 30 SUB-MAN: 60 type: object vna_eligible: description: eligibility for the AP/Client SLE type: boolean vna_ui: description: if True, Conversational Assistant and Marvis Action available type: boolean wvna_eligible: description: eligibility for the WAN SLE type: boolean required: - org_entitled - svna_enabled - trial_enabled - usages - vna_eligible - wvna_eligible - vna_ui type: object description: License Usage Guest: content: application/json: examples: example-1: value: authorized: true authorized_expiring_time: 0 authorized_time: 0 company: string email: user@example.com field1: string field2: string field3: string field4: string mac: string minutes: 0 name: string example-2: value: authorized: true authorized_expiring_time: 1480704955 authorized_time: 1480704355 company: abc email: john@abc.com field1: xxx mac: 5684dae9ac8b name: John Smith schema: $ref: '#/components/schemas/guest' description: OK GuestsArray: content: application/json: examples: example-1: value: - authorized: true authorized_expiring_time: 0 authorized_time: 0 company: string email: user@example.com field1: string field2: string field3: string field4: string mac: string minutes: 0 name: string example-2: value: - authorized: true authorized_expiring_time: 1480704955 authorized_time: 1480704355 company: abc email: john@abc.com field1: xxx mac: 5684dae9ac8b name: John Smith schema: items: $ref: '#/components/schemas/guest' type: array description: OK GuestsSearch: content: application/json: examples: example-1: value: end: 1531862583 limit: 2 next: /api/v1/sites/8aaba0aa-09cc-44bd-9709-33b98040550c/guests/search?wlan_id=88ffe630-95b8-11e8-b294-346895ed1b7d&end=1531855849.000&limit=2&start=1531776183.0 results: - ap: 5c5b350e0001 auth_method: passphrase authorized_expiring_time: 1531810258.186273 authorized_time: 1531782218 company: mistsystems email: user@mistsys.com name: john ssid: openNet timestamp: 1531782218 - ap: 5c5b350e0001 auth_method: facebook authorized_expiring_time: 1531810821.145 authorized_time: 1531782632 company: xyz inc. email: cool_user@yahoo.com name: John White ssid: openNet timestamp: 1531782632 start: 1531776183 total: 14 schema: properties: end: type: integer limit: type: integer next: type: string results: items: properties: ap: type: string auth_method: type: string authorized_expiring_time: type: number authorized_time: type: number company: type: string email: type: string name: type: string ssid: type: string timestamp: type: number required: - ap - auth_method - authorized_expiring_time - authorized_time - company - email - name - ssid - timestamp title: guest_search_result type: object minItems: 1 type: array uniqueItems: true start: type: integer total: type: integer required: - end - limit - next - results - start - total type: object description: OK HTTP400: content: application/json: examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' schema: properties: detail: example: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' title: HTTP400 detail type: string type: object description: Bad Syntax HTTP401: content: application/json: examples: Example: value: detail: Authentication credentials were not provided. schema: properties: detail: example: Authentication credentials were not provided. type: string type: object description: Unauthorized HTTP403: content: application/json: examples: Example: value: detail: You do not have permission to perform this action. schema: properties: detail: example: You do not have permission to perform this action. type: string type: object description: Permission Denied HTTP404: content: application/json: schema: properties: id: type: string description: "Not found. The API endpoint doesn\u2019t exist or resource doesn\u2019\ t exist" HTTP429: content: application/json: examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold schema: properties: detail: example: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold type: string type: object description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold IdpProfile: content: application/json: examples: idpprofile: value: base_profile: strict created_time: 0 id: 874ca978-d736-4d4b-bc90-a49a29eec133 modified_time: 0 name: relaxed overwrites: - action: alert matching: attack_name: - HTTP:INVALID:HDR-FIELD dst_subnet: - 63.1.2.0/24 severity: - major schema: $ref: '#/components/schemas/idp_profile' description: Example response IdpProfileArray: content: application/json: examples: idpprofiles: value: - base_profile: strict created_time: 0 id: 874ca978-d736-4d4b-bc90-a49a29eec133 modified_time: 0 name: relaxed overwrites: - action: alert matching: attack_name: - HTTP:INVALID:HDR-FIELD dst_subnet: - 63.1.2.0/24 severity: - major schema: items: $ref: '#/components/schemas/idp_profile' type: array description: Example response InsightMetric: content: application/json: examples: example-1: value: end: 0 interval: 0 results: - {} start: 0 schema: $ref: '#/components/schemas/insight_metrics' description: OK InsightMetricMsp: content: application/json: examples: orgs-sle: value: end: 1643706000 interval: 3600 limit: 100 results: - ap-availability: 0.9919400860511628 ap-health: 0.967607512909879 capacity: 0.7484652273070254 coverage: 0.91217567374857 num_aps: 13 num_clients: 12 org_id: 978c48e6-6ef6-11e6-8bbf-02e208b2d34f roaming: 0.991735537682683 roaming-exp: 0.991735537682683 successful-connect: 0.46052632135780236 throughput: 0.6775702123846302 time-to-connect: 0.9349112447196916 - ap-availability: 0.9990384613092129 ap-health: 0.48201754375507955 capacity: 0.9702673450306101 coverage: 0.8335392334930375 num_aps: 1 num_clients: 6 org_id: 49ff76e0-a283-4e7d-b38d-041f1e9aff3c roaming: 1 roaming-exp: 1 successful-connect: 1 throughput: 0 time-to-connect: 1 - ap-availability: 1 ap-health: 0.982456140612301 capacity: 1 coverage: 0.9276041182442488 num_aps: 2 num_clients: 3 org_id: 9b9b48f1-15a4-459e-86cc-9cbec9005983 roaming: 1 roaming-exp: 1 successful-connect: 1 throughput: 1 time-to-connect: 0.8125 - ap-availability: 0.9981132070973234 ap-health: 0.9991228068084047 capacity: 1 coverage: 1 num_aps: 1 num_clients: 0 org_id: eb0e1671-7a6b-472b-94c3-c187dafe5274 roaming: 1 roaming-exp: 1 successful-connect: 1 throughput: 0 time-to-connect: 0.5 start: 1643670000 schema: $ref: '#/components/schemas/insight_metrics' description: OK InsightMetricOrg: content: application/json: examples: worst-sites-by-sle: value: end: 1643706000 interval: 3600 limit: 100 results: - ap-availability: 0.9919400860511628 ap-health: 0.967607512909879 capacity: 0.7484652273070254 coverage: 0.91217567374857 num_aps: 13 num_clients: 12 roaming: 0.991735537682683 roaming-exp: 0.991735537682683 site_id: 978c48e6-6ef6-11e6-8bbf-02e208b2d34f successful-connect: 0.46052632135780236 throughput: 0.6775702123846302 time-to-connect: 0.9349112447196916 - ap-availability: 0.9990384613092129 ap-health: 0.48201754375507955 capacity: 0.9702673450306101 coverage: 0.8335392334930375 num_aps: 1 num_clients: 6 roaming: 1 roaming-exp: 1 site_id: 49ff76e0-a283-4e7d-b38d-041f1e9aff3c successful-connect: 1 throughput: 0 time-to-connect: 1 - ap-availability: 1 ap-health: 0.982456140612301 capacity: 1 coverage: 0.9276041182442488 num_aps: 2 num_clients: 3 roaming: 1 roaming-exp: 1 site_id: 9b9b48f1-15a4-459e-86cc-9cbec9005983 successful-connect: 1 throughput: 1 time-to-connect: 0.8125 - ap-availability: 0.9981132070973234 ap-health: 0.9991228068084047 capacity: 1 coverage: 1 num_aps: 1 num_clients: 0 roaming: 1 roaming-exp: 1 site_id: eb0e1671-7a6b-472b-94c3-c187dafe5274 successful-connect: 1 throughput: 0 time-to-connect: 0.5 start: 1643670000 schema: $ref: '#/components/schemas/insight_metrics' description: OK InsightRogue: content: application/json: examples: example-1: value: end: 1428954000 limit: 100 next: /api/v1/sites/a3eda150-ab3f-11e4-aa18-13e21dd250cc/rogues?start=1498482000&end=1498485600&limit=10&interval=1h&type=others results: - ap_mac: 5c5b350e021c avg_rssi: -72 bssid: d8-97-ba-76-b5-aa channel: '11' num_aps: 4 ssid: xfinitywifi times_heard: 8 start: 1428939600 schema: properties: end: type: integer limit: type: integer next: description: "link to next set of results. If more results aren\u2019\ t present, next is null." type: string results: items: properties: ap_mac: description: mac of the device that had strongest signal strength for ssid/bssid pair type: string avg_rssi: description: average signal strength of ap_mac for ssid/bssid pair type: number bssid: description: bssid of the network detected as threat type: string channel: description: channel over which ap_mac heard ssid/bssid pair type: string delta_x: description: X position relative to the reporting AP (`ap_mac`) type: number delta_y: description: Y position relative to the reporting AP (`ap_mac`) type: number num_aps: description: num of aps that heard the ssid/bssid pair type: integer seen_on_lan: description: whether the reporting AP see a wireless client (on LAN) connecting to it type: boolean ssid: description: ssid of the network detected as threat type: string times_heard: description: represents number of times the pair was heard in the interval. Each count roughly corresponds to a minute. type: integer required: - ap_mac - avg_rssi - bssid - channel - num_aps title: insight_rogue_ap type: object minItems: 0 type: array uniqueItems: true start: type: integer required: - end - limit - results - start type: object description: OK InsightRogueClients: content: application/json: examples: example-1: value: end: 1428954000 limit: 100 next: /api/v1/sites/a3eda150-ab3f-11e4-aa18-13e21dd250cc/rogues/clients?start=1498482000&end=1498485600&limit=10&interval=1h results: - annotation: whitelist ap_mac: 5c-5b-35-0e-02-1c avg_rssi: -63.9 band: '5' bssid: d8-97-ba-76-b5-aa client_mac: 34-f8-32-13-57-c2 num_aps: 2 start: 1428939600 schema: properties: end: type: integer limit: type: integer next: type: string results: items: properties: annotation: type: string ap_mac: type: string avg_rssi: type: number band: type: string bssid: type: string client_mac: type: string num_aps: type: integer required: - bssid - ap_mac - client_mac - num_aps - band - avg_rssi - annotation title: insight_rogue_client minItems: 1 type: array uniqueItems: true start: type: integer required: - start - end - limit - next - results type: object description: OK InstallerAlarmtemplates: content: application/json: examples: Example: value: - id: 684dfc5c-fe77-2290-eb1d-ef3d677fe168 name: AlarmTemplate 1 schema: items: $ref: '#/components/schemas/installer_list' type: array description: Installer List of Alarm Templates InstallerDeviceProfiles: content: application/json: examples: Example: value: - id: 6f4bf402-45f9-2a56-6c8b-7f83d3bc98e9 name: DeviceProfile 1 schema: items: $ref: '#/components/schemas/installer_list' type: array description: Installer List of Device Profiles InstallerDevicesArray: content: application/json: examples: Example: value: - connected: true deviceprofile_name: SJ1 height: 2.7 mac: 5c5b35000018 map_id: 845a23bf-bed9-e43c-4c86-6fa474be7ae5 model: AP41 name: hallway orientation: 90 serial: FXLH2015150025 site_name: SJ1 x: 150 y: 300 schema: items: $ref: '#/components/schemas/installer_device' type: array description: List of Devices Recently Claimed InstallerRftemplatesArray: content: application/json: examples: Example: value: - id: bb8a9017-1e36-5d6c-6f2b-551abe8a76a2 name: RFTemplate 1 schema: items: $ref: '#/components/schemas/installer_list' type: array description: Installer List of RF Templates InstallerSecpoliciesArray: content: application/json: examples: Example: value: - id: 3bcd0beb-5d0a-4cbd-92c1-14aea91e98ef name: SecuPolicy 1 schema: items: $ref: '#/components/schemas/installer_list' type: array description: Installer List of Security Policies InstallerSitegroupsArray: content: application/json: examples: Example: value: - id: 581328b6-e382-f54e-c9dc-999983183a34 name: SiteGroup 1 schema: items: $ref: '#/components/schemas/installer_list' type: array description: Installer List of Site Groups InstallerSitesArray: content: application/json: examples: Example: value: - address: 1601 S. Deanza Blvd., Cupertino, CA, 95014 country_code: US id: 4ac1dcf4-9d8b-7211-65c4-057819f0862b latlng: lat: 37.295833 lng: -122.032946 name: Mist Office rftemplate_name: rftemplate1 sitegroup_names: - sg1 - sg2 timezone: America/Los_Angeles schema: items: $ref: '#/components/schemas/installer_site' type: array description: List of Sites InviteVerifyNotFound: content: application/json: examples: invalid-secret: value: detail: invalid secret invite-created-by-self: value: detail: invite created by self schema: properties: detail: type: string type: object description: Not Found JseInfo: content: application/json: examples: Example: value: cloud_name: devcentral.juniperclouds.net org_names: - Mist-Sys - Mist-Eng schema: properties: cloud_name: type: string org_names: items: type: string type: array type: object description: Example response JsiDevices: content: application/json: examples: example-1: value: - ext_ip: 73.92.124.103 last_seen: 1654636867 mac: c15353123096 model: EX2300-C-12P serial: DGCOO0015 schema: items: properties: ext_ip: description: when available type: string last_seen: type: integer mac: type: string model: type: string serial: type: string type: object type: array description: OK JsiInventory: content: application/json: examples: example-1: value: - contract_end_time: 1708214400 contract_id: '68247710' contract_sku: PAR-SDCE-EX4300T48 contract_start_time: 1629331200 customer_po: '4501942932' distributor: dist1 eol_time: 1671062400 eos_time: 1828828800 installed_address: Address model: EX4300-48T order_id: '15909647' reseller: reseller1 serial: PE3721050223 sku: EX4300-48T-AFI type: switch warranty_end_time: 2258236800 warranty_start_time: 1619395200 warranty_type: Enhanced Hardware Warranty schema: items: properties: contract_end_time: type: integer contract_id: type: string contract_sku: type: string contract_start_time: type: integer contract_type: description: Contract type (Maintenance / Subscription / Premium / Gov AdvCare / Gov TAC / High Sec / AdvCare / Gov Premium) type: string customer_po: description: po number associated with this SKU type: string distributor: description: distributor name type: string eol_time: description: end of life time type: integer eos_time: description: end of support time type: integer installed_address: description: address where the device is installed. It is a combination of address , region , country , zip type: string model: description: model of the install base inventory type: string order_id: description: order ID associated with this SKU type: string reseller: description: reseller name type: string serial: description: serial Number of the inventory type: string shipped_time: description: Shipped date type: number sku: description: serviceable device stock type: string type: enum: - ap - switch - gateway type: string warranty_end_time: type: integer warranty_start_time: type: integer warranty_type: type: string type: object type: array description: OK JsiInventoryError: content: application/json: examples: no-juniper-account-linked: value: detail: no-juniper-account-linked schema: properties: detail: type: string type: object description: Bad Requeno Juniper Account Linkedst JsiShellSession: content: application/json: examples: example-1: value: session: 19e73828-937f-05e6-f709-e29efdb0a82b url: wss://api-ws.mist.com/ssh?jwt=xxxx schema: properties: session: type: string url: type: string type: object description: OK JuniperLinkAccountFailed: content: application/json: examples: example-1: value: detail: Account[ABC Corp] already linked schema: properties: detail: type: string type: object description: account already linked JuniperLinkAccountSuccess: content: application/json: examples: Example: value: account: linked_by: John Smith (john@abccorp.com) name: ABC Corp schema: $ref: '#/components/schemas/account_juniper_info' description: account linked JunosRegisterCmd: content: application/json: examples: example-1: value: cmd: 'set system services ssh... ... set system services outbound-ssh client mist ...' schema: properties: cmd: type: string required: - cmd type: object description: OK Licence: content: application/json: examples: example-1: value: amendments: - created_time: 1644684842 end_time: 1744156799 id: ff0a14f6-1234-5678-90ab-c8e64d4bc6c6 modified_time: 1644684842 quantity: -1 start_time: 1632873600 subscription_id: VNA-000000af type: SUB-VNA - created_time: 1644684842 end_time: 1744156799 id: c1c28812-1234-5678-90ab-dc95680da61e modified_time: 1644684842 quantity: -1 start_time: 1632873600 subscription_id: MAN-000008be type: SUB-MAN - created_time: 1644684842 end_time: 1744243199 id: 96c0a41f-1234-5678-90ab-afe74817e9fd modified_time: 1644684842 quantity: -1 start_time: 1586476800 subscription_id: EX24-000000bc type: SUB-EX24 entitled: SUB-ENG: 26 SUB-EX24: 9 SUB-MAN: 26 SUB-VNA: 26 licenses: - created_time: 1555353534 end_time: 1586822399 id: 693a41a6-1234-5678-90ab-f53dbd3a31c0 modified_time: 1555353534 order_id: '00000000' org_id: 9777c1a0-1234-5678-90ab-02e208b2d34f quantity: 2 remaining_quantity: 0 start_time: 1555286400 subscription_id: VNA-000000aa type: SUB-VNA - created_time: 1576132516 end_time: 1586822399 id: 656607cf-1234-5678-90ab-fc9035614ea5 modified_time: 1576132516 order_id: '00000000' org_id: 9777c1a0-1234-5678-90ab-02e208b2d34f quantity: 8 remaining_quantity: 0 start_time: 1576022400 subscription_id: VNA-000000ab type: SUB-VNA - created_time: 1579204568 end_time: 1730764800 id: db50d0bc-1234-5678-90ab-e439958cb06b modified_time: 1579204568 order_id: '00000000' org_id: 9777c1a0-1234-5678-90ab-02e208b2d34f quantity: 2 remaining_quantity: 2 start_time: 1572998400 subscription_id: MAN-000000ac type: SUB-MAN - created_time: 1579204568 end_time: 1730764800 id: 2ff9e84a-1234-5678-90ab-fb9ec0726e01 modified_time: 1579204568 order_id: '00000000' org_id: 9777c1a0-1234-5678-90ab-02e208b2d34f quantity: 2 remaining_quantity: 2 start_time: 1572998400 subscription_id: ENG-000000ad type: SUB-ENG - created_time: 1579204568 end_time: 1730764800 id: 16df7ea6-1234-5678-90ab-78018cd4024d modified_time: 1579204568 order_id: '00000000' org_id: 9777c1a0-1234-5678-90ab-02e208b2d34f quantity: 2 remaining_quantity: 2 start_time: 1572998400 subscription_id: VNA-000000ae type: SUB-VNA - created_time: 1586237081 end_time: 1744243199 id: 1b6f68d5-1234-5678-90ab-70d3e6d18c73 modified_time: 1586237081 order_id: '00000000' org_id: 9777c1a0-1234-5678-90ab-02e208b2d34f quantity: 14 remaining_quantity: 14 start_time: 1586563200 subscription_id: VNA-000000af type: SUB-VNA - created_time: 1586237097 end_time: 1744243199 id: 1375c9bf-1234-5678-90ab-9c636708c89e modified_time: 1586237097 order_id: '00000000' org_id: 9777c1a0-1234-5678-90ab-02e208b2d34f quantity: 14 remaining_quantity: 14 start_time: 1586563200 subscription_id: MAN-000000ba type: SUB-MAN - created_time: 1586237137 end_time: 1744243199 id: 5974e979-1234-5678-90ab-438f833ec1c9 modified_time: 1586237137 order_id: '00000000' org_id: 9777c1a0-1234-5678-90ab-02e208b2d34f quantity: 14 remaining_quantity: 14 start_time: 1586563200 subscription_id: ENG-000000bb type: SUB-ENG - created_time: 1629947267 end_time: 1744243199 id: 340a9cb3-1234-5678-90ab-b009344dbf3c modified_time: 1629947267 order_id: '00000000' org_id: 9777c1a0-1234-5678-90ab-02e208b2d34f quantity: 10 remaining_quantity: 9 start_time: 1586476800 subscription_id: EX24-000000bc type: SUB-EX24 - created_time: 1632941870 end_time: 1744156799 id: 9b599b0f-1234-5678-90ab-406081b58e7f modified_time: 1632941870 order_id: '00000000' org_id: 9777c1a0-1234-5678-90ab-02e208b2d34f quantity: 10 remaining_quantity: 10 start_time: 1632873600 subscription_id: ENG-000000bd type: SUB-ENG - created_time: 1632941882 end_time: 1744156799 id: d6d8ead3-1234-5678-90ab-98badeac7287 modified_time: 1632941882 order_id: '00000000' org_id: 9777c1a0-1234-5678-90ab-02e208b2d34f quantity: 11 remaining_quantity: 9 start_time: 1632873600 subscription_id: MAN-000008be type: SUB-MAN summary: SUB-ENG: 18 SUB-EX24: 3 SUB-MAN: 22 SUB-VNA: 20 schema: $ref: '#/components/schemas/license' description: OK LicenceUsage: content: application/json: examples: example-1: value: - fully_loaded: SUB-LOC: 30 SUB-MAN: 80 num_devices: 80 site_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862b usages: SUB-LOC: 30 SUB-MAN: 60 schema: items: properties: for_site: readOnly: true type: boolean fully_loaded: additionalProperties: readOnly: true type: integer description: Property key is the service name (e.g. "SUB-MAN") readOnly: true type: object num_devices: readOnly: true type: integer site_id: $ref: '#/components/schemas/site_id' usages: additionalProperties: readOnly: true type: integer description: subscriptions and their quantities. Property key is the service name (e.g. "SUB-MAN") readOnly: true type: object required: - num_devices - site_id - usages type: object minItems: 1 type: array uniqueItems: true description: OK LocationCoverage: content: application/json: examples: example-1: value: beams_means: - - 1 - 3 - 3.2 - - 6 - 10 - 6.5 end: 1428954000 gridsize: 1 result_def: - x - y - beams_mean - beacons_mean - max_rssi - avg_rssi results: - - 1 - 3 - 3.2 - 18.5 - -68 - -70 - - 6 - 10 - 6.5 - 30 - 1 - -72.5 - -75 start: 1428939600 schema: properties: beams_means: description: list of [x, y, mean]s, x/y are in meters (UI would need to use map.ppm to calulate the pixel location from top-left). items: items: type: number type: array type: array end: type: integer gridsize: description: the size of grid, in meter type: number result_def: description: list of names annotating the fields in results items: type: string type: array results: description: list of results, see result_def. items: items: type: number type: array type: array start: type: integer required: - start - end - beams_means - gridsize - result_def - results type: object description: OK LoginFailure: content: application/json: examples: example-1: value: detail: sso admin login needs to be initiated by IdP forward_url: https://my.sso/idp_sso_url schema: oneOf: - properties: detail: type: string forward_url: type: string required: - detail type: object description: Login Failed LoginLookup: content: application/json: examples: SSO-user-exists: value: sso_url: https://my.sso/idp_sso_url local-user-exists: value: {} schema: properties: sso_url: type: string type: object description: account exists LoginOauthUrl: content: application/json: examples: example-1: value: authorization_url: https://accounts.google.com/o/oauth2/v2/auth?..... client_id: 173131512-mpbnju32.apps.googleusercontent.com schema: properties: authorization_url: type: string client_id: type: string required: - client_id - authorization_url type: object description: OK LoginSuccess: content: application/json: examples: 2FA-required: value: email: test@mistsys.com two_factor_passed: false two_factor_required: true OK: value: {} schema: properties: email: type: string two_factor_passed: type: boolean two_factor_required: type: boolean type: object description: Login Success headers: Set-Cookie: description: Session Cookie if login/password authentication is successful schema: example: csrftoken=vwvBuq9qkqaKh7lu8tNc0gkvBfEaLAmx; expires=Tue, 15-Mar-2016 19:47:20 GMT; Max-Age=31449600; Path=/ type: string Logout: content: application/json: examples: example-1: value: forward_url: https://my.sso/custom_logout_url schema: properties: forward_url: description: if configured in SSO as custom_logout_url type: string type: object description: OK LogsSearch: content: application/json: examples: example-1: value: end: 1428954000 limit: 100 results: - admin_id: 72bfa2bd-e58a-4670-9d20-a1468f7a6f58 admin_name: test@mistsys.com id: c6f9347b-b0a4-4a23-b927-fa9249f2ffb2 message: TEST AUDIT org_id: 469f6eca-6276-4993-bfeb-53cbbbba6f58 site_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862b timestamp: 1431382121 start: 1428939600 total: 135 schema: properties: end: type: integer limit: type: integer next: type: string results: items: properties: admin_id: description: admin id format: uuid nullable: true readOnly: true type: string admin_name: description: name of the admin that performs the action nullable: true readOnly: true type: string after: description: field values after the change readOnly: true type: object before: description: field values prior to the change readOnly: true type: object for_site: readOnly: true type: boolean id: format: uuid readOnly: true type: string message: description: log message readOnly: true type: string org_id: description: org id format: uuid readOnly: true type: string site_id: $ref: '#/components/schemas/site_id' timestamp: description: start time, in epoch readOnly: true type: number required: - admin_id - admin_name - message - org_id - site_id - timestamp title: log_entry type: object minItems: 1 type: array uniqueItems: true start: type: integer total: type: integer required: - end - limit - results - start - total type: object description: OK MacsArray: content: application/json: examples: example-1: value: macs: - 18-65-90-de-f4-c6 - 84-89-ad-5d-69-0d schema: properties: macs: items: type: string type: array type: object description: OK Map: content: application/json: schema: $ref: '#/components/schemas/map' description: OK MapImport: content: application/json: examples: example-assigned_and_placed: value: aps: - action: assigned-placed floorplan_id: 6f4bf402-45f9-2a56-6c8b-7f83d3bc98e9 height: 3 mac: 5c5b35000001 map_id: 845a23bf-bed9-e43c-4c86-6fa474be7ae5 orientation: 45 floorplans: - action: imported id: cbdb7f0b-3be0-4872-88f9-58790b509c23 map_id: 845a23bf-bed9-e43c-4c86-6fa474be7ae5 name: map1 site_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862b summary: num_ap_assigned: 1 num_inv_assigned: 1 num_map_assigned: 1 example-assigned_named_and_placed: value: aps: - action: assigned-named-placed floorplan_id: 6f4bf402-45f9-2a56-6c8b-7f83d3bc98e9 mac: 5c5b35000001 map_id: 845a23bf-bed9-e43c-4c86-6fa474be7ae5 orientation: 45 floorplans: - action: imported id: cbdb7f0b-3be0-4872-88f9-58790b509c23 map_id: 845a23bf-bed9-e43c-4c86-6fa474be7ae5 name: map1 site_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862b summary: num_ap_assigned: 1 num_inv_assigned: 1 num_map_assigned: 1 example-placed: value: aps: - action: placed floorplan_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 height: 3 mac: 5c5b35000001 map_id: 845a23bf-bed9-e43c-4c86-6fa474be7ae5 orientation: 45 floorplans: - action: imported id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 map_id: 845a23bf-bed9-e43c-4c86-6fa474be7ae5 name: map1 site_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862b summary: num_ap_assigned: 1 num_inv_assigned: 1 num_map_assigned: 1 schema: properties: aps: items: properties: action: enum: - placed - assigned-placed - named-placed - assigned-named-placed - ignored title: map_import_result type: string floorplan_id: format: uuid type: string height: type: number mac: type: string map_id: format: uuid type: string orientation: type: number reason: type: string required: - mac - action - map_id - floorplan_id - orientation type: object minItems: 1 type: array uniqueItems: true floorplans: items: properties: action: type: string id: format: uuid type: string map_id: format: uuid type: string name: type: string reason: type: string required: - id - name - action - map_id type: object minItems: 1 type: array uniqueItems: true for_site: readOnly: true type: boolean site_id: $ref: '#/components/schemas/site_id' summary: properties: num_ap_assigned: type: integer num_inv_assigned: type: integer num_map_assigned: type: integer required: - num_ap_assigned - num_map_assigned - num_inv_assigned type: object required: - site_id - aps - floorplans - summary type: object description: OK MapsArray: content: application/json: examples: example-1: value: - created_time: 0 flags: {} height: 0 height_m: 0 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 latlng_br: lat: string lng: string latlng_tl: lat: string lng: string locked: true modified_time: 0 name: string occupancy_limit: 0 org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 orientation: 0 origin_x: 0 origin_y: 0 ppm: 0 site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 sitesurvey_path: - coordinate: string id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 name: string nodes: - edges: N2: string name: string position: x: 0 y: 0 thumbnail_url: string type: image url: string view: roadmap wall_path: coordinate: string nodes: - edges: N2: string name: string position: x: 0 y: 0 wayfinding: micello: account_key: string default_level_id: 0 map_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 snap_to_path: true wayfinding_path: coordinate: string nodes: - edges: N2: string name: string position: x: 0 y: 0 width: 0 width_m: 0 schema: items: $ref: '#/components/schemas/map' type: array description: OK Ml: content: application/json: examples: example-1: value: - current: Android: completed: 36 int: -6 level: 3 ple: -3 quality: '4' src: device timestamp: 1442854794 iOS: completed: 16 int: -6 level: 6 ple: -3 quality: '2' src: default timestamp: 1442854704 iPod: int: -10 overwrite: true ple: -5 src: overwrite device_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 - beacon_id: 7913f032-aab4-c3ae-e83e-5a2756ef4d40 current: iOS: completed: 16 int: -6 level: 6 ple: -3 quality: last src: device timestamp: 1442854704 schema: items: type: object minItems: 1 type: array uniqueItems: true description: OK MobileVerifySecret: content: application/json: examples: example-1: value: name: Macy's org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 secret: device-specific-secret schema: properties: name: type: string org_id: format: uuid type: string secret: type: string required: - name - org_id - secret type: object description: OK Msp: content: application/json: examples: example-1: value: created_time: 0 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 modified_time: 0 name: string schema: $ref: '#/components/schemas/msp' description: OK MspInventoryDevice: content: application/json: examples: example-1: value: mac: 5c5b35000018 model: AP200 org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 serial: FXLH2015150025 site_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862b type: ap schema: properties: for_site: readOnly: true type: boolean mac: readOnly: true type: string model: readOnly: true type: string org_id: format: uuid readOnly: true type: string serial: readOnly: true type: string site_id: $ref: '#/components/schemas/site_id' type: readOnly: true type: string required: - serial - model - type - mac - org_id - site_id type: object description: OK MxEdgeEventsSearch: content: application/json: examples: Example: value: end: 1694708579 limit: 10 page: 3 results: - mxcluster_id: 2815c917-58e7-472f-a190-bfd44fb58d05 mxedge_id: 00000000-0000-0000-1000-020000dc585c org_id: f2695c32-0e83-4936-b1b2-96fc88051213 service: tunterm timestamp: 1694678225.927 type: ME_SERVICE_STOPPED start: 1694622179 schema: properties: end: example: 1694708579 type: integer limit: example: 10 type: integer page: example: 3 type: integer results: items: $ref: '#/components/schemas/mxedge_event' type: array start: example: 1694622179 type: integer type: object description: Example response MxEdgeSearch: content: application/json: examples: Example: value: end: 1694708579 limit: 10 results: - distro: buster last_seen: 1695151551.833 model: ME-X5 mxedge_id: 00000000-0000-0000-1000-d420b0f0025d org_id: 35d96b1a-1a13-4ba8-90f5-1e78dd2a10c5 tunterm_version: 0.1.2813 uptime: 5662632 start: 1694622179 total: 2 schema: properties: end: example: 1694708579 type: integer limit: example: 10 type: integer results: items: properties: distro: example: buster type: string last_seen: example: 1695151551.833 type: number model: example: ME-X5 type: string mxedge_id: example: 00000000-0000-0000-1000-d420b0f0025d type: string org_id: example: 35d96b1a-1a13-4ba8-90f5-1e78dd2a10c5 type: string tunterm_version: example: 0.1.2813 type: string uptime: example: 5662632 type: integer title: mxedge_search_item type: object type: array start: example: 1694622179 type: integer total: example: 2 type: integer type: object description: Example response MxEdgeUpgrade: content: application/json: schema: $ref: '#/components/schemas/mxedge_upgrade_response' description: Example response MxEdgeUpgradesArray: content: application/json: schema: items: $ref: '#/components/schemas/mxedge_upgrade_response' type: array description: Example response MxTunnelsPreemptAps: content: application/json: schema: properties: preempted_aps: items: type: string type: array required: - preempted_aps type: object description: OK Mxcluster: content: application/json: examples: example-1: value: created_time: 0 for_site: true id: 468f6eca-6276-4993-bfeb-53cbbbba6f68 modified_time: 0 name: string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b radsec: acct_servers: - host: string port: 1813 secret: string auth_servers: - host: string port: 1812 secret: string enabled: true server_selection: ordered radsec_tls: keypair: string site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 tunterm_ap_subnets: - string tunterm_dhcpd_config: enabled: false property1: enabled: false servers: - string type: relay property2: enabled: false servers: - string type: relay servers: - string type: relay tunterm_extra_routes: property1: via: string property2: via: string tunterm_hosts: - string tunterm_monitoring: - host: string port: 0 protocol: arp timeout: 300 schema: $ref: '#/components/schemas/mxcluster' description: OK MxclustersArray: content: application/json: examples: example-1: value: - created_time: 0 for_site: true id: 467f6eca-6276-4993-bfeb-53cbbbba6f78 modified_time: 0 name: string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b radsec: acct_servers: - host: string port: 1813 secret: string auth_servers: - host: string port: 1812 secret: string enabled: true server_selection: ordered radsec_tls: keypair: string site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 tunterm_ap_subnets: - string tunterm_dhcpd_config: enabled: false property1: enabled: false servers: - string type: relay property2: enabled: false servers: - string type: relay servers: - string type: relay tunterm_extra_routes: property1: via: string property2: via: string tunterm_hosts: - string tunterm_monitoring: - host: string port: 0 protocol: arp timeout: 300 schema: items: $ref: '#/components/schemas/mxcluster' type: array description: OK Mxedge: content: application/json: examples: example-1: value: id: 95ddd29a-6a3c-929e-a431-51a5b09f36a6 magic: L-NpT5gi-ADR8WTFd4EiQPY3cP5WdSoD model: ME-100 mxagent_registered: true mxcluster_id: 572586b7-f97b-a22b-526c-8b97a3f609c4 mxedge_mgmt: mist_password: MIST_PASSWORD root_password: ROOT_PASSWORD name: Guest ntp_servers: [] oob_ip_config: dns: - 8.8.8.8 - 4.4.4.4 gateway: 10.2.1.254 ip: 10.2.1.10 netmask: 255.255.255.0 type: static tunterm_dhcpd_config: '2': enabled: true servers: - 11.2.3.44 enabled: false servers: - 11.2.3.4 tunterm_extra_routes: 11.0.0.0/8: via: 10.3.3.1 tunterm_ip_config: dns: - 8.8.8.8 dns_suffix: - .mist.local gateway: 10.2.1.254 ip: 10.2.1.1 netmask: 255.255.255.0 tunterm_monitoring: - host: 10.2.8.15 port: 80 protocol: ping timeout: 300 tunterm_other_ip_configs: '5': ip: 10.3.3.1 netmask: 255.255.255.0 tunterm_port_config: downstream_ports: - '3' separate_upstream_downstream: true upstream_port_vlan_id: 30 upstream_ports: - '0' - '1' - '2' tunterm_registered: true tunterm_switch_config: '0': port_vlan_id: 1 vlan_ids: - 1 - 3055 enabled: true schema: $ref: '#/components/schemas/mxedge' description: OK MxedgeStats: content: application/json: examples: Example: value: cpu_stat: cpus: cpu0: idle: 89 interrupt: 0 system: 8 usage: 10 user: 1 cpu1: idle: 81 interrupt: 0 system: 4 usage: 18 user: 13 cpu2: idle: 81 interrupt: 0 system: 4 usage: 18 user: 13 cpu3: idle: 2 interrupt: 0 system: 50 usage: 97 user: 46 idle: 62 interrupt: 0 system: 17 usage: 37 user: 19 created_time: 1632684398 for_site: false id: 00000000-0000-0000-1000-020000a80cb4 ip_stat: ip: 192.168.1.244 ips: ens18: 192.168.1.244/24,fe80::104c:ffff:fee0:caf8/64 macs: ens18: e4434b217044 lag_stat: lacp0: active_ports: - port0 - port1 last_seen: 1633721215 mac: 020000a80cb4 memory_stat: active: 394936320 available: 4699291648 buffers: 107646976 cached: 478060544 free: 4330659840 inactive: 211980288 swap_cached: 0 swap_free: 1022357504 swap_total: 1022357504 total: 8365957120 usage: 48 model: ME-VM modified_time: 1633643629 mxagent_registered: true mxcluster_id: 678bc339-7635-4556-bbc0-e77ad493ef8b name: me-vm-1 num_tunnels: 0 oob_ip_config: dns: - 8.8.8.8 - 1.1.1.1 gateway: 10.0.0.1 ip: 10.0.0.10 netmask: 255.255.255.0 type: static org_id: 11b08247-b1ee-4152-9b25-312b323ce480 port_stat: port0: full_duplex: true mac: 9e294e49091d rx_bytes: 646898375700 rx_errors: 0 rx_pkts: 8784449574 speed: 10000 state: forwarding tx_bytes: 647200748038 tx_errors: 0 tx_pkts: 8788647466 up: true port1: full_duplex: true mac: a270fe53437e rx_bytes: 647200437652 rx_errors: 0 rx_pkts: 8788644886 speed: 10000 state: forwarding tx_bytes: 646898681650 tx_errors: 0 tx_pkts: 8784452092 up: true sensor_stat: {} serial: string service_stat: mxagent: ext_ip: 99.0.86.164 last_seen: 1633721215 package_state: Installed package_version: 3.1.1037-1 running_state: Running uptime: 21240 tunterm: ext_ip: 99.0.86.164 last_seen: 1633721203 package_state: Installed package_version: 0.1.2449+deb10 running_state: Running uptime: 76261 services: - tunterm site_id: 00000000-0000-0000-0000-000000000000 status: connected tunterm_ip_config: gateway: 192.168.11.1 ip: 192.168.11.91 netmask: 255.255.255.0 tunterm_port_config: downstream_ports: - '0' - '1' separate_upstream_downstream: false upstream_ports: - '0' - '1' tunterm_registered: true tunterm_stat: monitoring_failed: false uptime: 76281 virtualization_type: KVM schema: $ref: '#/components/schemas/mxedge_stats' description: MxEdge Stats MxedgeStatsArray: content: application/json: examples: Example: value: - cpu_stat: cpus: cpu0: idle: 89 interrupt: 0 system: 8 usage: 10 user: 1 cpu1: idle: 81 interrupt: 0 system: 4 usage: 18 user: 13 cpu2: idle: 81 interrupt: 0 system: 4 usage: 18 user: 13 cpu3: idle: 2 interrupt: 0 system: 50 usage: 97 user: 46 idle: 62 interrupt: 0 system: 17 usage: 37 user: 19 created_time: 1632684398 for_site: false id: 00000000-0000-0000-1000-020000a80cb4 ip_stat: ip: 192.168.1.244 ips: ens18: 192.168.1.244/24,fe80::104c:ffff:fee0:caf8/64 macs: ens18: e4434b217044 lag_stat: lacp0: active_ports: - port0 - port1 last_seen: 1633721215 mac: 020000a80cb4 memory_stat: active: 394936320 available: 4699291648 buffers: 107646976 cached: 478060544 free: 4330659840 inactive: 211980288 swap_cached: 0 swap_free: 1022357504 swap_total: 1022357504 total: 8365957120 usage: 48 model: ME-VM modified_time: 1633643629 mxagent_registered: true mxcluster_id: 678bc339-7635-4556-bbc0-e77ad493ef8b name: me-vm-1 num_tunnels: 0 oob_ip_config: dns: - 8.8.8.8 - 1.1.1.1 gateway: 10.0.0.1 ip: 10.0.0.10 netmask: 255.255.255.0 type: static org_id: 11b08247-b1ee-4152-9b25-312b323ce480 port_stat: port0: full_duplex: true mac: 9e294e49091d rx_bytes: 646898375700 rx_errors: 0 rx_pkts: 8784449574 speed: 10000 state: forwarding tx_bytes: 647200748038 tx_errors: 0 tx_pkts: 8788647466 up: true port1: full_duplex: true mac: a270fe53437e rx_bytes: 647200437652 rx_errors: 0 rx_pkts: 8788644886 speed: 10000 state: forwarding tx_bytes: 646898681650 tx_errors: 0 tx_pkts: 8784452092 up: true sensor_stat: {} serial: string service_stat: mxagent: ext_ip: 99.0.86.164 last_seen: 1633721215 package_state: Installed package_version: 3.1.1037-1 running_state: Running uptime: 21240 tunterm: ext_ip: 99.0.86.164 last_seen: 1633721203 package_state: Installed package_version: 0.1.2449+deb10 running_state: Running uptime: 76261 services: - tunterm site_id: 00000000-0000-0000-0000-000000000000 status: connected tunterm_ip_config: gateway: 192.168.11.1 ip: 192.168.11.91 netmask: 255.255.255.0 tunterm_port_config: downstream_ports: - '0' - '1' separate_upstream_downstream: false upstream_ports: - '0' - '1' tunterm_registered: true tunterm_stat: monitoring_failed: false uptime: 76281 virtualization_type: KVM schema: items: $ref: '#/components/schemas/mxedge_stats' type: array description: List of MxEdge Stats MxedgeUpgradeInfo: content: application/json: examples: example-1: value: - default: true package: mxagent version: 2.4.100 - package: tunterm version: 1.0.0 schema: items: properties: default: type: boolean package: type: string version: type: string required: - package - version type: object minItems: 1 type: array uniqueItems: true description: OK MxedgesArray: content: application/json: examples: example-1: value: - cpu_stat: cpus: cpu0: idle: 79 interrupt: 0 system: 4 usage: 20 user: 16 cpu1: idle: 93 interrupt: 0 system: 4 usage: 6 user: 1 idle: 87 interrupt: 0 system: 5 usage: 12 user: 7 ext_ip: 116.187.144.16 id: 387804a7-3474-85ce-15a2-f9a9684c9c90 ip_stat: ip: 172.16.5.3 ips: ens192: 172.16.5.3/24,fe81::20c:29ff:fef8:d18e/64 lag_stat: lag0: active_ports: - '0' - '1' last_seen: 1547437078 magic: ExNpT5gi-ADR8WTFd4EiQPY3cP5WdSoD memory_stats: active: 1061085184 available: 4124860416 buffers: 789495808 cached: 718016512 free: 2818838528 inactive: 458158080 swap_cached: 0 swap_free: 8161062912 swap_total: 8161062912 total: 7947616256 usage: 65 model: ME-S2019 mxagent_registered: false mxcluster_id: 572586b7-f97b-a22b-526c-8b97a3f609c4 name: Guest num_tunnels: 31 port_stat: eth0: full_duplex: true lldp_stats: mgmt_addr: 122.16.3.11 port_desc: GigabitEthernet4/0/16 port_id: "\x05Gi4/0/16" system_desc: Cisco IOS Software system_name: ME-DC2-DIS-SW rx_bytes: 2056 rx_errors: 0 rx_pkts: 670 speed: 1000 tx_bytes: 2056 tx_pkts: 670 up: true eth1: up: false module: up: false status: connected tunterm_registered: false tunterm_stat: monitoring_failed: false uptime: 884221 version: 0.1.2 virtualization_type: VirtualizationVMware schema: items: $ref: '#/components/schemas/mxedge' type: array description: OK MxedgesArrayStats: content: application/json: examples: example-1: value: - cpu_stat: cpus: property1: idle: 0 interrupt: 0 system: 0 usage: 0 user: 0 property2: idle: 0 interrupt: 0 system: 0 usage: 0 user: 0 idle: 0 interrupt: 0 system: 0 usage: 0 user: 0 ext_ip: string id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 ip_stat: ip: string ips: property1: string property2: string lag_stat: property1: active_ports: - string property2: active_ports: - string last_seen: 0 magic: string memory_stats: active: 0 available: 0 buffers: 0 cached: 0 free: 0 inactive: 0 swap_cached: 0 swap_free: 0 swap_total: 0 total: 0 usage: 0 model: string mxagent_registered: true mxcluster_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 name: string num_tunnels: 0 port_stat: property1: full_duplex: true lldp_stats: mgmt_addr: string port_desc: string port_id: string system_desc: string system_name: string rx_bytes: 0 rx_errors: 0 rx_pkts: 0 speed: 0 tx_bytes: 0 tx_pkts: 0 up: true property2: full_duplex: true lldp_stats: mgmt_addr: string port_desc: string port_id: string system_desc: string system_name: string rx_bytes: 0 rx_errors: 0 rx_pkts: 0 speed: 0 tx_bytes: 0 tx_pkts: 0 up: true status: string tunterm_registered: true tunterm_stat: monitoring_failed: true uptime: 0 version: string virtualization_type: string schema: items: $ref: '#/components/schemas/mxedge_stats' type: array description: OK Mxtunnel: content: application/json: examples: example-1: value: cluster_ids: - string created_time: 0 for_site: true hello_interval: 60 hello_retries: 7 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 ipsec: dns_servers: - string enabled: true extra_routes: - dest: string next_hop: 192.168.0.1 split_tunnel: true use_mxedge: true modified_time: 0 org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 vlan_ids: - 0 schema: $ref: '#/components/schemas/mxtunnel' description: OK MxtunnelsArray: content: application/json: examples: example-1: value: - hello_interval: 60 hello_retries: 3 ipsec: dns_servers: - 172.16.0.8 enabled: true extra_routes: - dest: 172.16.0.0/12 next_hop: 172.16.0.1 split_tunnel: true mxcluster_ids: - 572586b7-f97b-a22b-526c-8b97a3f609c4 name: HQ protocol: udp vlan_ids: - 3 - 4 - 5 schema: items: $ref: '#/components/schemas/mxtunnel' type: array description: OK NacCrlFile: content: application/json: schema: $ref: '#/components/schemas/nac_crl_file' description: Example response NacCrlFilesArray: content: application/json: schema: properties: results: $ref: '#/components/schemas/nac_crl_files' type: object description: Example response NacPortal: content: application/json: examples: Example: value: access_type: wireless cert_expire_time: 365 enable_telemetry: 'true' expiry_notification_time: 2 name: get-wifi notify_expiry: 'true' ssid: Corp sso: idp_cert: '-----BEGIN CERTIFICATE----- MIIFZjCCA06gAwIBAgIIP61/1qm/uDowDQYJKoZIhvcNAQELBQE -----END CERTIFICATE-----' idp_sign_algo: sha256 idp_sso_url: https://yourorg.onelogin.com/trust/saml2/http-post/sso/138130 issuer: https://app.onelogin.com/saml/metadata/138130 nameid_format: email sso_role_matching: - assigned: user match: Student use_sso_role_for_cert: 'true' schema: $ref: '#/components/schemas/nac_portal' NacPortalArray: content: application/json: examples: Example: value: - access_type: wireless cert_expire_time: 365 enable_telemetry: 'true' expiry_notification_time: 2 name: get-wifi notify_expiry: 'true' ssid: Corp sso: idp_cert: '-----BEGIN CERTIFICATE----- MIIFZjCCA06gAwIBAgIIP61/1qm/uDowDQYJKoZIhvcNAQELBQE -----END CERTIFICATE-----' idp_sign_algo: sha256 idp_sso_url: https://yourorg.onelogin.com/trust/saml2/http-post/sso/138130 issuer: https://app.onelogin.com/saml/metadata/138130 nameid_format: email sso_role_matching: - assigned: user match: Student use_sso_role_for_cert: 'true' schema: $ref: '#/components/schemas/nac_portal_array' NacRule: content: application/json: schema: $ref: '#/components/schemas/nac_rule' description: Example response NacRulesArray: content: application/json: examples: example-1: value: - action: allow apply_tags: - string created_time: 0 id: 455f6eca-6276-4993-bfeb-53cbbbba6208 matching: auth_type: eap-tls nactags: - string port_types: - wireless site_ids: - 454f6eca-6276-4993-bfeb-53cbbbba6308 sitegroup_ids: - 453f6eca-6276-4993-bfeb-53cbbbba6408 modified_time: 0 name: string not_matching: auth_type: eap-tls nactags: - string port_types: - wireless site_ids: - 452f6eca-6276-4993-bfeb-53cbbbba6508 sitegroup_ids: - 451f6eca-6276-4993-bfeb-53cbbbba6608 order: 1 org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b schema: items: $ref: '#/components/schemas/nac_rule' type: array description: Example response NacTag: content: application/json: examples: client_mac: value: match: client_mac name: cameras type: match values: - '010203040506' - abcdef* egress_vlan_names: value: egress_vlan_names: - 1vlan-30 - 1vlan-20 - 2vlan10 name: trunk_ap type: egress_vlan_names matches_cert_cn: value: match: cert_cn name: staff type: match values: - john - staff* matches_cert_issuer: value: match: cert_issuer name: issuer1 type: match values: - /C=CN/ST=defy/L=defy/O=defy/OU=defy/CN=defy matches_cert_san: value: match: cert_san name: san1 type: match values: - henry1@defy.com matches_cert_serial: value: match: cert_serial name: serial1 type: match values: - 6a524ab782fb468c00c59f51cff00268d95533b8 matches_cert_sub: value: match: cert_sub name: subject1 type: match values: - /C=CN/ST=defy/O=defy/OU=defy/CN=steve matches_radius_group: value: name: VIP_group radius_group: VIP type: radius_group matches_realm: value: match: realm name: defy type: match values: - defy.com matches_role: value: match: idp_role name: VIP type: match values: - vip matches_username: value: match: user_name name: admins type: match values: - bob - steve matches_vlan: value: name: guest_vlan type: vlan vlan: '30' radius_attrs: value: name: custom_attrs radius_attrs: - Idle-Timeout=600 - Termination-Action=RADIUS-Request type: radius_attrs radius_vendor_attrs: value: name: custom_radius_vendor_attrs radius_vendor_attrs: - PaloAlto-Admin-Role=superuser - PaloAlto-Panorama-Admin-Role=administrator type: radius_vendor_attrs session_timeout: value: name: timeout session_timeout: 86400 type: session_timeout schema: $ref: '#/components/schemas/nac_tag' description: Example response NacTagsArray: content: application/json: schema: items: $ref: '#/components/schemas/nac_tag' type: array description: Example response Network: content: application/json: examples: Example: value: created_time: 0 disallow_mist_services: false gateway: 192.168.70.1 hosts: property1: external_ips: 172.16.10.32-172.16.10.35 ips: 192.168.70.32-192.168.70.35 property2: external_ips: 172.16.10.32-172.16.10.35 ips: 192.168.70.32-192.168.70.35 id: 497f6eca-6276-4993-bfeb-53cbbbba6f12 internal_access: enabled: true internet_access: create_simple_service_policy: false destination_nat: property1: internal_ip: 192.168.70.30 name: web server port: 443 property2: internal_ip: 192.168.70.30 name: web server port: 443 enabled: true restricted: false static_nat: property1: internal_ip: 192.168.70.3 name: printer-1 property2: internal_ip: 192.168.70.3 name: printer-1 isolation: true modified_time: 0 name: string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b subnet: 192.168.70.0/24 tenants: property1: addresses: string property2: addresses: string vlan_id: 0 vpn_access: property1: allow_ping: true destination_nat: property1: name: web server port: 443 to: 192.168.70.5/30 property2: name: web server port: 443 to: 192.168.70.5/30 nat_pool: 172.16.0.0/26 routed: true source_nat: exteral_ip: 172.16.0.8/30 static_nat: property1: internal_ip: 192.168.70.3 name: pos-station-1 property2: internal_ip: 192.168.70.3 name: pos-station-1 summarized_subnet: 172.16.0.0/16 property2: allow_ping: true destination_nat: property1: name: web server port: 443 to: 192.168.70.5/30 property2: name: web server port: 443 to: 192.168.70.5/30 nat_pool: 172.16.0.0/26 routed: true source_nat: exteral_ip: 172.16.0.8/30 static_nat: property1: internal_ip: 192.168.70.3 name: pos-station-1 property2: internal_ip: 192.168.70.3 name: pos-station-1 summarized_subnet: 172.16.0.0/16 schema: $ref: '#/components/schemas/network' description: OK NetworksArray: content: application/json: examples: Example: value: - created_time: 0 disallow_mist_services: false gateway: 192.168.70.1 hosts: property1: external_ips: 172.16.10.32-172.16.10.35 ips: 192.168.70.32-192.168.70.35 property2: external_ips: 172.16.10.32-172.16.10.35 ips: 192.168.70.32-192.168.70.35 id: 497f6eca-6276-4993-bfeb-53cbbbba6f13 internal_access: enabled: true internet_access: create_simple_service_policy: false destination_nat: property1: internal_ip: 192.168.70.30 name: web server port: 443 property2: internal_ip: 192.168.70.30 name: web server port: 443 enabled: true restricted: false static_nat: property1: internal_ip: 192.168.70.3 name: printer-1 property2: internal_ip: 192.168.70.3 name: printer-1 isolation: true modified_time: 0 name: string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b subnet: 192.168.70.0/24 tenants: property1: addresses: string property2: addresses: string vlan_id: 0 vpn_access: property1: allow_ping: true destination_nat: property1: name: web server port: 443 to: 192.168.70.5/30 property2: name: web server port: 443 to: 192.168.70.5/30 nat_pool: 172.16.0.0/26 routed: true source_nat: exteral_ip: 172.16.0.8/30 static_nat: property1: internal_ip: 192.168.70.3 name: pos-station-1 property2: internal_ip: 192.168.70.3 name: pos-station-1 summarized_subnet: 172.16.0.0/16 property2: allow_ping: true destination_nat: property1: name: web server port: 443 to: 192.168.70.5/30 property2: name: web server port: 443 to: 192.168.70.5/30 nat_pool: 172.16.0.0/26 routed: true source_nat: exteral_ip: 172.16.0.8/30 static_nat: property1: internal_ip: 192.168.70.3 name: pos-station-1 property2: internal_ip: 192.168.70.3 name: pos-station-1 summarized_subnet: 172.16.0.0/16 schema: items: $ref: '#/components/schemas/network' type: array description: OK Networktemplate: content: application/json: examples: Example: value: additional_config_cmds: - set snmp community public created_time: 0 dhcp_snooping: all_networks: true enable_arp_spoof_check: true enable_ip_source_guard: true enabled: true networks: - string dns_servers: - string dns_suffix: - string extra_routes: property1: via: string property2: via: string group_tags: {} id: 497f6eca-6276-4993-bfeb-53cbbbba6708 import_org_networks: - ap mist_nac: enabled: true network: string modified_time: 0 name: string networks: property1: subnet: 192.168.1.0/24 vlan_id: 10 property2: subnet: 192.168.1.0/24 vlan_id: 10 ntp_servers: - string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b port_usages: dynamic: mode: dynamic reset_default_when: link_down rules: - equals: string equals_any: - string expression: string src: lldp_chassis_id usage: string property1: all_networks: false allow_dhcpd: true authentication_protocol: pap bypass_auth_when_server_down: true description: string disable_autoneg: false disabled: false duplex: auto enable_mac_auth: true enable_qos: true guest_network: string mac_auth_only: true mac_limit: 0 mode: access mtu: 0 networks: - string persist_mac: false poe_disabled: false port_auth: string port_network: string rejected_network: null speed: string storm_control: no_broadcast: false no_multicast: false no_registered_multicast: false no_unknown_unicast: false percentage: 80 stp_edge: true voip_network: string property2: all_networks: false allow_dhcpd: true authentication_protocol: pap bypass_auth_when_server_down: true description: string disable_autoneg: false disabled: false duplex: auto enable_mac_auth: true enable_qos: true guest_network: string mac_auth_only: true mac_limit: 0 mode: access mtu: 0 networks: - string persist_mac: false poe_disabled: false port_auth: string port_network: string rejected_network: null speed: string storm_control: no_broadcast: false no_multicast: false no_registered_multicast: false no_unknown_unicast: false percentage: 80 stp_edge: true voip_network: string radius_config: acct_interim_interval: 0 acct_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1813 secret: testing123 auth_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1812 secret: testing123 auth_servers_retries: 3 auth_servers_timeout: 5 coa_enabled: false coa_port: 3799 network: string source_ip: string remote_syslog: archive: files: 111 size: 5m console: contents: - facility: any severity: any enabled: false files: - archive: files: 10 size: 5m contents: - facility: any severity: any explicit_priority: true file: file-name match: '!alarm|ntp|errors.crc_error[chan]' structured_data: true network: string send_to_all_servers: true servers: - contents: - facility: any severity: any explicit_priority: true facility: any host: syslogd.internal match: '!alarm|ntp|errors.crc_error[chan]' port: 514 protocol: udp routing_instance: routing-instance-name severity: any source_address: string structured_data: true tag: string time_format: millisecond users: - contents: - facility: any severity: any match: '"!alarm|ntp|errors.crc_error[chan]"' user: '*' snmp_config: client_list: - client_list_name: clist-1 clients: - 151.140.101.218/32 contact: cns@juniper.net description: Juniper QFX Series Switch - 1K_5LA enabled: true engine_id: local location: Las Vegas, NV name: TGH-1K-QFX10K network: default trap_groups: - categories: - authentication group_name: profiler targets: - 172.29.158.19 version: v2 v2c_config: - authorization: read-only client_list_name: clist-1 community_name: abc123 view: all v3_config: notify: - name: string tag: string type: trap notify_filter: - contents: - include: true oid: 1.3.6.1.4.1 profile_name: string target_address: - address: address address_mask: address_mask port: 161 tag_list: string target_address_name: target_address_name target_parameters: string target_parameters: - message_processing_model: v1 name: string notify_filter: string security_level: authentication security_model: usm security_name: m01620 usm: engine-id: 00:00:00:0b:00:00:70:10:6f:08:b6:3f engine_type: remote_engine users: - authentication_password: strings authentication_type: authentication-md5 encryption_password: stringst encryption_type: privacy-aes128 name: string vacm: access: - group_name: string prefix_list: - context_prefix: iil notify_view: all read_view: all security_level: privacy security_model: any type: default_context_prefix write_view: all security_to_group: content: - group: string security_name: string security_model: usm views: include: true oid: 1.3.6.1 view_name: all switch_matching: enable: true rules: - additional_config_cmds: - set snmp community public match_role: string name: string port_config: property1: ae_disable_lacp: true ae_idx: 0 aggregated: false critical: true description: string disable_autoneg: false duplex: auto dynamic_usage: string esilag: true mtu: 1514 no_local_overwrite: true poe_disabled: false speed: auto usage: string property2: ae_disable_lacp: true ae_idx: 0 aggregated: false critical: true description: string disable_autoneg: false duplex: auto dynamic_usage: string esilag: true mtu: 1514 no_local_overwrite: true poe_disabled: false speed: auto usage: string property1: string property2: string switch_mgmt: ap_affinity_threshold: '10' config_revert_timer: 10 dhcp_option_fqdn: false mxedge_proxy_host: string mxedge_proxy_port: 2222 use_mxedge_proxy: false switch_mgmt: config_revert: 10 protect_re: enabled: false root_password: string tacacs: acct_servers: - host: 198.51.100.1 port: '49' secret: string timeout: 10 enabled: true network: string tacplus_servers: - host: 198.51.100.1 port: '49' secret: string timeout: 10 vrf_config: enabled: false vrf_instances: property1: extra_routes: property1: via: 198.51.100.1 property2: via: 198.51.100.10 networks: - string property2: extra_routes: property1: via: 198.51.100.1 property2: via: 198.51.100.10 networks: - string schema: $ref: '#/components/schemas/network_template' description: OK NetworktemplatesArray: content: application/json: examples: Example: value: - additional_config_cmds: - set snmp community public created_time: 0 dhcp_snooping: all_networks: true enable_arp_spoof_check: true enable_ip_source_guard: true enabled: true networks: - string dns_servers: - 8.8.8.8 - 4.4.4.4 dns_suffix: - .mist.local - .mist.com extra_routes: 0.0.0.0/0: via: 1.2.3.4 group_tags: {} id: 497f6eca-6276-4993-bfeb-53cbbbba6808 import_org_networks: - ap mist_nac: enabled: true network: default modified_time: 0 name: template_name networks: corp: vlan_id: 600 default: subnet: 192.168.1.0/24 vlan_id: 1 guest: vlan_id: 700 mgmt: vlan_id: 500 ntp_servers: - 192.168.1.10 org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b port_usages: ap: all_networks: false allow_dhcpd: true authentication_protocol: pap bypass_auth_when_server_down: true description: WAP disable_autoneg: false disabled: false duplex: auto enable_mac_auth: false enable_qos: true mac_auth_only: false mac_limit: 0 mode: trunk mtu: 9192 networks: - guest - corp persist_mac: false poe_disabled: false port_network: default rejected_network: null storm_control: no_broadcast: false no_multicast: false no_registered_multicast: false no_unknown_unicast: false percentage: 80 stp_edge: true dynamic: mode: dynamic reset_default_when: link_down rules: - equals: string equals_any: - string expression: string src: lldp_chassis_id usage: string iot: allow_dhcpd: true mode: access port_network: default stp_edge: true uplink: all_networks: true enable_qos: false mode: trunk port_network: default stp_edge: false radius_config: acct_interim_interval: 0 acct_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1813 secret: testing123 auth_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1812 secret: testing123 auth_servers_retries: 3 auth_servers_timeout: 5 coa_enabled: false coa_port: 3799 network: default remote_syslog: archive: files: 20 size: 5m console: contents: - facility: config severity: warning enabled: false files: - archive: files: 10 size: 5m contents: - facility: config severity: warning explicit_priority: true file: file-name match: '!alarm|ntp|errors.crc_error[chan]' structured_data: true network: default send_to_all_servers: false servers: - facility: config host: syslogd.internal port: 514 protocol: udp severity: info tag: '' time_format: millisecond users: - contents: - facility: config severity: warning match: '"!alarm|ntp|errors.crc_error[chan]"' user: '*' snmp_config: client_list: - client_list_name: clist-1 clients: - 151.140.101.218/32 contact: cns@juniper.net description: Juniper QFX Series Switch - 1K_5LA enabled: true engine_id: local location: Las Vegas, NV name: TGH-1K-QFX10K network: default trap_groups: - categories: - authentication group_name: profiler targets: - 172.29.158.19 version: v2 v2c_config: - authorization: read-only client_list_name: clist-1 community_name: abc123 view: all v3_config: notify: - name: string tag: string type: trap notify_filter: - contents: - include: true oid: 1.3.6.1.4.1 profile_name: string target_address: - address: address address_mask: address_mask port: 161 tag_list: string target_address_name: target_address_name target_parameters: string target_parameters: - message_processing_model: v1 name: string notify_filter: string security_level: authentication security_model: usm security_name: m01620 usm: engine-id: 00:00:00:0b:00:00:70:10:6f:08:b6:3f engine_type: remote_engine users: - authentication_password: strings authentication_type: authentication-md5 encryption_password: stringst encryption_type: privacy-aes128 name: string vacm: access: - group_name: string prefix_list: - context_prefix: iil notify_view: all read_view: all security_level: privacy security_model: any type: default_context_prefix write_view: all security_to_group: content: - group: string security_name: string security_model: usm views: include: true oid: 1.3.6.1 view_name: all switch_matching: enable: true rules: - additional_config_cmds: - set snmp community public match_model: EX4300 match_name[0:3]: abc name: match by name port_config: ge-0/0/0: usage: uplink ge-0/0/8-16ge-1/0/0-47: usage: ap - additional_config_cmds: - set snmp community public2 match_role: access name: match by role port_config: ge-0/0/0: usage: uplink switch_mgmt: config_revert: 10 protect_re: enabled: false root_password: string tacacs: acct_servers: - host: 198.51.100.1 port: '49' secret: string timeout: 10 enabled: true network: string tacplus_servers: - host: 198.51.100.1 port: '49' secret: string timeout: 10 vrf_config: enabled: false vrf_instances: property1: extra_routes: property1: via: 198.51.100.1 property2: via: 198.51.100.10 networks: - string property2: extra_routes: property1: via: 198.51.100.1 property2: via: 198.51.100.10 networks: - string schema: items: $ref: '#/components/schemas/network_template' type: array description: OK OK: content: application/json: schema: type: object description: OK OauthAppLink: content: application/json: examples: Jamf: value: accounts: - error: OAuth token refresh failed, please re-link your account instance_url: junipertest.jamfcloud.com last_status: failed last_sync: 1665465339000 linked_by: Testname1 name: Test Compay1 Ltd smartgroup_name: CompliantGroup1 username: john@nmo.com linked: true Vmware: value: accounts: - account_id: f43ea4c4-8a97-4159-9214-112a8c7b8f22 instance_url: as800.airwatchportals.com last_status: success last_sync: 1665465339000 linked_by: Testname1 linked_timestamp: 1702284364 name: Test Compay1 Ltd - account_id: m56ea4c4-8a10-4189-9214-113a8c7b8m82 error: Get token failed, please re-link VMware instance_url: as561.airwatchportals.com last_status: failed last_sync: 1234567890123 linked_by: Testname2 linked_timestamp: 1702284364 name: Test Compay2 Ltd linked: true Zoom: value: accounts: - account_id: KkEM7orQSIWHZNFzwMLuRA company: Test Compay1 Ltd last_status: success last_sync: 1665465339000 linked_by: Testname1 max_daily_api_requests: 1500 - account_id: kojzWgIJQ0ujR73VvydOdg company: Test Compay2 Ltd error: OAuth token refresh failed, please re-link your account errors: - OAuth token refresh failed, please re-link your account - API daily rate limit reached for your account last_status: failed last_sync: 1665465346000 linked_by: Testname2 max_daily_api_requests: 5000 - account_id: iojzXIJWEuiD73ZvydOfg company: Test Compay3 Ltd last_status: failed last_sync: 1665465538000 linked_by: Testname3 max_daily_api_requests: 3500 authorization_url: https://zoom.us/oauth/authorize?response_type=code&client_id=YDyajBmJREjwkyb3TPAbA&redirect_uri=https%3A%2F%2Fapi.local%2Fapi%2Fv1%2Forg%2Fb4e16c72-d50e-4c03-a952-a3217e231e2c%2Foauth2%2Fapp%2Fzoom%2Fcallback&state=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2NDk3NjE0MDQsImZvcndhcmQiOiJodHRwczovL2NsaWVudGZvcndhcmR1cmwuY29tIn0.RIE4XTU5kpF4nKIy7_enJ0PpOCyTTp6DLm9PZsdncpI linked: true schema: properties: accounts: description: List of linked account details items: anyOf: - $ref: '#/components/schemas/account_jamf_info' - $ref: '#/components/schemas/account_oauth_info' - $ref: '#/components/schemas/account_vmware_info' type: array linked: description: Basic Auth application linked status in mist portal enabled for VMware type: boolean type: object description: OK Org: content: application/json: examples: example-1: value: alarmtemplate_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 allow_mist: true created_time: 0 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 modified_time: 0 msp_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 name: string orggroup_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 session_expiry: 0 schema: $ref: '#/components/schemas/org' description: Org Infos OrgDeviceUpgrade: content: application/json: examples: example-1: value: enable_p2p: true force: true id: 466f6eca-6276-4993-bfeb-53cbbbba6f88 start_time: 0 status: created strategy: big_bang target_version: string upgrades: - site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 upgrade: id: 465f6eca-6276-4993-bfeb-53cbbbba6f98 start_time: 0 status: created targets: download_requested: - 464f6eca-6276-4993-bfeb-53cbbbba6fa8 downloaded: - 463f6eca-6276-4993-bfeb-53cbbbba6fb8 failed: - 462f6eca-6276-4993-bfeb-53cbbbba6fc8 reboot_in_progress: - 461f6eca-6276-4993-bfeb-53cbbbba6fd8 rebooted: - 460f6eca-6276-4993-bfeb-53cbbbba6fe8 skipped: - 459f6eca-6276-4993-bfeb-53cbbbba6ff8 schema: $ref: '#/components/schemas/org_device_upgrade_info' description: OK OrgDeviceUpgradeMulti: content: application/json: examples: example-1: value: - enable_p2p: true force: true id: 466f6eca-6276-4993-bfeb-53cbbbba6f88 start_time: 0 status: created strategy: big_bang target_version: string upgrades: - site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 upgrade: id: 465f6eca-6276-4993-bfeb-53cbbbba6f98 start_time: 0 status: created targets: download_requested: - 464f6eca-6276-4993-bfeb-53cbbbba6fa8 downloaded: - 463f6eca-6276-4993-bfeb-53cbbbba6fb8 failed: - 462f6eca-6276-4993-bfeb-53cbbbba6fc8 reboot_in_progress: - 461f6eca-6276-4993-bfeb-53cbbbba6fd8 rebooted: - 460f6eca-6276-4993-bfeb-53cbbbba6fe8 skipped: - 459f6eca-6276-4993-bfeb-53cbbbba6ff8 schema: items: $ref: '#/components/schemas/org_device_upgrade_info' type: array uniqueItems: true description: OK OrgDevices: content: application/json: examples: example-1: value: results: - mac: string name: string schema: properties: results: items: properties: mac: type: string name: type: string required: - mac - name title: org_device minItems: 1 type: array uniqueItems: true required: - results type: object description: OK OrgInventory: content: application/json: examples: example-1: value: - connected: true created_time: 1542328276 deviceprofile_id: 6f4bf402-45f9-2a56-6c8b-7f83d3bc98e9 id: 00000000-0000-0000-0000-5c5b35000018 mac: 5c5b35000018 model: AP41 modified_time: 1542829778 name: hallway serial: FXLH2015150025 site_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862b type: ap schema: items: $ref: '#/components/schemas/inventory' type: array description: OK OrgInventoryAdd: content: application/json: examples: Example: value: added: - 6JG8E-PTFV2-A9Z2N duplicated: - DVH4V-SNMSZ-PDXBR error: - PO1025335ohoh inventory_added: - mac: 5c5b35000018 magic: 6JG8EPTFV2A9Z2N model: AP41 serial: FXLH2015150025 type: ap inventory_duplicated: - mac: 5c5b35000012 magic: DVH4VSNMSZPDXBR model: AP41 serial: FXLH2015150027 type: ap schema: $ref: '#/components/schemas/response_inventory' description: "OK - if any of entries are valid or there\u2019s no errors" OrgInventoryChanges: content: application/json: examples: assign: value: error: [] op: assign reason: [] success: - 5c5b350e0001 delete: value: error: - FXLH2015150026 op: delete reason: [] success: - FXLH2015150025 - 5c5b350e0001 error: value: error: - 5c5b350e0001 op: manage reason: - already managed success: - c15353123096 schema: properties: error: items: type: string type: array op: enum: - delete - assign - manage - unmanage type: string reason: items: type: string type: array success: items: type: string type: array required: - error - op - success - reason type: object description: OK OrgInventoryUnassignFailed: content: application/json: examples: invalid-mac-given-for-replacing_mac: value: detail: invalid replacing_mac inventory-device-is-already-assigned: value: detail: device already assigned outsite-of-grace-period: value: detail: outside of grace period replacing_mac-device-is-not-assigned-to-a-site: value: detail: replacing_mac device is unassigned replacing_mac-device-last-modified-outside-of-grace-period: value: detail: replacing_mac device outside of grace period schema: properties: detail: type: string required: - detail type: object description: Bad Request OrgInventoryUnassignNotFound: content: application/json: examples: replacing_mac-device-is-not-in-org-inventory: value: detail: replacing_mac inventory not found replacing_mac-device-not-found: value: detail: replacing_mac device not found schema: properties: detail: type: string type: object description: Not Found OrgSetting: content: application/json: examples: example-1: value: auto_device_naming: enable: true rules: - expression: string model: string prefix: string src: name subnet: string suffix: string value: string auto_deviceprofile_assignment: enable: true rules: - expression: string model: string prefix: string src: name subnet: string suffix: string value: string auto_site_assignment: enable: true rules: - expression: string model: string prefix: string src: name subnet: string suffix: string value: string cacerts: - string cloudshark: apitoken: string url: string created_time: 0 device_cert: cert: string key: string device_updown_threshold: 0 disable_pcap: true id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 installer: allow_all_sites: true extra_site_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 grace_period: 0 mgmt: mxtunnel_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 use_mxtunnel: true use_wxtunnel: true modified_time: 0 msp_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 name: string password_policy: enabled: true freshness: 0 min_length: 8 requires_special_char: true requires_two_factor_auth: true pcap: bucket: string max_pkt_len: 0 pcap_bucket_verified: true remote_syslog: enabled: true send_to_all_servers: true servers: - facility: conflict-log host: string port: 0 protocol: udp severity: any tag: string security: disable_local_ssh: true fips_zeroize_password: string limit_ssh_access: true tags: - string ui_idle_timeout: 0 example-2: value: auto_device_naming: enable: true rules: - expression: '...' src: lldp_port_desc auto_deviceprofile_assignment: enable: true auto_site_assignment: enable: true rules: - expression: '[0:3]' prefix: XX- src: name suffix: -YY - src: subnet subnet: 10.1.2.0/18 value: s1351 - expression: '...' src: lldp_system_name - expression: '...' src: dns_suffix - model: AP41 src: model value: s1351 cacerts: - '-----BEGIN CERTIFICATE----- MIIFZjCCA06gAwIBAgIIP61/1qm/uDowDQYJKoZIhvcNAQELBQE -----END CERTIFICATE-----' - '-----BEGIN CERTIFICATE----- BhMCRVMxFDASBgNVBAoMC1N0YXJ0Q29tIENBMSwwKgYDVn-----END CERTIFICATE-----' cloudshark: apitoken: accbd6f10c6d05c3 url: https://cloudshark.hosted.domain device_cert: cert: '-----BEGIN CERTIFICATE----- MIIFZjCCA06gAwIBAgIIP61/1qm/uDowDQYJKoZIhvcNAQELBQE -----END CERTIFICATE-----' key: '-----BEGIN PRI...' device_updown_threshold: 0 disable_pcap: false installer: allow_all_sites: false extra_site_ids: - 4ac1dcf4-9d8b-7211-65c4-057819f0862b - 52f4347e-3e4b-186c-21ca-ad5b70eb23d6 grace_period: 14 mgmt: mxtunnel_ids: - 08cd7499-5841-51c8-e663-fb16b6f3b45e use_mxtunnel: true use_wxtunnel: false password_policy: enabled: true freshness: 60 min_length: 8 requires_special_char: false requires_two_factor_auth: true pcap: bucket: myorg-pcap max_pkt_len: 128 pcap_bucket_verified: true remote_syslog: enabled: true send_to_all_servers: true servers: - facility: any host: syslogd.internal port: 514 protocol: udp severity: info tag: '' security: disable_local_ssh: false fips_zeroize_password: NUKETHESITE limit_ssh_access: false tags: - beta ui_idle_timeout: 10 schema: $ref: '#/components/schemas/org_setting' description: OK OrgSiteSle: content: application/json: examples: wan-sle: value: end: 1651323600 interval: 3600 limit: 1 page: 2 results: - application-health: 0.8250000047942866 gateway-health: 1 num_clients: 65 num_gateways: 1 site_id: f5fcbee5-1234-5678-9101-1619ede87879 wan-link-health: 0.9988471089272484 start: 1651269600 total: 4 wifi-sle: value: end: 1651323600 interval: 3600 limit: 1 page: 2 results: - ap-availability: 1 ap-health: 0.6735632316819553 capacity: 0.9802900770150502 coverage: 0.812181632387686 num_aps: 3 num_clients: 24 roaming: 1 site_id: f5fcbee5-1234-5678-9101-1619ede87879 successful-connect: 0.9535864983932881 throughput: 1 time-to-connect: 0.9791666666666666 start: 1651269600 total: 4 wired-sle: value: end: 1651323600 interval: 3600 limit: 1 page: 2 results: - num_clients: 6 num_switches: 1 site_id: f5fcbee5-1234-5678-9101-1619ede87879 switch-health: 1 switch-stc: 1 switch-throughput: 0.9669529756744796 start: 1651269600 total: 4 schema: anyOf: - $ref: '#/components/schemas/org_site_sle_wifi' - $ref: '#/components/schemas/org_site_wired_wifi' - $ref: '#/components/schemas/org_site_wan_wifi' description: Example response OrgStats: content: application/json: examples: example-1: value: alarmtemplate_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 allow_mist: true created_time: 0 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 modified_time: 0 msp_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 name: string num_devices: 0 num_devices_connected: 0 num_devices_disconnected: 0 num_inventory: 0 num_sites: 0 orggroup_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 session_expiry: 0 sle: - path: string user_minutes: ok: 0 total: 0 schema: $ref: '#/components/schemas/org_stats' description: OK OrgSuppressedAlarms: content: application/json: examples: Example: value: results: - duration: 48 site_id: 581328b6-e382-f54e-c9dc-9c998d183a34 schema: properties: results: items: properties: duration: description: duration, in seconds. Maximum duration is 86400 * 14 (14 days). 0 is to un-suppress alarms. type: integer site_id: $ref: '#/components/schemas/site_id' title: alarm_search_result type: object type: array type: object description: OK Orggroup: content: application/json: examples: example-1: value: created_time: 0 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 modified_time: 0 msp_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 name: string org_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 schema: $ref: '#/components/schemas/orggroup' description: OK OrggroupsArray: content: application/json: examples: example-1: value: - created_time: 0 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 modified_time: 0 msp_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 name: string org_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 schema: items: $ref: '#/components/schemas/orggroup' type: array description: OK OrgsArray: content: application/json: examples: example-1: value: - alarmtemplate_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 allow_mist: true created_time: 0 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 modified_time: 0 msp_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 name: string orggroup_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 session_expiry: 0 schema: items: $ref: '#/components/schemas/org' type: array description: OK OrgsArrayStats: content: application/json: schema: items: $ref: '#/components/schemas/org_stats' type: array description: OK OrgsSearch: content: application/json: examples: example-1: value: end: 1614383378.4365287 limit: 10 results: - msp_id: d287e62f-0000-0000-0000-f2b9ba0a531f name: Test Org num_aps: 9 num_sites: 5 num_switches: 1 num_unassigned_aps: 1 org_id: bb1a8bf6-0000-0000-0000-8053a663cf65 sub_ana_required: 9 sub_ast_entitled: 5 sub_ast_required: 3 sub_eng_required: 3 sub_ex12_required: 1 sub_insufficient: true sub_man_required: 9 sub_vna_entitled: 1 timestamp: 1614322563.513937 trial_enabled: false usage_types: - sub_eng - msp_id: d287e62f-0000-0000-0000-f2b9ba0a531f name: Rogue Test1 num_aps: 1 num_sites: 1 org_id: 0fb81690-0000-0000-0000-9596d1d1534f sub_ana_entitled: 1 sub_ana_required: 1 sub_insufficient: false sub_man_entitled: 1 sub_man_required: 1 timestamp: 1614309876.500955 start: 1613778578.4365668 total: 2 schema: properties: end: readOnly: true type: number limit: readOnly: true type: integer next: type: string results: items: properties: msp_id: format: uuid readOnly: true type: string name: description: org name readOnly: true type: string num_aps: readOnly: true type: integer num_gateways: readOnly: true type: integer num_sites: readOnly: true type: integer num_switches: readOnly: true type: integer num_unassigned_aps: readOnly: true type: integer org_id: $ref: '#/components/schemas/org_id' sub_ana_entitled: readOnly: true type: integer sub_ana_required: readOnly: true type: integer sub_ast_entitled: readOnly: true type: integer sub_ast_required: readOnly: true type: integer sub_eng_entitled: readOnly: true type: integer sub_eng_required: readOnly: true type: integer sub_ex12_required: readOnly: true type: integer sub_insufficient: description: if this org has sufficient subscription readOnly: true type: boolean sub_man_entitled: readOnly: true type: integer sub_man_required: readOnly: true type: integer sub_me_entitled: readOnly: true type: integer sub_vna_entitled: readOnly: true type: integer sub_vna_required: readOnly: true type: integer timestamp: readOnly: true type: number trial_enabled: description: if this org is under trial period readOnly: true type: boolean usage_types: description: a list of types that enabled by usage items: type: string readOnly: true type: array title: org_search_item type: object minItems: 1 type: array uniqueItems: true start: readOnly: true type: number total: readOnly: true type: integer required: - end - limit - results - start - total type: object description: OK PcapBucketConfig: content: application/json: examples: Failed: value: bucket: company-private-pcap detail: failed to write bucket - 403 AccessDenied Success: value: {} schema: properties: bucket: type: string detail: type: string type: object description: OK PcapStart: content: application/json: examples: example-1: value: ap_count: 3 aps: [] duration: 600 enabled: true expiry: 1614886726.5411825 format: stream id: a9a84e13-a714-b1eb-152f-a434416217d5 include_mcast: false invalid_aps: {} max_pkt_len: 68 num_packets: 100 org_id: a9346fba-f920-e99a-cc51-2e8dcc57fa3c raw: true site_id: 67970e46-4e12-11e6-9188-0242ac110007 ssid: '' timestamp: 1614886126.5411825 type: radiotap schema: properties: ap_count: type: integer aps: items: type: string type: array client_mac: nullable: true type: string duration: type: number enabled: type: boolean expiry: type: number format: type: string id: format: uuid type: string include_mcast: type: boolean invalid_aps: type: object max_pkt_len: type: integer num_packets: type: integer org_id: $ref: '#/components/schemas/org_id' raw: type: boolean site_id: $ref: '#/components/schemas/site_id' ssid: nullable: true type: string tcpdump_parser_expression: nullable: true type: string timestamp: type: number type: type: string required: - timestamp - id - org_id - site_id - type type: object description: OK PcapStatus: content: application/json: examples: example-1: value: aps: - 5c5b350e001c - 5c5b350e001b client_mac: 60a10a773412 duration: 300 failed: [] id: a9a84e13-a714-b1eb-152f-a434416217d5 includes_mcast: false max_pkt_len: 128 num_packets: 1000 ok: - 5c5b350e001c - 5c5b350e001b started_time: 1435080709 type: client schema: properties: ap_mac: nullable: true type: string aps: description: List of target APs to capture packets items: type: string type: array client_mac: example: 60a10a773412 nullable: true type: string duration: example: 300 type: integer failed: description: List of APs where configuration attempt failed items: type: string type: array gateways: description: List of target Gateways to capture packets if a gateway capture type is specified items: type: string type: array id: description: unique id for the capture format: uuid type: string includes_mcast: type: boolean max_num_packets: description: max number of packets configured by user example: 1000 type: integer max_pkt_len: example: 128 type: integer num_packets: description: total number of packets captured by all AP, not applicable for type [client, new_assoc] type: integer ok: description: List of target APs successfully configured to capture packets items: type: string type: array pcap_aps: additionalProperties: properties: band: type: integer bandwidth: type: integer channel: type: integer tcpdump_expresssion: nullable: true type: string type: object example: 5c5b35000010: band: 6 bandwidth: 20 channel: 133 tcpdump_expressiin: null type: object radiotap_tcpdump_expression: description: when `type`==`radiotap`, radiotap_tcpdump_expression expression provided by the user type: string scan_tcpdump_expression: description: when `type`==`scan`, scan_tcpdump_expression provided by the user type: string ssid: nullable: true type: string started_time: example: 1435080709 type: integer switches: description: List of target Switches to capture packets if a switch capture type is specified items: type: string type: array tcpdump_expression: description: tcpdump expression provided by the user (common) type: string type: enum: - new_assoc - client - wired - wireless - radiotap - gateway example: client title: pcap_type type: string wired_tcpdump_expression: description: when `type`==`wired`, wired_tcpdump_expression provided by the user type: string wireless_tcpdump_expression: description: "when `type`==`\u2018wireless\u2019`, wireless_tcpdump_expression\ \ provided by the user" type: string required: - id - type type: object description: OK PcapsSearch: content: application/json: examples: example-1: value: end: 1461089816 limit: 100 next: /api/v1/sites/67970e46-4e12-11e6-9188-0242ac110007/pcaps?start=1461099816&search_after=%5B1694537121217%5D&limit=100&end=1461089816 results: - ap_macs: - 5c5b35000010 timestamp: 1461869041 type: new_assoc url: https://... start: 1461099816 schema: properties: end: type: integer limit: type: integer next: type: string results: items: properties: ap_macs: items: type: string type: array aps: items: example: 5c5b35000010 type: string type: array duration: example: 600 type: number format: example: stream type: string id: format: uuid type: string max_num_packets: example: 1024 type: number org_id: $ref: '#/components/schemas/org_id' pcap_aps: type: object pcap_url: type: string site_id: $ref: '#/components/schemas/site_id' termination_reason: example: default type: string timestamp: type: number type: type: string url: type: string required: - timestamp - type - url title: pcap_search_item type: object minItems: 1 type: array uniqueItems: true start: type: integer total: type: integer required: - end - limit - next - results - start type: object description: OK PmaDashboards: content: application/json: examples: example-1: value: - name: dashboard_1 url: https://mist.looker.com/login/embed/%2Fembed%2Fdashboards%2F1?group_ids=%5B3%5D&last_name=%22%22&models=%5B%22generic%22%5D&..... schema: items: properties: description: description: description of the dashboard example: Dashboard 1 description type: string label: description: group label name example: Wireless type: string name: description: name of the dashboard example: dashboard_1 type: string url: description: url to access dashboard. Url will redirect the user to the dashboard example: https://api.mist.com/api/v1/forward/looker?jwt=... type: string type: object type: array description: OK PortStatsSearch: content: application/json: schema: properties: end: type: integer limit: type: integer next: type: string results: items: $ref: '#/components/schemas/switch_port_stats' type: array start: type: integer total: type: integer required: - end - limit - results - start - total type: object description: Example response Portaltemplate: content: application/json: examples: example-1: value: accessCodeAlternateEmail: string alignment: string authButtonAmazon: string authButtonAzure: string authButtonEmail: string authButtonFacebook: string authButtonGoogle: string authButtonMicrosoft: string authButtonPassphrase: string authButtonSms: string authButtonSponsor: string authLabel: string backLink: string color: string colorDark: string colorLight: string company: true companyError: string companyLabel: string created_time: 0 email: true emailAccessDomainError: string emailCancel: string emailCodeError: string emailError: string emailFieldLabel: string emailLabel: string emailMessage: string emailSubmit: string emailTitle: string field1: true field1Error: string field1Label: string field1Required: true field2: true field2Error: string field2Label: string field2Required: true field3: true field3Error: string field3Label: string field3Required: true field4: true field4Error: string field4Label: string field4Required: true id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 message: string modified_time: 0 name: true nameError: string nameLabel: string optout: true optoutLabel: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 pageTitle: string passphraseCancel: string passphraseError: string passphraseLabel: string passphraseMessage: string passphraseSubmit: string passphraseTitle: string poweredBy: true requiredFieldLabel: string signInLabel: string site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 smsCarrierDefault: string smsCarrierError: string smsCarrierFieldLabel: string smsCodeCancel: string smsCodeError: string smsCodeFieldLabel: string smsCodeMessage: string smsCodeSubmit: string smsCodeTitle: string smsCountryFieldLabel: string smsCountryFormat: string smsHaveAccessCode: string smsMessageFormat: string smsNumberCancel: string smsNumberError: string smsNumberFieldLabel: string smsNumberFormat: string smsNumberMessage: string smsNumberSubmit: string smsNumberTitle: string smsUsernameFormat: string smsValidityDuration: 0 sponsorBackLink: string sponsorCancel: string sponsorEmail: string sponsorEmailError: string sponsorEmailTemplate: string sponsorInfoApproved: string sponsorInfoDenied: string sponsorInfoPending: string sponsorName: string sponsorNameError: string sponsorNotePending: string sponsorStatusApproved: string sponsorStatusDenied: string sponsorStatusPending: string sponsorSubmit: string tos: true tosAcceptLabel: string tosError: string tosLink: string tosText: string schema: $ref: '#/components/schemas/portal_template' description: OK Psk: content: application/json: schema: $ref: '#/components/schemas/psk' description: OK PskPortal: content: application/json: schema: $ref: '#/components/schemas/psk_portal' description: Example response PskPortalLogsArray: content: application/json: examples: psk-portal-logs: value: end: 1428954000 limit: 100 results: - id: 8a3dcaa7-80e3-4bb0-a75b-7bc6322cfd09 message: Rotate PSK test@mist.com name_id: test@mist.com org_id: 2818e386-8dec-2562-9ede-5b8a0fbbdc71 psk_id: 608fe603-f9f0-4ce9-9473-04ef6c6ea749 psk_name: test@mist.com pskportal_id: c1742c09-af35-4161-96ef-7dc65c6d5674 timestamp: 1686346104.096 start: 1428939600 total: 135 schema: properties: end: example: 1428954000 type: integer limit: example: 100 type: integer results: items: properties: id: example: 8a3dcaa7-80e3-4bb0-a75b-7bc6322cfd09 format: uuid type: string message: example: Rotate PSK test@mist.com type: string name_id: example: test@mist.com type: string org_id: $ref: '#/components/schemas/org_id' psk_id: example: 608fe603-f9f0-4ce9-9473-04ef6c6ea749 format: uuid type: string psk_name: example: test@mist.com type: string pskportal_id: example: c1742c09-af35-4161-96ef-7dc65c6d5674 format: uuid type: string timestamp: example: 1686346104.096 type: number title: psk_portal_log_entry type: object type: array start: example: 1428939600 type: integer total: example: 135 type: integer type: object description: Example response PskPortalsArray: content: application/json: schema: items: $ref: '#/components/schemas/psk_portal' type: array description: Example response PsksArray: content: application/json: examples: example-1: value: - created_time: 0 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 mac: string modified_time: 0 name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 passphrase: stringst site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 ssid: string usage: multi vlan_id: 1 schema: items: $ref: '#/components/schemas/psk' type: array description: OK RadioMacs: content: application/json: examples: example-1: value: - mac: 5c5b35000001 radio_macs: - 5c5b35000040 - 5c5b35000050 - 5c5b35000060 - mac: 5c5b45000001 radio_macs: - 5c5b45000040 - 5c5b45000050 - 5c5b45000060 schema: $ref: '#/components/schemas/ap_radio_macs' description: OK Recaptcha: content: application/json: examples: Google: value: flavor: google required: true sitekey: 6LdAewsTAAAAAE25XKQhPEQ2FiMTft-WrZXQ5NUd Hcaptcha: value: flavor: hcaptcha required: true sitekey: 6LdAewsTAAAAAE25XKQhPEQ2FiMTft-WrZXQ5NUd schema: $ref: '#/components/schemas/recaptcha' description: Example response Rfdiag: content: application/json: examples: example-1: value: - asset_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 asset_name: string client_name: string duration: 0 end_time: 0 frame_count: 0 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 mac: string map_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 name: string next: string raw_events: string ready: true sdkclient_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 sdkclient_name: string sdkclient_uuid: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 start_time: 0 type: sdkclient url: string schema: $ref: '#/components/schemas/rf_diag_info' description: OK RfdiagsArray: content: application/json: examples: example-1: value: - - asset_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 asset_name: string client_name: string duration: 0 end_time: 0 frame_count: 0 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 mac: string map_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 name: string next: string raw_events: string ready: true sdkclient_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 sdkclient_name: string sdkclient_uuid: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 start_time: 0 type: sdkclient url: string schema: items: $ref: '#/components/schemas/rf_diag_info' type: array description: OK Rftemplate: content: application/json: examples: example-1: value: ant_gain_24: 0 ant_gain_5: 0 band_24: allow_rrm_disable: true ant_gain: 0 bandwidth: 20 channels: - 1 - 6 - 11 disabled: false power_max: 11 power_min: 3 preamble: short band_24_usage: auto band_5: allow_rrm_disable: false ant_gain: 0 bandwidth: 80 channels: - 36 - 40 - 44 - 48 - 52 - 56 - 60 - 64 - 100 - 104 - 149 - 153 - 157 - 161 disabled: false power_max: 16 power_min: 9 preamble: short country_code: FR created_time: 1594743723 id: b3f20330-f76a-49f1-bc65-0d8727140b1d model_specific: {} modified_time: 1613582192 name: Lab org_id: 203d3d02-dbc0-4c1b-9f41-76896a3330f4 schema: $ref: '#/components/schemas/rf_template' description: OK RftemplatesArray: content: application/json: examples: example-1: value: - ant_gain_24: 0 ant_gain_5: 0 band_24: allow_rrm_disable: true ant_gain: 0 bandwidth: 20 channels: - 1 - 6 - 11 disabled: false power_max: 11 power_min: 3 preamble: short band_24_usage: auto band_5: allow_rrm_disable: false ant_gain: 0 bandwidth: 80 channels: - 36 - 40 - 44 - 48 - 52 - 56 - 60 - 64 - 100 - 104 - 149 - 153 - 157 - 161 disabled: false power_max: 16 power_min: 9 preamble: short country_code: FR created_time: 1594743723 id: b3f20330-f76a-49f1-bc65-0d8727140b1d model_specific: {} modified_time: 1613582192 name: Lab org_id: 203d3d02-dbc0-4c1b-9f41-76896a3330f4 schema: items: $ref: '#/components/schemas/rf_template' type: array description: OK RogueDetails: content: application/json: examples: example-1: value: manufacture: Intel Corporate seen_as_client: true schema: properties: manufacture: type: string seen_as_client: type: boolean required: - seen_as_client - manufacture type: object description: OK RogueEventsSearch: content: application/json: examples: example-1: value: end: 1538074800 limit: 10 results: - ap: 5c5b350e10030 bssid: 38ff363c8c4c channel: 136 rssi: -54 ssid: MyHomeNetwork timestamp: 1538074612 - ap: 5c5b350e10030 bssid: 60d02c2394cc channel: 11 rssi: -59 ssid: Home-Office timestamp: 1538074612 start: 1538071200 total: 2 schema: properties: end: type: integer limit: type: integer next: type: string results: items: $ref: '#/components/schemas/events_rogue' minItems: 1 type: array uniqueItems: true start: type: integer total: type: integer required: - end - limit - results - start - total type: object description: OK Router128TRegisterCmd: content: application/json: examples: example-1: value: conductor_cmd: register mist eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJvcmdfaWQiOiIyODE4ZTM4Ni04ZGVjLTI1NjItOWVkZS01YjhhMGZiYmRjNzEiLCJzdmMiOiIxMjhyb3V0ZXIiLCJwcm92aWRlciI6ImF3cyIsImVudiI6ImxvY2FsIiwiZXB0ZXJtX3VybCI6IndzczovL2xvY2FsL3dzIiwiaWF0IjoxNjEzODQ3NDg0LCJleHAiOjE2NDUzODM0ODR9.YnhgThKYAj1uaooi6j-zY8dMipp5YqJxnn79B9TB5XQ registration_code: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJvcmdfaWQiOiIyODE4ZTM4Ni04ZGVjLTI1NjItOWVkZS01YjhhMGZiYmRjNzEiLCJzdmMiOiIxMjhyb3V0ZXIiLCJwcm92aWRlciI6ImF3cyIsImVudiI6ImxvY2FsIiwiZXB0ZXJtX3VybCI6IndzczovL2xvY2FsL3dzIiwiaWF0IjoxNjEzODQ3NDg0LCJleHAiOjE2NDUzODM0ODR9.YnhgThKYAj1uaooi6j-zY8dMipp5YqJxnn79B9TB5XQ router_shell_cmd: 128agent register --registration-code eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJvcmdfaWQiOiIyODE4ZTM4Ni04ZGVjLTI1NjItOWVkZS01YjhhMGZiYmRjNzEiLCJzdmMiOiIxMjhyb3V0ZXIiLCJwcm92aWRlciI6ImF3cyIsImVudiI6ImxvY2FsIiwiZXB0ZXJtX3VybCI6IndzczovL2xvY2FsL3dzIiwiaWF0IjoxNjEzODQ3NDg0LCJleHAiOjE2NDUzODM0ODR9.YnhgThKYAj1uaooi6j-zY8dMipp5YqJxnn79B9TB5XQ schema: properties: conductor_cmd: type: string registration_code: type: string router_shell_cmd: type: string type: object description: OK Rrm: content: application/json: examples: example-1: value: band_24: {} band_24_metric: avg_aps_per_channel: 0 channel_distribution_uniformity: 0 cochannel_neighbors: 0 density: 0 naps_by_channel: {} naps_by_power: {} neighbors: 0 noise: 0 band_5: {} band_5_metric: avg_aps_per_channel: 0 channel_distribution_uniformity: 0 cochannel_neighbors: 0 density: 0 naps_by_channel: {} naps_by_power: {} neighbors: 0 noise: 0 rftemplate: band_24: allow_rrm_disable: true antenna_mode: default bandwidth: 20 channel: 0 disabled: true power: 0 power_max: 0 power_min: 0 preamble: auto usage: '24' band_5: allow_rrm_disable: true antenna_mode: default bandwidth: 20 channel: 0 disabled: true power: 0 power_max: 0 power_min: 0 preamble: auto usage: '24' country_code: string created_time: 0 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 model_specific: property1: band_24: allow_rrm_disable: true antenna_mode: default bandwidth: 20 channel: 0 disabled: true power: 0 power_max: 0 power_min: 0 preamble: auto usage: '24' band_5: allow_rrm_disable: true antenna_mode: default bandwidth: 20 channel: 0 disabled: true power: 0 power_max: 0 power_min: 0 preamble: auto usage: '24' property2: band_24: allow_rrm_disable: true antenna_mode: default bandwidth: 20 channel: 0 disabled: true power: 0 power_max: 0 power_min: 0 preamble: auto usage: '24' band_5: allow_rrm_disable: true antenna_mode: default bandwidth: 20 channel: 0 disabled: true power: 0 power_max: 0 power_min: 0 preamble: auto usage: '24' modified_time: 0 name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 rftemplate_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 rftemplate_name: string status: updating timestamp: 0 schema: $ref: '#/components/schemas/rrm' description: OK RrmConsideration: content: application/json: examples: example-1: value: results: - channel: 36 noise: -78 non_wifi: 0.08 other_rssi: -66 other_ssid: Rivendell5G rssi: -48 util_score: 0.1 util_score_non_wifi: 0.01 util_score_other: 0.05 wifi: 0.13 schema: properties: results: items: properties: channel: type: integer noise: type: number other_rssi: description: the avg RSSI heard from other APs (that does NOT belongs to the same site) type: number other_ssid: description: SSID from other AP that we heard from with the max RSSI type: string util_score: description: utilization score, 0-1, lower means less utilization (cleaner RF) type: number util_score_non_wifi: description: non-wifi utilization score, 0-1, lower means less utilization (cleaner RF) type: number util_score_other: description: other utilization score, 0-1, lower means less utilization (cleaner RF) type: number required: - channel - noise - util_score - util_score_other - util_score_non_wifi title: rrm_consideration_item type: object minItems: 1 type: array uniqueItems: true required: - results type: object description: OK RrmEvents: content: application/json: examples: example-1: value: end: 1428954000 limit: 100 next: /api/v1/sites/dca0a44b-324c-11e6-a776-0243ad110007/events/rrm?start=1428939600&end=1428949600&limit=200&token=001a0010000000120010000005005880ec18000004776c616e007fffffeb067ab8e29c1d659b6a7c8cf698bf81490003 results: - ap_id: 00000000-0000-0000-1000-5c5b359e4fe0 band: '24' bandwidth: 20 channel: 6 event: scheduled-site-rrm power: 5 pre_bandwidth: 20 pre_channel: 1 pre_power: 11 pre_usage: '24' timestamp: 1428939600 usage: '24' start: 1428939600 schema: properties: end: type: integer limit: type: integer next: description: the link to query next set of results. value is null if no next page exists. type: string results: items: properties: ap_id: format: uuid type: string band: $ref: '#/components/schemas/dot11_band' bandwidth: $ref: '#/components/schemas/dot11_bandwidth' channel: description: channel for the band from rrm type: integer event: description: schedule-site-rrm / triggered-site-rrm / interference-ap-co-channel / rrm-radar enum: - triggered-site-rrm - interference-ap-co-channel - rrm-radar - scheduled-site-rrm - interference-ap-non-wifi - radar-detected - neighbor-ap-down - neighbor-ap-recovered type: string power: description: tx power of the radio type: integer pre_bandwidth: description: (previously) channel width for the band , 0 means no previously available enum: - 0 - 20 - 40 - 80 - 160 type: integer pre_channel: description: (previously) channel for the band, 0 means no previously available type: integer pre_power: description: (previously) tx power of the radio, 0 means no previously available type: number pre_usage: type: string timestamp: description: timestamp of the event type: number usage: type: string required: - ap_id - band - bandwidth - channel - event - power - pre_bandwidth - pre_channel - pre_power - pre_usage - timestamp - usage title: rrm_event type: object minItems: 1 type: array uniqueItems: true start: type: integer required: - end - limit - results - start type: object description: OK RrmNeighbors: content: application/json: examples: example-1: value: results: - band: 6 bssid: a7c7096d7b8f rssi: -78 schema: properties: results: items: properties: band: example: 6 type: integer bssid: example: a7c7096d7b8f type: string rssi: example: -66 type: integer required: - bssid - rssi - band title: rrm_neighbors_item type: object minItems: 1 type: array uniqueItems: true required: - results type: object description: OK Rssizone: content: application/json: examples: example-1: value: created_time: 0 devices: - device_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 rssi: 0 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 modified_time: 0 name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 schema: $ref: '#/components/schemas/rssi_zone' description: OK RssizonesArray: content: application/json: examples: example-1: value: - created_time: 0 devices: - device_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 rssi: 0 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 modified_time: 0 name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 schema: items: $ref: '#/components/schemas/rssi_zone' type: array description: OK Sdkinvite: content: application/json: examples: example-1: value: created_time: 1428954000 enabled: true expire_time: 1428954000 id: 5034b980-b49e-501c-66e0-9de4c38f18a2 name: Macy's quota: -1 schema: $ref: '#/components/schemas/sdkinvite' description: OK SdkinvitesArray: content: application/json: examples: example-1: value: - created_time: 1428954000 enabled: true expire_time: 1428954000 id: 5034b980-b49e-501c-66e0-9de4c38f18a2 name: Macy's quota: -1 schema: items: $ref: '#/components/schemas/sdkinvite' type: array description: OK Sdktemplate: content: application/json: examples: example-1: value: bg_image: http://p.imgci.com/db/PICTURES/CMS/227700/227791.4.jpg btn_flr_bgcolor: '#282828' default: true header_txt: Mist name: default search_txtcolor: '#282828' welcome_msg: Welcome to Mist schema: $ref: '#/components/schemas/sdktemplate' description: OK SdktemplatesArray: content: application/json: examples: example-1: value: - bg_image: http://p.imgci.com/db/PICTURES/CMS/227700/227791.4.jpg btn_flr_bgcolor: '#282828' default: true header_txt: Mist name: default search_txtcolor: '#282828' welcome_msg: Welcome to Mist schema: items: $ref: '#/components/schemas/sdktemplate' type: array description: Example response Search: content: application/json: examples: example-1: value: limit: 0 page: 0 results: - id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 text: string type: string total: 0 schema: properties: limit: type: integer next: type: string page: type: integer results: items: properties: id: format: uuid type: string text: type: string type: type: string required: - id - text - type title: org_group type: object minItems: 1 type: array uniqueItems: true total: type: integer required: - limit - page - results - total type: object description: OK SearchVar: content: application/json: examples: Example: value: end: 1693952979 limit: 10 results: - created_time: 1618457655.384858 modified_time: 1693610886.477805 org_id: 0c160b7f-1027-4cd1-923b-744534c4b070 site_id: 1519f016-4e41-47c0-a396-cce4d04bac0b src: site var: mvp start: 1693949379 total: 1 schema: properties: end: type: integer limit: type: integer results: items: properties: created_time: type: number modified_time: type: number org_id: $ref: '#/components/schemas/org_id' site_id: $ref: '#/components/schemas/site_id' src: type: string var: type: string title: org_var_search_result type: object type: array start: type: integer total: type: integer type: object description: OK SecpoliciesArray: content: application/json: examples: Example: value: - name: corporate only wlans: - auth: pairwise: - wpa1-tkip - wpa2-tkip type: psk band: both ssid: office - auth: type: open band: '5' ssid: office-guest schema: items: $ref: '#/components/schemas/secpolicy' type: array description: OK Secpolicy: content: application/json: examples: Example: value: name: corporate only wlans: - auth: pairwise: - wpa1-tkip - wpa2-tkip type: psk band: both ssid: office - auth: type: open band: '5' ssid: office-guest schema: $ref: '#/components/schemas/secpolicy' description: OK SelfAuditLogs: content: application/json: examples: example-1: value: end: 1428954000 limit: 100 page: 1 results: - admin_id: 72bfa2bd-e58a-4670-9d20-a1468f7a6f58 admin_name: test@mistsys.com after: auth: type: open before: auth: type: psk id: c6f9347b-b0a4-4a23-b927-fa9249f2ffb2 message: Update WLAN "Corporate" org_id: 423f6eca-6276-4994-bfeb-53cbbbba6f04 site_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862b timestamp: 1431382121 start: 1428939600 total: 135 schema: properties: end: type: integer limit: type: integer page: type: integer results: items: properties: admin_id: format: uuid type: string admin_name: type: string after: description: field values after the change properties: auth: properties: type: type: string required: - type type: object required: - auth type: object before: description: field values prior to the change properties: auth: properties: type: type: string required: - type type: object required: - auth type: object for_site: readOnly: true type: boolean id: format: uuid type: string message: type: string org_id: format: uuid type: string site_id: $ref: '#/components/schemas/site_id' timestamp: type: number required: - admin_id - admin_name - id - message - org_id - site_id - timestamp title: self_log_search_result type: object minItems: 1 type: array uniqueItems: true start: type: integer total: type: integer required: - end - limit - page - results - start - total type: object description: OK SelfOauthLinkFailure: content: application/json: examples: example-1: value: error: access_denied error_description: The resource owner or authorization server denied the request. schema: properties: error: type: string error_description: type: string required: - error - error_description type: object description: Authorization Error SelfOauthLinkSuccess: content: application/json: examples: example-1: value: action: oauth account linked id: google-user-id schema: properties: action: type: string id: type: string required: - action - id type: object description: OK SelfOauthUrl: content: application/json: examples: example-1: value: authorization_url: https://accounts.google.com/o/oauth2/v2/auth?..... linked: false schema: properties: authorization_url: type: string linked: type: boolean required: - linked - authorization_url type: object description: OK SelfSubscriptions: content: application/json: schema: items: properties: org_id: format: uuid type: string required: - org_id type: object minItems: 1 type: array uniqueItems: true description: OK SelfVerifyEmailFailed: content: application/json: examples: invalid-or-expired-token: value: detail: invalid token new-email-address-already-exists: value: detail: email already existed request-comes-from-authenticated-users-other-than-admin: value: detail: invalid token schema: properties: detail: type: string required: - detail type: object description: Bad Request SelfVerifyEmailSuccess: content: application/json: schema: properties: {} type: object description: With correct verification, the email address of the user will be updated Service: content: application/json: examples: example-1: value: addresses: - string app_caetgories: - string apps: - string created_time: 0 dscp: 0 failover_policy: revertable hostnames: - string id: 497f6eca-6276-5004-bfeb-53cbbbba6f16 max_jitter: 0 max_latency: string max_loss: 0 modified_time: 0 name: string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b sle_enabled: false specs: - port_range: '0' protocol: any traffic_class: best_effort traffic_type: data_best_effort type: custom vpn_name: addresses schema: $ref: '#/components/schemas/service' description: OK ServicePathEventsSearch: content: application/json: examples: Example: value: end: 1697096379 limit: 10 results: - mac: 90ec7734b374 model: SSR120 org_id: a3c6718f-2823-4e48-bf5e-b841768a4c9b policy: INTERNET port_id: ge-1/0/6 site_id: 4279edbd-1d24-41ea-9505-2eb26c8590fa text: Peer Path Down timestamp: 1697037328.651775 type: GW_SERVICE_PATH_REMOVE version: 6.1.5-14.lts vpn_name: Syracuse_HUB vpn_path: Syracuse_HUB-Wan0 start: 1697009979 total: 2 schema: properties: end: example: 1697096379 type: integer limit: example: 10 type: integer results: items: $ref: '#/components/schemas/service_path_event' type: array start: example: 1697009979 type: integer total: example: 2 type: integer type: object description: Example response ServicePoliciesArray: content: application/json: examples: Example: value: - action: allow created_time: 0 id: string modified_time: 0 name: string org_id: string services: - string tenants: - string schema: items: $ref: '#/components/schemas/service_policy' type: array description: Example response ServicePolicy: content: application/json: schema: $ref: '#/components/schemas/service_policy' description: Example response ServicesArray: content: application/json: examples: example-1: value: - addresses: - string apps: - string dscp_class: string hostnames: - string max_jitter: 0 max_latency: string max_loss: 0 name: string specs: - port_range: '0' protocol: any traffic_class: best_effort traffic_type: default type: custom vpn_name: addresses schema: items: $ref: '#/components/schemas/service' type: array description: OK SetDevicesMap: content: application/json: examples: Example: value: locked: - 5c5b35584a6f moved: - 5c5b35000001 schema: properties: locked: items: example: 5c5b35584a6f type: string type: array moved: items: example: 5c5b35000001 type: string type: array type: object description: OK Site: content: application/json: examples: example-1: value: address: 1601 S. Deanza Blvd., Cupertino, CA, 95014 alarmtemplate_id: 684dfc5c-fe77-2290-eb1d-ef3d677fe168 apporttemplate_id: string aptemplate_id: 16bdf952-ade2-4491-80b0-85ce506c760b country_code: US created_time: 0 gatewaytemplate_id: 6f9b2e75-9b2f-b5ae-81e3-e14c76f1a90f id: 497f6eca-6276-5005-bfeb-53cbbbba6f17 latlng: lat: 37.295833 lng: -122.032946 modified_time: 0 name: Mist Office networktemplate_id: 12ae9bd2-e0ab-107b-72e8-a7a005565ec2 notes: string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b rftemplate_id: bb8a9017-1e36-5d6c-6f2b-551abe8a76a2 secpolicy_id: 3bcd0beb-5d0a-4cbd-92c1-14aea91e98ef sitegroup_ids: - 497f6eca-6276-5006-bfeb-53cbbbba6f18 timezone: America/Los_Angeles schema: $ref: '#/components/schemas/site' description: OK SiteApps: content: application/json: examples: example-1: value: - group: string key: string name: string schema: items: properties: group: minLength: 1 type: string key: minLength: 1 type: string name: minLength: 1 type: string required: - key - name - group type: object minItems: 1 type: array uniqueItems: true description: OK SiteSettings: content: application/json: examples: Example: value: additional_config_cmds: - set snmp community public analytic: enabled: false ap_matching: enabled: true rules: - eth1,eth2: port_vlan_id: 1 vlan_ids: - 1 - 10 - 50 ap_port_config: model_specific: AP32: eth1,eth2: port_vlan_id: 1 vlan_ids: - 1 - 10 - 50 auto_placement: orientation: 45 x: 30 y: 60 auto_preemption: day_of_week: any enabled: false time_of_day: any auto_upgrade: custom_versions: AP21: stable AP41: 0.1.5135 AP61: 0.1.7215 day_of_week: sun enabled: false time_of_day: '12:00' version: beta blacklist_url: https://papi.s3.amazonaws.com/blacklist/xxx... ble_config: beacon_enabled: false beacon_rate: 3 beacon_rate_mode: custom beam_disabled: - 1 - 3 - 6 custom_ble_packet_enabled: false custom_ble_packet_frame: 0x........ custom_ble_packet_freq_msec: 300 eddystone_uid_adv_power: -65 eddystone_uid_beams: 2-4,7 eddystone_uid_enabled: false eddystone_uid_freq_msec: 200 eddystone_uid_instance: 5c5b35000001 eddystone_uid_namespace: 2818e3868dec25629ede eddystone_url_adv_power: -65 eddystone_url_beams: 2-4,7 eddystone_url_enabled: true eddystone_url_freq_msec: 1000 eddystone_url_url: https://www.abc.com ibeacon_adv_power: -65 ibeacon_beams: 2-4,7 ibeacon_enabled: false ibeacon_freq_msec: 0 ibeacon_major: 13 ibeacon_minor: 138 ibeacon_uuid: f3f17139-704a-f03a-2786-0400279e37c3 power: 10 power_mode: custom config_auto_revert: false created_time: 0 device_updown_threshold: 0 dns_servers: - string dns_suffix: - string engagement: dwell_tag_names: bounce: Bounce engaged: Engaged passerby: Passer By stationed: Stationed dwell_tags: bounce: 'null' engaged: 300-14400 passerby: 'null' stationed: 14400-43200 hours: fri: 09:00-17:00 mon: 09:00-17:00 sat: 09:00-12:00 sun: 09:00-12:00 thu: 09:00-17:00 tue: 09:00-17:00 wed: 09:00-17:00 max_dwell: 43200 min_dwell: 0 evpn_options: auto_loopback_subnet: 100.101.0.0/16 auto_router_id_subnet: 100.100.0.0/24 core_as_border: false overlay: as: 65000 per_vlan_vga_v4_mac: false routed_at: edge underlay: as_base: 65001 routed_id_prefix: /24 subnet: 10.255.240.0/20 flags: property1: string property2: string for_site: true gateway_additional_config_cmds: - set snmp community public gateway_mgmt: admin_sshkeys: - string app_probing: apps: - string custom_apps: - app_type: string hostname: - string name: string protocol: http enabled: true app_usage: true auto_signature_update: day_of_week: mon enable: true time_of_day: string config_revert_timer: 10 probe_hosts: - string root_password: string security_log_source_address: string security_log_source_interface: string id: 497f6eca-6276-4993-bfeb-53cbbbba6f09 led: brightness: 255 enabled: true modified_time: 0 mxedge: mist_das: coa_servers: - disable_event_timestamp_check: false enabled: true host: string port: 3799 secret: string enabled: false radsec: acct_servers: - host: string port: 1813 secret: string ssids: - string auth_servers: - host: string keywrap_enabled: true keywrap_format: hex keywrap_kek: string keywrap_mack: string port: 1812 secret: string ssids: - string enabled: true match_ssid: true proxy_hosts: - string server_selection: ordered source: any mxedge_mgmt: mist_password: MIST_PASSWORD root_password: ROOT_PASSWORD mxtunnels: additional_mxtunnels: property1: clusters: - name: primary, tunterm_hosts: - mxedge1 - mxedge2.local hello_interval: 60 hello_retries: 3 protocol: udp vlan_ids: - 300 - 310 - 320 property2: clusters: - name: primary, tunterm_hosts: - mxedge1 - mxedge2.local hello_interval: 60 hello_retries: 3 protocol: udp vlan_ids: - 300 - 310 - 320 ap_subnets: - 0.0.0.0/0 auto_preemption: day_of_week: mon enabled: false time_of_day: '12:00' clusters: - name: primary, tunterm_hosts: - mxedge1 - mxedge2.local created_time: 0 enabled: true for_site: true hello_interval: 60 hello_retries: 3 hosts: - string id: 497f6eca-6276-4993-bfeb-53cbbbba6f28 modified_time: 0 mtu: 1100 org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b protocol: udp radsec: acct_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1813 secret: testing123 auth_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1812 secret: testing123 enabled: false use_mxedge: true site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 vlan_ids: - 3 - 5 - 6 - 7-9 networks: property1: dns: - string dns_suffix: - string gateway: string ospf_interface_type: string subnet: string vlan_id: 0 zone: string property2: dns: - string dns_suffix: - string gateway: string ospf_interface_type: string subnet: string vlan_id: 0 zone: string ntp_servers: - string occupancy: assets_enabled: false clients_enabled: true min_duration: 3000 sdkclients_enabled: false unconnected_clients_enabled: false org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b ospf_areas: property1: include_loopback: false networks: corp: auth_keys: '1': auth-key-1 auth_type: md5 bfd_minimum_interval: 500 dead_interval: 40 hello_interval: 10 interface_type: nbma metric: 10000 guest: passive: true type: default property2: include_loopback: false networks: corp: auth_keys: '1': auth-key-1 auth_type: md5 bfd_minimum_interval: 500 dead_interval: 40 hello_interval: 10 interface_type: nbma metric: 10000 guest: passive: true type: default persist_config_on_device: false port_mirroring: property1: egress_port_ids: - ge-0/0/3 ingress_networks: - corp ingress_port_ids: - ge-0/0/3 output_network: analyze output_port_id: ge-0/0/5 property2: egress_port_ids: - ge-0/0/3 ingress_networks: - corp ingress_port_ids: - ge-0/0/3 output_network: analyze output_port_id: ge-0/0/5 port_usages: dynamic: mode: dynamic reset_default_when: link_down rules: - equals: string equals_any: - string expression: string src: lldp_chassis_id usage: string property1: all_networks: false allow_dhcpd: true authentication_protocol: pap bypass_auth_when_server_down: true description: string disable_autoneg: false disabled: false duplex: auto enable_mac_auth: true enable_qos: true guest_network: string mac_auth_only: true mac_limit: 0 mode: access mtu: 0 networks: - string persist_mac: false poe_disabled: false port_auth: string port_network: string rejected_network: null speed: string storm_control: no_broadcast: false no_multicast: false no_registered_multicast: false no_unknown_unicast: false percentage: 80 stp_edge: true voip_network: string property2: all_networks: false allow_dhcpd: true authentication_protocol: pap bypass_auth_when_server_down: true description: string disable_autoneg: false disabled: false duplex: auto enable_mac_auth: true enable_qos: true guest_network: string mac_auth_only: true mac_limit: 0 mode: access mtu: 0 networks: - string persist_mac: false poe_disabled: false port_auth: string port_network: string rejected_network: null speed: string storm_control: no_broadcast: false no_multicast: false no_registered_multicast: false no_unknown_unicast: false percentage: 80 stp_edge: true voip_network: string proxy: url: http://proxy.internal:8080/ radio_config: allow_rrm_disable: false ant_gain_24: 4 ant_gain_5: 5 ant_gain_6: 5 antenna_mode: default band_24: allow_rrm_disable: true ant_gain: 0 antenna_mode: default bandwidth: 20 channel: 0 channels: - 0 disabled: true power: 0 power_max: 0 power_min: 0 preamble: short usage: '24' band_24_usage: '5' band_5: allow_rrm_disable: true ant_gain: 0 antenna_mode: default bandwidth: 20 channel: 0 channels: - 0 disabled: true power: 0 power_max: 0 power_min: 0 preamble: short usage: '24' band_5_on_24_radio: allow_rrm_disable: true ant_gain: 0 antenna_mode: default bandwidth: 20 channel: 0 channels: - 0 disabled: true power: 0 power_max: 0 power_min: 0 preamble: short usage: '24' band_6: allow_rrm_disable: true ant_gain: 0 antenna_mode: default bandwidth: 20 channel: 0 channels: - 0 disabled: true power: 0 power_max: 0 power_min: 0 preamble: short usage: '24' indoor_use: false scanning_enabled: true radius_config: acct_interim_interval: 0 acct_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1813 secret: testing123 auth_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1812 secret: testing123 auth_servers_retries: 3 auth_servers_timeout: 5 coa_enabled: false coa_port: 3799 network: string source_ip: string remote_syslog: archive: files: 20 size: 5m console: contents: - facility: config severity: warning enabled: false files: - archive: files: 10 size: 5m contents: - facility: config severity: warning explicit_priority: true file: file-name match: '!alarm|ntp|errors.crc_error[chan]' structured_data: true network: default send_to_all_servers: false servers: - facility: config host: syslogd.internal port: 514 protocol: udp severity: info tag: '' time_format: millisecond users: - contents: - facility: config severity: warning match: '"!alarm|ntp|errors.crc_error[chan]"' user: '*' report_gatt: false rogue: enabled: false honeypot_enabled: false min_duration: 10 min_rssi: -80 whitelisted_bssids: - NeighborSSID whitelisted_ssids: - cc:8e:6f:d4:bf:16 - cc-8e-6f-d4-bf-16 - cc-73-* - cc:82:* rtsa: app_waking: false disable_dead_reckoning: true disable_pressure_sensor: false enabled: true track_asset: false simple_alert: arp_failure: client_count: 10 duration: 20 incident_count: 10 dhcp_failure: client_count: 10 duration: 10 incident_count: 20 dns_failure: client_count: 20 duration: 10 incident_count: 30 site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 skyatp: enabled: true send_ip_mac_mapping: true srx_app: enabled: false ssh_keys: - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAA...Wxa6p6UW0ZbcP john@host ssr: conductor_hosts: - '"1.1.1.1", "2.2.2.2"' disable_stats: true status_portal: enabled: false hostnames: - my.misty.com switch_matching: additional_config_cmds: - set snmp community public enabled: false rules: - property1: match_model: string name: string port_config: property1: usage: string property2: usage: string property2: match_model: string name: string port_config: property1: usage: string property2: usage: string switch_mgmt: ap_affinity_threshold: 10 config_revert_timer: 10 dhcp_option_fqdn: false mxedge_proxy_host: string mxedge_proxy_port: 2222 protect_re: allowed_services: - '["snmp", "icmp"]' custom: - port_range: string protocol: any subnets: - string enabled: true trusted_hosts: - '["10.242.3.0/24"]' root_password: string tacacs: acct_servers: - host: 198.51.100.1 port: '49' secret: string timeout: 10 enabled: true network: string tacplus_servers: - host: 198.51.100.1 port: '49' secret: string timeout: 10 use_mxedge_proxy: true track_anonymous_devices: false tunterm_monitoring: - host: 10.2.8.15 port: 80 protocol: tcp timeout: 300 tunterm_monitoring_disabled: false vars: RADIUS_IP1: 172.31.2.5 RADIUS_SECRET: 11s64632d vna: enabled: false vrf_instances: guest: extra_routes: 0.0.0.0/0: via: 192.168.31.1 networks: - guest vrrp_groups: property1: auth_key: auth-key-1 auth_password: string auth_type: md5 networks: data: ip: 10.182.96.1 mgmt: ip: 10.182.104.1 v10: ip: 10.182.104.129 wap: ip: 10.182.102.1 property2: auth_key: auth-key-1 auth_password: string auth_type: md5 networks: data: ip: 10.182.96.1 mgmt: ip: 10.182.104.1 v10: ip: 10.182.104.129 wap: ip: 10.182.102.1 vs_instances: property1: networks: - guest property2: networks: - guest wan_vna: enabled: false watched_station_url: https://papi.s3.amazonaws.com/watched_station/xxx... whitelist_url: https://papi.s3.amazonaws.com/whitelist/xxx... wids: repeated_auth_failures: duration: 60 threshold: 0 wifi: cisco_enabled: true disable_11k: false disable_radios_when_power_constrained: false enable_arp_spoof_check: false enable_shared_radio_scanning: true enabled: true locate_connected: true locate_unconnected: false mesh_allow_dfs: false mesh_enable_crm: false mesh_enabled: false mesh_psk: string mesh_ssid: string proxy_arp: default wired_vna: enabled: false zone_occupancy_alert: email_notifiers: - foo@juniper.net - bar@juniper.net enabled: false threshold: 5 schema: $ref: '#/components/schemas/site_setting' description: OK SiteSleMetrics: content: application/json: examples: example-1: value: enabled: - coverage - capacity - time-to-connect - failed-to-connect - roaming - roaming-v2 - throughput - switch-health - switch-throughput - switch-stc - gateway-health - application-health - wan-link-health - ap-availability supported: - coverage - capacity - time-to-connect - failed-to-connect - roaming - roaming-v2 - location-jitter - location-latency - throughput - location-dropped-requests - switch-health - switch-throughput - switch-stc - gateway-health - application-health - wan-link-health - ap-availability - location-sdk-connect-time - location-ble-hung schema: properties: enabled: items: type: string type: array supported: items: type: string type: array required: - supported - enabled type: object description: OK SiteTemplate: content: application/json: examples: example-1: value: auto_upgrade: day_of_week: mon enabled: true time_of_day: string version: string name: string vars: SSID_STR: string VLAN_ID: string schema: $ref: '#/components/schemas/site_template' description: Example response SiteTemplatesArray: content: application/json: examples: example-1: value: - auto_upgrade: day_of_week: mon enabled: true time_of_day: string version: string name: string vars: SSID_STR: string VLAN_ID: string schema: items: $ref: '#/components/schemas/site_template' type: array description: Example response SiteWebhookUpdateFailed: content: application/json: examples: RawDataWebhook-already-created: value: detail: Webhook already configured for special location topic webhook_id: f1ff49e8-9f77-420a-9854-c7de46d7cf80 RawDataWebhook-multiple-topics: value: detail: Only one location topic can be configured per URL schema: properties: detail: type: string webhook_id: type: string type: object description: Bad request Sitegroup: content: application/json: examples: example-1: value: created_time: 0 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 modified_time: 0 name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 site_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 schema: $ref: '#/components/schemas/sitegroup' description: OK SitegroupsArray: content: application/json: examples: example-1: value: - created_time: 0 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 modified_time: 0 name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 site_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 schema: items: $ref: '#/components/schemas/sitegroup' minItems: 1 type: array uniqueItems: true description: OK SitesArray: content: application/json: examples: example-1: value: - address: 1601 S. Deanza Blvd., Cupertino, CA, 95014 alarmtemplate_id: 684dfc5c-fe77-2290-eb1d-ef3d677fe168 apporttemplate_id: string aptemplate_id: 16bdf952-ade2-4491-80b0-85ce506c760b country_code: US created_time: 0 gatewaytemplate_id: 6f9b2e75-9b2f-b5ae-81e3-e14c76f1a90f id: 497f6eca-6276-5007-bfeb-53cbbbba6f19 latlng: lat: 37.295833 lng: -122.032946 modified_time: 0 name: Mist Office networktemplate_id: 12ae9bd2-e0ab-107b-72e8-a7a005565ec2 notes: string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b rftemplate_id: bb8a9017-1e36-5d6c-6f2b-551abe8a76a2 secpolicy_id: 3bcd0beb-5d0a-4cbd-92c1-14aea91e98ef sitegroup_ids: - 497f6eca-6276-5008-bfeb-53cbbbba6f1a timezone: America/Los_Angeles schema: items: $ref: '#/components/schemas/site' type: array description: OK SitesSearch: content: application/json: examples: example-1: value: end: 0 limit: 0 next: string results: - auto_upgrade_enabled: true auto_upgrade_version: string country_code: string honeypot_enabled: true id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 timestamp: 0 timezone: string vna_enabled: true wifi_enabled: true start: 0 total: 0 schema: properties: end: type: integer limit: type: integer next: type: string results: items: properties: auto_upgrade_enabled: type: boolean auto_upgrade_version: readOnly: true type: string country_code: nullable: true readOnly: true type: string honeypot_enabled: type: boolean id: format: uuid readOnly: true type: string name: readOnly: true type: string org_id: $ref: '#/components/schemas/org_id' site_id: $ref: '#/components/schemas/site_id' timestamp: readOnly: true type: number timezone: readOnly: true type: string vna_enabled: type: boolean wifi_enabled: type: boolean required: - honeypot_enabled - wifi_enabled - vna_enabled - timezone - country_code - timestamp - org_id - site_id - name - id - auto_upgrade_version - auto_upgrade_enabled title: site_search_item type: object minItems: 1 type: array uniqueItems: true start: type: integer total: type: integer required: - results - start - end - limit - total type: object description: OK SkyAtpEventsSearch: content: application/json: examples: example-1: value: end: 1513176951 limit: 10 results: - device_mac: 658279bb1fa4 ip: 172.16.0.11 mac: b019c66c8348 org_id: 3139f2c2-fac6-11e5-8156-0242ac110006 site_id: 70e0f468-fc13-11e5-85ad-0242ac110008 threat_level: 7 timestamp: 1592524478 type: cc start: 1512572151 total: 1 schema: properties: end: type: integer limit: type: integer next: type: string results: items: $ref: '#/components/schemas/events_skyatp' minItems: 1 type: array uniqueItems: true start: type: integer total: type: integer required: - end - limit - results - start - total type: object description: OK SleClassifierSummary: content: application/json: examples: example-1: value: classifier: impact: num_aps: 2 num_users: 17 interval: 3600 name: wifi-interference samples: degraded: - 0 - 0 - 210.03334 - 3.1333334 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 102.5 - 108.03333 - 0 - 0 - 201.9 - 566.48334 - 135.63333 - 0 duration: - 0 - 0 - 210.03334 - 3.1333334 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 102.5 - 108.03333 - 0 - 0 - 201.9 - 566.48334 - 135.63333 - 0 total: - 1302.3 - 1289.0167 - 1396.3167 - 1423.6666 - 1439.2167 - 1414.7 - 1361.0834 - 1371.5834 - 1372.0667 - 1339.1 - 1374.3667 - 1369.9 - 1352.4833 - 1382.8 - 1426.7167 - 1425.6333 - 1403.9333 - 1420.75 - 1416.8334 - 1437.3334 - 1425.1 - 1485.3667 - 1426.4333 - 444.13333 x_label: seconds y_label: user-minutes end: 1627312871 failures: [] impact: num_aps: 2 num_users: 21 total_aps: 3 total_users: 26 metric: capacity start: 1627226471 schema: $ref: '#/components/schemas/sle_classifier_summary' description: Example response SleHistogram: content: application/json: examples: example-1: value: data: - range: - null - 0 value: 0 - range: - 0 - 10 value: 0 - range: - 10 - 20 value: 5105 - range: - 20 - 30 value: 10616 - range: - 30 - 40 value: 40051 - range: - 40 - 50 value: 141201 - range: - 50 - 60 value: 949823 - range: - 60 - 70 value: 686308 - range: - 70 - 80 value: 177670 - range: - 80 - 90 value: 689 - range: - 90 - 100 value: 0 - range: - 100 - null value: 0 end: 1627055181 metric: capacity start: 1626968781 x_label: available-bandwidth(%) y_label: seconds schema: $ref: '#/components/schemas/sle_histogram' description: Example response SleImpactSummary: content: application/json: examples: example-1: value: ap: - ap_mac: 5c5b3550bd2e degraded: 1486 duration: 0 name: ap43-off.lab total: 27406 - ap_mac: d420b083e17a degraded: 3 duration: 0 name: ap33-ent.lab total: 1193 band: - band: '24' degraded: 1410 duration: 0 name: '24' total: 28536 - band: '5' degraded: 78 duration: 0 name: '5' total: 4679 classifier: '' device_os: - degraded: 1329 device_os: '' duration: 0 name: unknown total: 27165 - degraded: 81 device_os: Linux duration: 0 name: Linux total: 1437 - degraded: 36 device_os: Android 11 duration: 0 name: Android 11 total: 761 - degraded: 39 device_os: '14.6' duration: 0 name: '14.6' total: 2413 - degraded: 2 device_os: Catalina duration: 0 name: Catalina total: 1438 device_type: - degraded: 1410 device_type: '' duration: 0 name: unknown total: 28603 - degraded: 2 device_type: iPhone duration: 0 name: iPhone total: 1263 - degraded: 36 device_type: OnePlus duration: 0 name: OnePlus total: 761 - degraded: 37 device_type: iPad duration: 0 name: iPad total: 1150 - degraded: 2 device_type: Mac duration: 0 name: Mac total: 1438 end: 1627312734 failure: '' metric: capacity start: 1627226334 wlan: - degraded: 37 duration: 0 name: MlN.ADM total: 1150 wlan_id: ba3f85fc-ba48-4d8f-ad89-152e5c42db18 - degraded: 1410 duration: 0 name: MlN total: 28603 wlan_id: 649a2336-b1e0-47bd-961c-f637dbe50e7b - degraded: 41 duration: 0 name: MlN.1X total: 3462 wlan_id: a937da77-fe3c-4784-86c4-f2134d7b1483 schema: $ref: '#/components/schemas/sle_impact_summary' description: Example response SleImpactedApplications: content: application/json: examples: example-1: value: apps: - app: ZOOM degraded: 371103 duration: 0 name: ZOOM threshold: 173 total: 1771274 classifier: '' end: 1668760746 failure: '' limit: '1000' metric: application-health page: 1 start: 1668121200 total_count: 1 schema: $ref: '#/components/schemas/sle_impacted_applications' description: Example response SleImpactedAps: content: application/json: examples: example-1: value: aps: - ap_mac: 5c5b35500000 degraded: 1486 duration: 0 name: ap43.lab total: 27377 - ap_mac: d420b0830000 degraded: 3 duration: 0 name: ap33.lab total: 1189 classifier: '' end: 1627313016 failure: '' limit: 1000 metric: capacity page: 1 start: 1627226616 total_count: 2 schema: $ref: '#/components/schemas/sle_impacted_aps' description: Example response SleImpactedChassis: content: application/json: examples: example-1: value: chassis: - chassis: '1' degraded: 12.283334 duration: 13655.167 role: master switch_mac: d0dd49012345 switch_name: test-chassis total: 13655.167 classifier: '' end: 1668760643 failure: '' limit: 1000 metric: switch-health page: 1 start: 1668121200 total_count: 1 schema: $ref: '#/components/schemas/sle_impacted_chassis' description: Example response SleImpactedClients: content: application/json: examples: example-1: value: classifier: '' clients: - degraded: 40 duration: 11014 mac: '001122334455' name: test-device switches: - interfaces: - ge-0/0/6 switch_mac: 2c2131001122 switch_name: test-ex total: 11014 end: 1668760198 failure: '' limit: 1000 metric: switch-throughput page: 1 start: 1668726000 total_count: 1 schema: $ref: '#/components/schemas/sle_impacted_clients' description: Example response SleImpactedGateways: content: application/json: examples: example-1: value: classifier: '' end: 1668760746 failure: '' gateways: - degraded: 758573.1 duration: 2770997 gateway_mac: fc3342001122 gateway_model: SRX320 gateway_version: 20.4R1.12 name: test-SRX total: 2770997 limit: 1000 metric: application-health page: 1 start: 1668121200 total_count: 1 schema: $ref: '#/components/schemas/sle_impacted_gateways' description: Example response SleImpactedInterfaces: content: application/json: examples: example-1: value: classifier: '' end: 1668760198 failure: '' interfaces: - degraded: 11.583333 duration: 765.4667 interface_name: ge-0/0/10 switch_mac: 2c2131001122 switch_name: test-ex total: 765.4667 - degraded: 191.08333 duration: 13775.35 interface_name: xe-0/1/0 switch_mac: 2c2131001122 switch_name: test-ex total: 13775.35 limit: 1000 metric: switch-throughput page: 1 start: 1668726000 total_count: 5 schema: $ref: '#/components/schemas/sle_impacted_interfaces' description: Example response SleImpactedSwitches: content: application/json: examples: example-1: value: classifier: '' end: 1668760198 failure: '' limit: 1000 metric: switch-throughput page: 1 start: 1668726000 switches: - degraded: 109.88333 duration: 5753.75 interface: - ge-0/0/11 - xe-0/1/0 name: test-ex switch_mac: 2c2131001122 switch_model: EX2300-C-12P switch_version: 20.4R3-S3.4 total: 5753.75 total_count: 1 schema: $ref: '#/components/schemas/sle_impacted_switches' description: Example response SleImpactedUsers: content: application/json: examples: example-1: value: classifier: '' end: 1627313103 failure: '' limit: 1000 metric: capacity page: 1 start: 1627226703 total_count: 21 users: - ap_mac: d420b0830000 ap_name: ap33.lab degraded: 2 device_os: '14.6' device_type: iPhone duration: 1270 mac: dc080f360000 name: aPhone-20973 ssid: lab.1X total: 1270 wlan_id: a937da77-0000-0000-0000-f2134d7b1483 - ap_mac: 5c5b35500000 ap_name: ap43.lab degraded: 36 device_os: Android 11 device_type: OnePlus duration: 767 mac: 4c4feedc0000 name: OnePlus-8 ssid: lab.1X total: 767 wlan_id: a937da77-0000-0000-0000-f2134d7b1483 - ap_mac: 5c5b35500000 ap_name: ap43.lab degraded: 2 device_os: Catalina device_type: Mac duration: 1405 mac: a483e7390000 name: tmunzer-mbp ssid: lab.1X total: 1405 wlan_id: a937da77-0000-0000-0000-f2134d7b1483 - ap_mac: 5c5b35500000 ap_name: ap43.lab degraded: 81 device_os: Linux device_type: unknown duration: 1403 mac: 5caafd0d0000 name: SonosZP ssid: lab total: 1403 wlan_id: 649a2336-0000-0000-0000-f637dbe50e7b schema: $ref: '#/components/schemas/sle_impacted_users' description: Example response SleSummary: content: application/json: examples: example-1: value: classifiers: - impact: num_aps: 1 num_users: 4 total_aps: 3 total_users: 26 interval: 3600 name: client-count samples: degraded: - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 5.8 - 0 - 0 - 0 - 4.65 - 0 - 7.55 - 47.55 - 13.266666 duration: - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 5.8 - 0 - 0 - 0 - 4.65 - 0 - 7.55 - 47.55 - 13.266666 total: - 1302.3 - 1289.0167 - 1396.3167 - 1423.6666 - 1439.2167 - 1414.7 - 1361.0834 - 1371.5834 - 1372.0667 - 1339.1 - 1374.3667 - 1369.9 - 1352.4833 - 1382.8 - 1426.7167 - 1425.6333 - 1403.9333 - 1420.75 - 1416.8334 - 1437.3334 - 1425.1 - 1485.3667 - 1426.4333 - 289.83334 x_label: seconds y_label: user-minutes - impact: num_aps: 2 num_users: 17 total_aps: 3 total_users: 26 interval: 3600 name: wifi-interference samples: degraded: - 0 - 0 - 210.03334 - 3.1333334 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 102.5 - 108.03333 - 0 - 0 - 201.9 - 566.48334 - 135.63333 - 0 duration: - 0 - 0 - 210.03334 - 3.1333334 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 102.5 - 108.03333 - 0 - 0 - 201.9 - 566.48334 - 135.63333 - 0 total: - 1302.3 - 1289.0167 - 1396.3167 - 1423.6666 - 1439.2167 - 1414.7 - 1361.0834 - 1371.5834 - 1372.0667 - 1339.1 - 1374.3667 - 1369.9 - 1352.4833 - 1382.8 - 1426.7167 - 1425.6333 - 1403.9333 - 1420.75 - 1416.8334 - 1437.3334 - 1425.1 - 1485.3667 - 1426.4333 - 289.83334 x_label: seconds y_label: user-minutes - impact: num_aps: 0 num_users: 0 total_aps: 3 total_users: 26 interval: 3600 name: client-usage samples: degraded: - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 duration: - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 total: - 1302.3 - 1289.0167 - 1396.3167 - 1423.6666 - 1439.2167 - 1414.7 - 1361.0834 - 1371.5834 - 1372.0667 - 1339.1 - 1374.3667 - 1369.9 - 1352.4833 - 1382.8 - 1426.7167 - 1425.6333 - 1403.9333 - 1420.75 - 1416.8334 - 1437.3334 - 1425.1 - 1485.3667 - 1426.4333 - 289.83334 x_label: seconds y_label: user-minutes - impact: num_aps: 1 num_users: 17 total_aps: 3 total_users: 26 interval: 3600 name: non-wifi-interference samples: degraded: - 0 - 0 - 0 - 0 - 16.65 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 31.15 - 17.616667 - 17.85 - 0 - 0 - 0 - 0 duration: - 0 - 0 - 0 - 0 - 16.65 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 31.15 - 17.616667 - 17.85 - 0 - 0 - 0 - 0 total: - 1302.3 - 1289.0167 - 1396.3167 - 1423.6666 - 1439.2167 - 1414.7 - 1361.0834 - 1371.5834 - 1372.0667 - 1339.1 - 1374.3667 - 1369.9 - 1352.4833 - 1382.8 - 1426.7167 - 1425.6333 - 1403.9333 - 1420.75 - 1416.8334 - 1437.3334 - 1425.1 - 1485.3667 - 1426.4333 - 289.83334 x_label: seconds y_label: user-minutes end: 1627312606 events: [] impact: num_aps: 2 num_users: 21 total_aps: 3 total_users: 26 sle: interval: 3600 name: capacity samples: degraded: - 0 - 0 - 210.03334 - 3.1333334 - 16.65 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 5.8 - 102.5 - 139.18333 - 17.616667 - 22.5 - 201.9 - 574.0333 - 183.18333 - 13.266666 total: - 1302.3 - 1289.0167 - 1396.3167 - 1423.6666 - 1439.2167 - 1414.7 - 1361.0834 - 1371.5834 - 1372.0667 - 1339.1 - 1374.3667 - 1369.9 - 1352.4833 - 1382.8 - 1426.7167 - 1425.6333 - 1403.9333 - 1420.75 - 1416.8334 - 1437.3334 - 1425.1 - 1485.3667 - 1426.4333 - 289.83334 value: - 0.6764934 - 0.6783766 - 0.641645 - 0.6934629 - 0.68676674 - 0.6834809 - 0.6961604 - 0.6979584 - 0.7033722 - 0.70410794 - 0.7025278 - 0.70305353 - 0.70292175 - 0.7009334 - 0.69344264 - 0.68596864 - 0.5952168 - 0.62183666 - 0.68161446 - 0.65352744 - 0.6183489 - 0.54178274 - 0.6044712 - 0.66845906 x_label: seconds y_label: '%' start: 1627226206 schema: $ref: '#/components/schemas/sle_summary' description: Example response SleThreshold: content: application/json: examples: example-1: value: default: -72 direction: left maximum: -60 metric: coverage minimum: -90 threshold: '-66' units: dBm schema: $ref: '#/components/schemas/sle_threshold' description: Example response Sso: content: application/json: examples: example-1: value: created_time: 0 custom_logout_url: string default_role: string domain: string id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 idp_cert: string idp_sign_algo: string idp_sso_url: string ignore_unmatched_roles: true issuer: string modified_time: 0 msp_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 name: string nameid_format: email org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 type: string schema: $ref: '#/components/schemas/sso' description: OK SsoLatestFailures: content: application/json: examples: example-1: value: results: - detail: string saml_assertion_xml: string timestamp: 0 schema: properties: results: items: properties: detail: type: string saml_assertion_xml: type: string timestamp: type: number required: - timestamp - detail - saml_assertion_xml title: sso_failure_entry minItems: 1 type: array uniqueItems: true required: - results type: object description: OK SsoRoleMsp: content: application/json: examples: example-1: value: created_time: 0 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 modified_time: 0 msp_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 privileges: - orggroup_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 role: read scope: orggroup site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 schema: $ref: '#/components/schemas/sso_role_msp' description: OK SsoRoleOrg: content: application/json: examples: example-1: value: created_time: 0 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 modified_time: 0 msp_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 privileges: - role: admin scope: sitegroup sitegroup_id: 6f4bf402-45f9-2a56-6c8b-7f83d3bc98e9 site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 schema: $ref: '#/components/schemas/sso_role_org' description: OK SsoRolesMspArray: content: application/json: schema: items: $ref: '#/components/schemas/sso_role_msp' type: array description: Example response SsoRolesOrgArray: content: application/json: schema: items: $ref: '#/components/schemas/sso_role_org' type: array description: Example response SsoSamlMetadata: content: application/json: examples: example-1: value: acs_url: https://api.mist.com/api/v1/saml/llDfa13f/login entity_id: https://api.mist.com/api/v1/saml/llDfa13f/login logout_url: https://api.mist.com/api/v1/saml/llDfa13f/logout metadata_xml: urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified schema: properties: acs_url: example: https://api.mist.com/api/v1/saml/llDfa13f/login readOnly: true type: string entity_id: example: https://api.mist.com/api/v1/saml/llDfa13f/login readOnly: true type: string logout_url: example: https://api.mist.com/api/v1/saml/llDfa13f/logout readOnly: true type: string metadata_xml: example: urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified readOnly: true type: string required: - acs_url - logout_url - metadata_xml - entity_id type: object description: OK SsosArray: content: application/json: examples: example-1: value: - created_time: 0 custom_logout_url: string default_role: string domain: string id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 idp_cert: string idp_sign_algo: string idp_sso_url: string ignore_unmatched_roles: true issuer: string modified_time: 0 msp_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 name: string nameid_format: email org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 type: string schema: items: $ref: '#/components/schemas/sso' type: array description: OK SsrUpgrade: content: application/json: examples: example-1: value: channel: stable counts: failed: 0 queued: 1 success: 0 upgrading: 1 device_type: gateway id: ceef2c8a-e2e6-447a-8b27-cb4f3ec1adae status: upgrading strategy: serial versions: {} schema: $ref: '#/components/schemas/ssr_upgrade_response' description: Example response SsrUpgradeStatus: content: application/json: examples: example-1: value: channel: stable device_type: gateway id: 5cbcee0a-c620-4bb4-a25e-15000934e9d8 status: upgrading targets: failed: [] queued: [] success: [] upgrading: - 8e525f1d-4178-4ae1-a988-2b0176855e55 versions: {} schema: properties: channel: minLength: 1 type: string device_type: type: string id: minLength: 1 type: string status: minLength: 1 type: string targets: properties: failed: items: type: string type: array queued: items: type: string type: array success: items: type: string type: array upgrading: items: type: string type: array required: - queued - upgrading - success - failed title: ssr_upgrade_targets type: object versions: type: object required: - status - versions - channel - id - targets type: object description: OK SsrUpgradesArray: content: application/json: examples: example-1: value: - channel: stable counts: failed: 0 queued: 1 success: 0 upgrading: 1 device_type: gateway id: ceef2c8a-e2e6-447a-8b27-cb4f3ec1adae status: upgrading strategy: serial versions: {} schema: items: $ref: '#/components/schemas/ssr_upgrade_response' type: array description: Example response SsrVersions: content: application/json: examples: example-1: value: - package: 128T-wheeljack version: 128T-wheeljack-0.1.0-1212.x86_64 schema: items: properties: default: type: boolean package: minLength: 1 type: string version: minLength: 1 type: string required: - package - version title: ssr_version type: object minItems: 1 type: array uniqueItems: true description: OK SwitchMetrics: content: application/json: examples: site-scoped: value: active_ports_summary: details: active_port_count: 4 total_port_count: 4 score: 100 total_switch_count: 2 config_success: details: config_success_count: 2 score: 100 total_switch_count: 2 version_compliance: details: major_versions: - major_count: 1 major_version: 21.4R3.5 model: EX2300-C-12P system_names: [] - major_count: 1 major_version: 6.0.4-11 model: SSR120 system_names: [] score: 100 total_switch_count: 2 switch-scoped: value: active_ports_summary: details: active_port_count: 1 total_port_count: 2 score: 50 switch_id: 67970e46-4e12-11e6-9188-0242ac110007_fc334262ef00 total_switch_count: 1 schema: properties: active_ports_summary: properties: details: properties: active_port_count: type: integer total_port_count: type: integer title: switch_metric_active_ports_summary_details type: object score: type: integer total_switch_count: type: integer type: object config_success: properties: details: properties: config_success_count: type: integer title: switch_metric_config_success_details type: object score: type: integer total_switch_count: type: integer type: object version_compliance: properties: details: properties: major_versions: items: properties: major_count: type: integer major_version: type: string model: type: string system_names: items: properties: {} type: object type: array title: switch_version_compliance_major_version type: object type: array title: switch_version_compliance_details type: object score: type: integer total_switch_count: type: integer title: switch_version_compliance type: object type: object description: OK SwitchPortsSearch: content: application/json: examples: Example: value: end: 1513177200 limit: 10 results: - active: true auth_state: init for_site: true full_duplex: true jitter: 0 latency: 0 loss: 0 lte_iccid: string lte_imei: string lte_imsi: string mac: 5c4527a96580 mac_count: 0 mac_limit: 0 neighbor_mac: 64d814353400 neighbor_port_desc: GigabitEthernet1/0/21 neighbor_system_name: CORP-D-SW-2 org_id: c168ddee-c14c-11e5-8e81-1258369c38a9 poe_disabled: true poe_mode: 802.3af poe_on: true port_id: ge-0/0/0 port_mac: 5c4527a96580 port_usage: lan power_draw: 0 rx_bcast_pkts: 0 rx_bps: 0 rx_bytes: 4563443626 rx_errors: 0 rx_mcast_pkts: 0 rx_pkts: 0 site_id: c1698122-c14c-11e5-8e81-1258369c38a9 speed: 1000 stp_role: designated stp_state: forwarding tx_bcast_pkts: 0 tx_bps: 0 tx_bytes: 11299516780 tx_errors: 0 tx_mcast_pkts: 0 tx_pkts: 492176 type: gateway up: true xcvr_part_number: string start: 1511967600 total: 100 schema: properties: end: example: 1513177200 type: integer limit: example: 10 type: integer results: items: $ref: '#/components/schemas/switch_port_stats' type: array start: example: 1511967600 type: integer total: example: 100 type: integer required: - start - end - limit - total - results type: object description: List of Switch Ports Stats SyntheticTest: content: application/json: examples: Example: value: id: a42775f6-edc8-69b5-f979-542fa1b43ff9 message: Successfully queued synthetic test for the site. status: string schema: properties: id: example: a42775f6-edc8-69b5-f979-542fa1b43ff9 format: uuid type: string message: example: Successfully queued synthetic test for the site. type: string status: example: success type: string type: object description: Synthetic Test Started SynthetictestSearch: content: application/json: examples: Example: value: end: 0 limit: 0 next: string results: - by: user device_type: gateway failed: 'false' latency: '40' mac: '001122334455' port_id: ge-0/0/2 rx_mbps: '322' timestamp: '1706824045.059036' tx_mbps: '199' type: speedtest vlan_id: '20' - by: marvis device_type: gateway failed: 'true' latency: '0' mac: '001122334455' port_id: ge-0/0/2 reason: interface not ready to perform test rx_mbps: '0' timestamp: '1706824045.059036' tx_mbps: '0' type: speedtest vlan_id: '100' start: 0 total: 0 schema: properties: end: type: integer limit: type: integer next: type: string results: items: $ref: '#/components/schemas/synthetic_test_info' type: array start: type: integer total: type: integer required: - end - limit - results - start - total type: object description: Synthetic Test Search Result SynthetictestStatus: content: application/json: examples: Example: value: device_type: gateway mac: 5c5b35584a6f port_id: ge-0/0/1.100 start_time: 1675718807 status: inprogress type: speedtest schema: $ref: '#/components/schemas/synthetic_test_info' description: Synthetic Test Status Template: content: application/json: examples: example-1: value: applies: org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 site_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 sitegroup_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 created_time: 0 deviceprofile_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 exceptions: site_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 sitegroup_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 filter_by_deviceprofile: true id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 modified_time: 0 name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 schema: $ref: '#/components/schemas/template' description: OK TemplatesArray: content: application/json: examples: example-1: value: - applies: org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 site_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 sitegroup_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 created_time: 0 deviceprofile_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 exceptions: site_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 sitegroup_ids: - b069b358-4c97-5319-1f8c-7c5ca64d6ab1 filter_by_deviceprofile: true id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 modified_time: 0 name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 schema: items: $ref: '#/components/schemas/template' type: array description: OK Ticket: content: application/json: examples: example-1: value: comments: - attachments: - content_type: string content_url: string size: 0 author: string comment: string created_at: 0 created_at: 0 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 requester: string status: open subject: string type: string updated_at: 0 schema: $ref: '#/components/schemas/ticket' description: OK TicketsArray: content: application/json: examples: example-1: value: - comments: - attachments: - content_type: string content_url: string size: 0 author: string comment: string created_at: 0 created_at: 0 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 requester: string status: open subject: string type: string updated_at: 0 schema: items: $ref: '#/components/schemas/ticket' type: array description: OK Troubleshoot: content: application/json: examples: Example: value: end: 1655151856 results: - category: client reason: slow association recommendation: Ensure the IP helper-address is configured on the VLAN interface. text: Clients of the AP had slow association 8% of the time on Bhavabhi and 5 GHz. ... start: 1655065456 schema: properties: end: example: 1655151856 type: integer results: items: properties: category: example: client type: string reason: example: slow association type: string recommendation: example: Ensure the IP helper-address is configured on the VLAN interface. type: string text: example: Clients of the AP had slow association 8% of the time on Bhavabhi and 5 GHz. ... type: string title: troubleshoot_item type: object type: array start: example: 1655065456 type: integer type: object description: Troubleshoot Response TunnelsSearch: content: application/json: examples: type-wan: value: end: 1531862583 limit: 10 results: - auth_algo: hmac-md5-96 encrypt_algo: aes-256-cbc ike_version: '2' ip: 192.168.233.0 last_event: down reason mac: 020001ae9dd5 node: node0 org_id: 78c11da8-f984-4425-bedb-a7ddd7d0f6da peer_host: sunnyvale1-vpn.zscalerbeta.net peer_ip: 10.224.8.16 protocol: ipsec rx_bytes: 150 rx_pkts: 75 site_id: e83e7928-eda1-4e93-82db-df3dd42ab726 tunnel_name: Device-ipsec-1 tx_bytes: 100 tx_pkts: 50 up: true uptime: 10 wan_name: wan start: 1531776183 total: 1 type-wxtunnel: value: end: 1531862583 limit: 10 results: - ap: 5c5b35000010 last_seen: 1547437078 mxcluster_id: 572586b7-f97b-a22b-526c-8b97a3f609c4 mxedge_id: 387804a7-3474-85ce-15a2-f9a9684c9c90 mxtunnel_id: 7dae216d-7c98-a51b-e068-dd7d477b7216 org_id: 2818e386-8dec-2562-9ede-5b8a0fbbdc71 peer_mxedge_id: 09320a5c-bc23-441e-80a0-b96c632d45f5 remote_ip: 172.16.1.2 remote_port: 13535 rx_control_pkts: 7571 sessions: - local_sid: 31 remote_id: mxtunnel remote_sid: 13 state: established site_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862b state: established_with_sessions tx_control_pkts: 14862 uptime: 135 start: 1531776183 total: 1 schema: properties: end: type: integer limit: type: integer next: type: string results: items: anyOf: - $ref: '#/components/schemas/mxtunnel_stats' - $ref: '#/components/schemas/wantunnel_stats' type: array start: type: integer total: type: integer required: - end - limit - results - start - total type: object description: OK TwoFactor: content: application/json: examples: Example: value: two_factor_secret: NRMTSTRWNBVECY3GJVYEY3DDJFRGSNCZGJUDO4RVN5FDM3DUMJSA schema: properties: two_factor_secret: example: NRMTSTRWNBVECY3GJVYEY3DDJFRGSNCZGJUDO4RVN5FDM3DUMJSA type: string type: object application/octet-stream: schema: description: if `by`==`qrcode`, returns the secret as a qrcode image type: string description: Two Factor configuration Token UiSettings: content: application/json: examples: Example: value: created_time: 1508823803 defaultScopeId: 67970e46-4e12-11e6-9188-0242ad112847 defaultScopeType: site defaultTimeRange: end: 1508828400 endDate: 10/23/2017 interval: 1d name: This Week shortName: thisWeek start: 1508655600 usePreset: true description: Description of the databoard for_site: true id: 3bdcc7e8-c04d-4512-b4fc-093da9057eb0 isCustomDataboard: true isScopeLinked: true isTimeRangeLinked: true modified_time: 0 name: New Databoard org_id: cc079380-5029-4d4a-9125-858de85731ff purpose: databoard site_id: 67970e46-4e12-11e6-9188-0242ad112847 tiles: - chartBand: 2.4 ghz chartColor: '#00B4AD' chartDirection: tx + rx chartRankBy: string chartType: timeSeries colspan: 5 column: 1 hideEmptyRows: true id: 7a9ab38c-cfc3-483d-b51a-0aec571fadc0 metric: apiName: client-dhcp-latency name: New Analysis row: 1 rowspan: 2 scopeId: e0c767834b4c scopeType: client sortedColumns: null timeRange: end: 1508823743 endDate: 10/23/2017 interval: 1d name: Past 7 Days shortName: 7d start: 1508223600 usePreset: true trendType: line vizType: averageTimeSeriesChart schema: $ref: '#/components/schemas/ui_settings' description: Example response UiSettingsArray: content: application/json: examples: Example: value: - created_time: 1508823803 defaultScopeId: 67970e46-4e12-11e6-9188-0242ad112847 defaultScopeType: site defaultTimeRange: end: 1508828400 endDate: 10/23/2017 interval: 1d name: This Week shortName: thisWeek start: 1508655600 usePreset: true description: Description of the databoard for_site: true id: 3bdcc7e8-c04d-4512-b4fc-093da9057eb0 isCustomDataboard: true isScopeLinked: true isTimeRangeLinked: true modified_time: 0 name: New Databoard org_id: cc079380-5029-4d4a-9125-858de85731ff purpose: databoard site_id: 67970e46-4e12-11e6-9188-0242ad112847 tiles: - chartBand: 2.4 ghz chartColor: '#00B4AD' chartDirection: tx + rx chartRankBy: string chartType: timeSeries colspan: 5 column: 1 hideEmptyRows: true id: 7a9ab38c-cfc3-483d-b51a-0aec571fadc0 metric: apiName: client-dhcp-latency name: New Analysis row: 1 rowspan: 2 scopeId: e0c767834b4c scopeType: client sortedColumns: null timeRange: end: 1508823743 endDate: 10/23/2017 interval: 1d name: Past 7 Days shortName: 7d start: 1508223600 usePreset: true trendType: line vizType: averageTimeSeriesChart schema: items: $ref: '#/components/schemas/ui_settings' type: array description: List of UI Setting UpdateSelfFailed: content: application/json: examples: invalid-email-address: value: {} new-email-address-already-exists: value: detail: email already existed schema: properties: detail: type: string type: object description: invalid email address or new email address already exists UpgradeInfo: content: application/json: examples: example-1: value: status: inprogress status_id: 5 timestamp: 1428949501 schema: properties: status: enum: - starting - inprogress - success - error - scheduled title: upgrade_info_status type: string status_id: description: the internal status id type: integer timestamp: description: timestamp type: number required: - timestamp - status - status_id type: object description: OK UserMac: content: application/json: examples: Blacklist: value: blacklisted: true labels: - ddos mac: 5684dae9ac8b Guest: value: cross_site: false email: john@example.com expire_time: 1709336127 for_guest_wifi: true labels: - byod mac: 5684dae9ac8b name: john's phone site_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862b vlan_id: 30 schema: $ref: '#/components/schemas/user_mac' UserMacArray: content: application/json: examples: Example: value: - blacklisted: true labels: - ddos mac: 5684dae9ac8b - cross_site: false email: john@example.com expire_time: 1709336127 for_guest_wifi: true labels: - byod mac: 5684dae9ac8b name: john's phone site_id: 4ac1dcf4-9d8b-7211-65c4-057819f0862b vlan_id: 30 schema: $ref: '#/components/schemas/user_mac_array' Uuid: content: application/json: examples: example-1: value: id: 470f6eca-6276-4993-bfeb-53cbbbba6f48 schema: properties: id: format: uuid readOnly: true type: string type: object description: OK VBeacon: content: application/json: examples: example-1: value: created_time: 0 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 major: 0 map_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 message: string minor: 0 modified_time: 0 name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 power: 4 power_mode: default site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 url: string uuid: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 wayfinding_nodename: string x: 0 y: 0 schema: $ref: '#/components/schemas/vbeacon' description: OK VBeaconsArray: content: application/json: examples: example-1: value: - created_time: 0 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 major: 0 map_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 message: string minor: 0 modified_time: 0 name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 power: 4 power_mode: default site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 url: string uuid: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 wayfinding_nodename: string x: 0 y: 0 schema: items: $ref: '#/components/schemas/vbeacon' type: array description: OK VerifyRegisterTokenAlreadyRegistered: content: application/json: examples: already-registered: value: detail: already registered verification-expired: value: detail: expired schema: properties: detail: type: string required: - detail type: object description: Response if verification expired or already registered VerifyRegisterTokenInvalid: content: application/json: examples: not-found: value: detail: Not found. schema: properties: detail: type: string required: - detail type: object description: Response if secret is invalid VerifyRegisterTokenSuccess: content: application/json: examples: success: value: return_to: http://mist.zendesk.com/hc/quickstart.pdf success-but-failed-to-apply-the-invitation-automatically: value: detail: password policy not met invite_not_applied: true min_length: 8 schema: properties: detail: type: string invite_not_applied: type: boolean min_length: type: integer return_to: type: string type: object description: OK headers: Set-Cookie: schema: example: csrftoken=vwvBuq9qkqaKh7lu8tNc0gkvBfEaLAmx; expires=Tue, 15-Mar-2016 19:47:20 GMT; Max-Age=31449600; Path=/ type: string VirtualChassis: content: application/json: examples: example-1: value: id: members: - mac: string member: 0 vc_ports: - string vc_role: master op: add schema: properties: id: $ref: '#/components/schemas/virtual_chassis_config' type: object description: Example response Vpn: content: application/json: examples: example-1: value: created_time: 0 id: 497f6eca-6276-5009-bfeb-53cbbbba6f1b modified_time: 0 name: string org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b paths: property1: bfd_profile: broadband ip: string property2: bfd_profile: broadband ip: string schema: $ref: '#/components/schemas/vpn' description: Example response VpnPeersStats: content: application/json: examples: example-1: value: end: 1619518989.4989712 limit: 10 results: - auth_algo: hmac-sha1-96 enc_algo: aes-cbc-128 ike_version: '1' is_active: true last_seen: 1619518709.222 mac: 020001c04668 org_id: 0c160b7f-1027-4cd1-923b-744534c4b070 peer_mac: 020001367edd peer_port_id: DC_Internet peer_site_id: 725a8d34-a126-4f2c-b990-d1219421cb75 port_id: Lte site_id: 725a8d34-a126-4f2c-b990-d1219421cb75 type: svr up: true uptime: 1527128046 - is_active: true last_seen: 1619518709.222 latency: 91 mac: 020001c04668 mos: 436 mtu: 1500 org_id: 0c160b7f-1027-4cd1-923b-744534c4b070 peer_mac: 020001367edd peer_port_id: DC_Internet peer_router_name: RIDCBBP1 peer_site_id: 725a8d34-a126-4f2c-b990-d1219421cb75 port_id: Lte router_name: RIST01544AP1 site_id: 725a8d34-a126-4f2c-b990-d1219421cb75 type: svr up: true uptime: 1527128046 start: 1619518689.4989705 total: 2 schema: properties: end: type: number limit: type: integer next: type: string results: items: properties: is_active: description: Redundancy status of the associated interface type: boolean last_seen: type: number latency: type: number mac: description: router mac address minLength: 1 type: string mos: type: number mtu: type: integer org_id: $ref: '#/components/schemas/org_id' peer_mac: description: peer router mac address minLength: 1 type: string peer_port_id: description: peer router device interface minLength: 1 type: string peer_router_name: minLength: 1 type: string peer_site_id: $ref: '#/components/schemas/site_id' port_id: description: router device interface minLength: 1 type: string router_name: minLength: 1 type: string site_id: $ref: '#/components/schemas/site_id' type: description: '`ipsec`for SRX, `svr` for 128T' minLength: 1 type: string up: type: boolean uptime: type: integer title: vpn_peer_stat type: object minItems: 1 type: array uniqueItems: true start: type: number total: type: integer required: - end - limit - results - start - total type: object description: OK VpnsArray: content: application/json: examples: example-1: value: - name: string paths: property1: bfd_profile: broadband ip: string property2: bfd_profile: lte ip: string schema: items: $ref: '#/components/schemas/vpn' type: array description: Example response WanClientEventsSearch: content: application/json: examples: Example: value: end: 0 limit: 0 results: When: '2022-12-31T23:59:59.293Z' ev_type: CLIENT_IP_ASSIGNED metadata: {} org_id: b0b9f142-aaba-11e6-aafc-0242ac110002 random_mac: true site_id: fc656275-b157-43fd-b922-5f4f341c19bf text: DHCP Ack IP 192.168.88.216 wcid: 62bbfb75-10d8-49d1-dec7-d2df91624287 start: 0 total: 0 schema: properties: end: type: integer limit: type: integer results: $ref: '#/components/schemas/events_client_wan' start: type: integer total: type: integer type: object description: Example response WanClientsSearch: content: application/json: examples: Example: value: end: 0 limit: 0 results: When: 2022-12-31T23:59:43.497+0000 hostname: - sonoszp ip: - 192.168.1.139 last_hostname: sonoszp last_ip: 192.168.1.139 mfg: Sonos org_id: b4e16c72-d50e-4c03-a952-a3217e231e2c site_id: f688779c-e335-4f88-8d7c-9c5e9964528b wcid: 8bbe7389-212b-c65d-2208-00fab2017936 start: 0 total: 0 schema: properties: end: type: integer limit: type: integer results: $ref: '#/components/schemas/clients_wan_stats' start: type: integer total: type: integer type: object description: Example response Webhook: content: application/json: examples: example-1: value: created_time: 0 enabled: true headers: {} id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 modified_time: 0 name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 secret: string site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 splunk_token: string topics: - location type: http-post url: string verify_cert: true schema: $ref: '#/components/schemas/webhook' description: OK WebhookDeliverySearch: content: application/json: examples: webhook_deliveries: value: end: 1688035193 limit: 10 results: - error: string id: 55b0f02f-ebf6-4ad2-8b10-200508a97581 org_id: fc7e2967-e7ef-41e6-b007-1217713de05a req_headers: '{"Content-Type":["application/json"],"User-Agent":["Mist-webhook"]}' req_payload: '{"topic":"audits","events":[{"admin_name":"John Doe john.doe@juniper.net","after":"{\"radio_config\": {\"band_24\": {\"disabled\": false, \"allow_rrm_disable\": false, \"power_min\": null, \"power_max\": null, \"power\": 10, \"preamble\": \"short\", \"channels\": [1, 10], \"bandwidth\": 20}}}","before":"{\"radio_config\": {\"band_24\": {\"disabled\": false, \"allow_rrm_disable\": false, \"power_min\": 8, \"power_max\": 18, \"power\": null, \"preamble\": \"long\", \"channels\": [1, 10], \"bandwidth\": 20}}}","id":"737909a2-04ff-4aeb-b9da-cc924e74a4dd","message":"Update Site Settings","org_id":"fc7e2967-e7ef-41e6-b007-1217713de05a","site_id":"256c3a35-9cb7-436e-bc6d-314972645d95","site_name":"Test Site","src_ip":"1.2.3.4","timestamp":1685956576.923601,"user_agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"}]}' req_url: http://example.com resp_body: Ok resp_headers: string site_id: 256c3a35-9cb7-436e-bc6d-314972645d95 status: success status_code: 200 timestamp: 1687962508.583656 topic: audits webhook_id: 7a11b901-f719-4c91-8aef-deb8699a6364 start: 1687948793 total: 0 schema: properties: end: example: 1688035193 type: integer limit: example: 10 type: integer results: items: $ref: '#/components/schemas/webhook_delivery' type: array start: example: 1687948793 type: integer total: type: integer type: object description: Example response WebhooksArray: content: application/json: examples: example-1: value: - created_time: 0 enabled: true headers: {} id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 modified_time: 0 name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 secret: string site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 splunk_token: string topics: - location type: http-post url: string verify_cert: true schema: items: $ref: '#/components/schemas/webhook' type: array description: OK WebsocketSession: content: application/json: examples: example-1: value: session: session_id schema: properties: session: type: string required: - session type: object description: OK WiredClientsSearch: content: application/json: examples: example-1: value: end: 1648529800.8221116 limit: 1000 results: - device_mac: - '001122334455' device_mac_port: - device_mac: '001122334455' ip: '' port_id: et-0/0/1 port_parent: '' start: 2020-12-10T00:07:36.262+0000 vlan: 1 when: 2022-03-29T04:56:05.172+0000 ip: - 11.216.202.61 mac: '112233445566' org_id: c168ddee-c14c-11e5-8e81-1258369c38a9 port_id: - et-0/0/1 site_id: c168ddee-c14c-11e5-8e81-1258369c38a9 timestamp: 1571174567.807 vlan: - 0 - 1001 start: 1648443400.8221116 total: 1 schema: properties: end: type: number limit: type: integer next: type: string results: items: $ref: '#/components/schemas/wired_client.response' minItems: 1 type: array uniqueItems: true start: type: number total: type: integer required: - end - limit - results - start - total type: object description: OK WirelessClientSessionsSearch: content: application/json: examples: example-1: value: end: 1513177200 limit: 10 results: - ap: 5c5b350e0262 band: '5' client_manufacture: Apple connect: 1565208388 disconnect: 1565208448 duration: 60.09423865 mac: b019c66c8348 org_id: 3139f2c2-fac6-11e5-8156-0242ac110006 site_id: 70e0f468-fc13-11e5-85ad-0242ac110008 ssid: Dummy WLAN 2 tags: - disassociate timestamp: 1565208448.662 wlan_id: 99bb4c74-f954-4f36-b844-6b030faffabc start: 1511967600 total: 100 schema: properties: end: type: number limit: type: integer next: type: string results: items: properties: ap: readOnly: true type: string band: readOnly: true type: string client_manufacture: nullable: true readOnly: true type: string connect: readOnly: true type: integer disconnect: readOnly: true type: integer duration: readOnly: true type: number for_site: readOnly: true type: boolean mac: readOnly: true type: string org_id: $ref: '#/components/schemas/org_id' site_id: $ref: '#/components/schemas/site_id' ssid: readOnly: true type: string tags: items: type: string readOnly: true type: array timestamp: readOnly: true type: number wlan_id: format: uuid readOnly: true type: string required: - ap - band - client_manufacture - connect - disconnect - duration - mac - org_id - site_id - ssid - timestamp - wlan_id title: wireless_client_session_search_item type: object minItems: 1 type: array uniqueItems: true start: type: number total: type: integer required: - end - limit - results - start - total type: object description: OK Wlan: content: application/json: examples: Example: value: acct_immediate_update: false acct_interim_interval: 0 acct_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1813 secret: testing123 airwatch: api_key: aHhlbGxvYXNkZmFzZGZhc2Rmc2RmCg==" console_url: https://hs1.airwatchportals.com enabled: true password: user1 username: test123 allow_ipv6_ndp: true allow_mdns: false allow_ssdp: false ap_ids: - 497f6eca-6276-4993-bfeb-53cbbbba6908 app_limit: apps: dropbox: 300 netflix: 60 enabled: false wxtag_ids: f99862d9-2726-931f-7559-3dfdf5d070d3: 30 app_qos: apps: skype-business-video: dscp: 32 dst_subnet: 10.2.0.0/16 src_subnet: 10.2.0.0/16 enabled: true others: - dscp: 32 dst_subnet: 10.2.0.0/16 port_ranges: 80,1024-6553 protocol: udp src_subnet: 10.2.0.0/16 apply_to: site arp_filter: false auth: anticlog_threshold: 16 eap_reauth: false enable_mac_auth: false key_idx: 1 keys: - string multi_psk_only: false owe: string pairwise: - wpa2-ccmp private_wlan: true psk: foryoureyesonly type: psk wep_as_secondary_auth: true auth_server_selection: ordered auth_servers: - host: 1.2.3.4 keywrap_enabled: true keywrap_format: hex keywrap_kek: '1122334455' keywrap_mack: '1122334455' port: 1812 secret: testing123 auth_servers_nas_id: 5c5b350e0101-nas auth_servers_nas_ip: 15.3.1.5 auth_servers_retries: 5 auth_servers_timeout: 5 band: string band_steer: false band_steer_force_band5: false bands: - '24' - '5' block_blacklist_clients: false bonjour: additional_vlan_ids: - 0 enabled: false services: airplay: radius_groups: - teachers scope: same_ap cisco_cwa: allowed_hostnames: - snapchat.com allowed_subnets: - 63.5.3.0/24 blocked_subnets: - 192.168.0.0/16 enabled: false client_limit_down: 0 client_limit_down_enabled: false client_limit_up: 0 client_limit_up_enabled: false coa_servers: - disable_event_timestamp_check: false enabled: false ip: 1.2.3.4 port: 3799 secret: testing456 created_time: 0 disable_11ax: false disable_ht_vht_rates: false disable_uapsd: false disable_v1_roam_notify: false disable_v2_roam_notify: false disable_wmm: false dns_server_rewrite: enabled: false radius_groups: contractor: 172.1.1.1 guest: 8.8.8.8 dtim: 2 dynamic_psk: default_psk: foryoureyesonly default_vlan_id: 999 enabled: false source: cloud_psks vlan_ids: - 1 dynamic_vlan: default_vlan_id: 999 enabled: false local_vlan_ids: - 1 type: airespace-interface-name vlans: '131': default '322': fast,video enable_local_keycaching: false enable_wireless_bridging: false enabled: true fast_dot1x_timers: false for_site: true hide_ssid: false hostname_ie: false hotspot20: domain_name: - mist.com enabled: true nai_realms: - string operators: - google - att rcoi: - 5A03BA0000 venue_name: some_name id: 497f6eca-6276-4993-bfeb-53cbbbba6a08 interface: all isolation: false l2_isolation: false legacy_overds: false limit_bcast: false limit_probe_response: true max_idletime: 1800 mist_nac: enabled: false modified_time: 0 msp_id: c0cf23fc-d82f-4219-988c-82fb61d8c875 mxtunnel: {} mxtunnel_ids: - 08cd7499-5841-51c8-e663-fb16b6f3b45e mxtunnel_name: - default no_static_dns: false no_static_ip: false org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b portal: amazon_client_id: string amazon_client_secret: string amazon_email_domains: - string amazon_enabled: false auth: none azure_client_id: string azure_client_secret: string azure_enabled: false azure_tenant_id: string broadnet_password: password broadnet_sid: MIST broadnet_user_id: juniper bypass_when_cloud_down: false clickatell_api_key: string cross_site: false email_enabled: true enabled: false expire: 1440 external_portal_url: string facebook_client_id: string facebook_client_secret: string facebook_email_domains: - string facebook_enabled: false forward: false forward_url: http://abc.com/promotions google_client_id: string google_client_secret: string google_email_domains: - mydomain.edu - mydomain.org google_enabled: false gupshup_password: string gupshup_userid: string microsoft_client_id: string microsoft_client_secret: string microsoft_email_domains: - string microsoft_enabled: false passphrase_enabled: false password: let me in portal_allowed_hostnames: string portal_allowed_subnets: string portal_api_secret: string portal_denied_hostnames: string portal_image: https://url/to/image.png portal_sso_url: string predefined_sponsors_enabled: true privacy: true puzzel_password: string puzzel_service_id: string puzzel_username: string smsMessageFormat: string sms_enabled: false sms_provider: twilio sponsor_auto_approve: false sponsor_email_domains: - reserved.net - reserved.org sponsor_enabled: false sponsor_link_validity_duration: 30 sponsor_notify_all: false sponsor_status_notify: false sponsors: sponsor1@company.com: FirstName1 LastName1 sponsor2@company.com: FirstName2 LastName2 sso_default_role: string sso_forced_role: string sso_idp_cert: string sso_idp_sign_algo: string sso_idp_sso_url: string sso_issuer: string sso_nameid_format: email telstra_client_id: string telstra_client_secret: string thumbnail: string twilio_auth_token: af9dac44c344a875ab5d31cb7abcdefg twilio_phone_number: '+18548888888' twilio_sid: AC72ec6ba0ec5af30e6731c5e47abcdefgh portal_allowed_hostnames: - snapchat.com - ibm.com portal_allowed_subnets: - 63.5.3.0/24 portal_api_secret: EIfPMOykI3lMlDdNPub2WcbqT6dNOtWwmYHAd6bY portal_denied_hostnames: - msg.snapchat.com portal_image: http://example.com portal_sso_url: string portal_template_url: string qos: class: best_effort overwrite: false radsec: enabled: true idle_timeout: 60 mxcluster_ids: - 572586b7-f97b-a22b-526c-8b97a3f609c4 proxy_hosts: - mxedge1.local server_name: radsec.abc.com servers: - host: 1.1.1.1 port: 1812 use_mxedge: true use_site_mxedge: false rateset: '24': ht: 00ff00ff00ff legacy: - '6' - '9' - '12' - '18' - 24b - '36' - '48' - '54' min_rssi: -70 template: string vht: 03ff03ff03ff01ff '5': ht: 00ff00ff00ff legacy: - '6' - '9' - '12' - '18' - 24b - '36' - '48' - '54' min_rssi: -70 template: string vht: 03ff03ff03ff01ff roam_mode: none schedule: enabled: false hours: fri: 09:00-17:00 mon: 09:00-17:00 site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 sle_excluded: false ssid: corporate template_id: c6d67e98-83ea-49f0-8812-e4abae2b68bc thumbnail: http://example.com use_eapol_v1: false vlan_enabled: false vlan_id: 1 vlan_ids: - 3 - 4 - 5 vlan_pooling: false wlan_limit_down: 0 wlan_limit_down_enabled: false wlan_limit_up: 0 wlan_limit_up_enabled: false wxtag_ids: - 497f6eca-6276-4993-bfeb-53cbbbba6b08 wxtunnel_id: string wxtunnel_remote_id: string schema: $ref: '#/components/schemas/wlan' description: OK WlansArray: content: application/json: schema: items: $ref: '#/components/schemas/wlan' type: array description: OK WxTagsAppsArray: content: application/json: examples: Example: value: - group: Emails key: gmail name: Gmail - web/app schema: items: properties: group: example: Emails type: string key: example: gmail type: string name: example: Gmail - web/app type: string required: - key - name - group type: object type: array description: List of Applications WxTagsMatchingArray: content: application/json: examples: Example: value: - mac: 5684dae9ac8b since: 1428939600 schema: items: properties: mac: example: 5684dae9ac8b type: string since: example: 1428939600 type: integer required: - mac - since type: object type: array description: List of Current Matching Clients of a WXLAN Tag Wxrule: content: application/json: examples: Example: value: action: allow apply_tags: - c049dfcd-0c73-5014-1c64-062e9903f1e5 blocked_apps: - mist - all-videos created_time: 0 dst_allow_wxtags: - fff34466-eec0-3756-6765-381c728a6037 - eee2c7b0-d1d0-5a30-f349-e35fa43dc3b3 dst_deny_wxtags: - aaa34466-eec0-3756-6765-381c728a6037 - bbb2c7b0-d1d0-5a30-f349-e35fa43dc3b3 enabled: true for_site: true id: 497f6eca-6276-4993-9feb-53cbbbba6f08 modified_time: 0 order: 1 org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 src_wxtags: - 8bfc2490-d726-3587-038d-cb2e71bd2330 - 3aa8e73f-9f46-d827-8d6a-567bb7e67fc9 schema: $ref: '#/components/schemas/wxlan_rule' description: Wrule WxruleArray: content: application/json: examples: Example: value: - action: allow apply_tags: - c049dfcd-0c73-5014-1c64-062e9903f1e5 blocked_apps: - mist - all-videos created_time: 0 dst_allow_wxtags: - fff34466-eec0-3756-6765-381c728a6037 - eee2c7b0-d1d0-5a30-f349-e35fa43dc3b3 dst_deny_wxtags: - aaa34466-eec0-3756-6765-381c728a6037 - bbb2c7b0-d1d0-5a30-f349-e35fa43dc3b3 enabled: true for_site: true id: 497f6eca-6276-4993-bfeb-53ebbbba6f08 modified_time: 0 order: 1 org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 src_wxtags: - 8bfc2490-d726-3587-038d-cb2e71bd2330 - 3aa8e73f-9f46-d827-8d6a-567bb7e67fc9 schema: items: $ref: '#/components/schemas/wxlan_rule' type: array description: List of WxRules WxruleStatsArray: content: application/json: examples: Example: value: - action: allow client_mac: - 3bbbf819bb6f - bd96cbc4910f dst_allow_wxtags: - fff34466-eec0-3756-6765-381c728a6037 - eee2c7b0-d1d0-5a30-f349-e35fa43dc3b3 dst_deny_wxtags: - aaa34466-eec0-3756-6765-381c728a6037 - bbb2c7b0-d1d0-5a30-f349-e35fa43dc3b3 dst_wxtags: - d4134466-eec0-3756-6765-381c728a6037 - 1a42c7b0-d1d0-5a30-f349-e35fa43dc3b3 name: Guest order: 1 src_wxtags: - 8bfc2490-d726-3587-038d-cb2e71bd2330 - 3aa8e73f-9f46-d827-8d6a-567bb7e67fc9 usage: 1a42c7b0-d1d0-5a30-f349-e35fa43dc3b3: num_flows: 60 d4134466-eec0-3756-6765-381c728a6037: num_flows: 60 schema: items: $ref: '#/components/schemas/wxrule_stats' type: array description: WxRule Stats Wxtag: content: application/json: examples: example-1: value: created_time: 0 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 last_ips: - string mac: string match: wlan_id modified_time: 0 name: string op: in org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 resource_mac: string services: - string site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 specs: - port_range: string protocol: tcp subnet: - string subnet: string type: match values: - string schema: $ref: '#/components/schemas/wxlan_tag' description: OK WxtagArray: content: application/json: examples: example-1: value: - created_time: 0 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 last_ips: - string mac: string match: wlan_id modified_time: 0 name: string op: in org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 resource_mac: string services: - string site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 specs: - port_range: string protocol: tcp subnet: - string subnet: string type: match values: - string schema: items: $ref: '#/components/schemas/wxlan_tag' type: array description: OK WxtagClients: content: application/json: schema: $ref: '#/components/schemas/wxtag_clients' description: OK Wxtunnel: content: application/json: examples: example-1: value: created_time: 0 dmvpn: enabled: true holding_time: 0 host_routes: - string for_mgmt: true hello_interval: 1 hello_retries: 3 hostname: string id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 ipsec: enabled: true psk: string123 is_static: true modified_time: 0 mtu: 0 name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 peers: - string router_id: string secret: string sessions: - ap_as_session_id: string comment: string enable_cookie: true ethertype: ethernet local_session_id: 1 pseudo_802.1ad_enabled: true remote_id: string remote_session_id: 1 use_ap_as_session_ids: true site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 udp_port: 0 use_udp: true schema: $ref: '#/components/schemas/wxlan_tunnel' description: OK WxtunnelArray: content: application/json: examples: example-1: value: - created_time: 0 dmvpn: enabled: true holding_time: 0 host_routes: - string for_mgmt: true hello_interval: 1 hello_retries: 3 hostname: string id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 ipsec: enabled: true psk: string123 is_static: true modified_time: 0 mtu: 1500 name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 peers: - string router_id: string secret: string sessions: - ap_as_session_id: string comment: string enable_cookie: true ethertype: ethernet local_session_id: 1 pseudo_802.1ad_enabled: true remote_id: string remote_session_id: 1 use_ap_as_session_ids: true site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 udp_port: 0 use_udp: true schema: items: $ref: '#/components/schemas/wxlan_tunnel' minItems: 0 type: array description: OK Zone: content: application/json: examples: example-1: value: created_time: 0 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 map_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 modified_time: 0 name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 vertices: - x: 0 y: 0 schema: $ref: '#/components/schemas/zone' description: OK ZoneSessionsSearch: content: application/json: examples: Example: value: end: 1541705289.769911 limit: 1 next: /api/v1/sites/67970e46-4e12-11e6-9188-0242ac110007/zones/visits/search?limit=2&end=1541705247.000&scope_id=85fbba9e-4e12-11e6-9188-0242ac110007&user_type=asset&start=1541618889.77 results: - enter: 1541705254 scope: map timestamp: 1541705254 user: c4b301c81166 start: 1541618889.769886 total: 5892 schema: properties: end: example: 1541705289.769911 type: number limit: example: 1 type: integer next: example: /api/v1/sites/67970e46-4e12-11e6-9188-0242ac110007/zones/visits/search?limit=2&end=1541705247.000&scope_id=85fbba9e-4e12-11e6-9188-0242ac110007&user_type=asset&start=1541618889.77 type: string results: items: properties: enter: example: 1541705254 type: integer scope: example: map type: string timestamp: example: 1541705254 type: integer user: example: c4b301c81166 type: string title: zone_session_search_item type: object type: array start: example: 1541618889.769886 type: number total: example: 5892 type: integer type: object description: Result of Search Zone Sessions ZoneStats: content: application/json: examples: Example: value: assets: - df8dff06ae90 client_waits: avg: 1200 max: 3610 min: 600 p95: 2800 clients: - 5684dae9ac8b id: 8ac84899-32db-6327-334c-9b6d58544cfe map_id: 63eda950-c6da-11e4-a628-60f81dd250cc name: Board Room num_clients: 80 num_sdkclients: 0 sdkclients: - 7e2b463d-c91c-ff7d-f3c0-6eccc6949ff8 schema: $ref: '#/components/schemas/zone_stats_details' description: Zone Stats ZoneStatsArray: content: application/json: examples: with-map_id-query-param: value: - assets_waits: avg: 0 max: 0 min: 0 p95: 0 clients_waits: avg: 1200 max: 3610 min: 600 p95: 2800 created_time: 1616625211 id: 123470c7-5d9d-424a-8475-8b344c621234 map_id: 123449d4-d12f-4feb-b40f-5be0e2ae1234 modified_time: 1616625211 name: Zone A num_assets: 0 num_clients: 80 num_sdkclients: 10 occupancy_limit: 4 org_id: 1234c1a0-6ef6-11e6-8bbf-02e208b21234 sdkclients_waits: avg: 1200 max: 3610 min: 600 p95: 2800 site_id: 123448e6-6ef6-11e6-8bbf-02e208b21234 vertices: - x: 732 y: 1821 - x: 732.5 y: 1731 - x: 837.5 y: 1731.5 - x: 839 y: 1821 vertices_m: - x: 24.1983341951072 y: 60.198314985369144 - x: 24.21486311190714 y: 57.22310996138056 - x: 27.685935639893827 y: 57.23963887818049 - x: 27.73552239029364 y: 60.198314985369144 without-map_id-query-param: value: - created_time: 1616625211 id: 123470c7-5d9d-424a-8475-8b344c621234 map_id: 123449d4-d12f-4feb-b40f-5be0e2ae1234 modified_time: 1616625211 name: Zone A occupancy_limit: 4 org_id: 1234c1a0-6ef6-11e6-8bbf-02e208b21234 site_id: 123448e6-6ef6-11e6-8bbf-02e208b21234 vertices: - x: 732 y: 1821 - x: 732.5 y: 1731 - x: 837.5 y: 1731.5 - x: 839 y: 1821 vertices_m: - x: 24.1983341951072 y: 60.198314985369144 - x: 24.21486311190714 y: 57.22310996138056 - x: 27.685935639893827 y: 57.23963887818049 - x: 27.73552239029364 y: 60.198314985369144 schema: items: $ref: '#/components/schemas/zone_stats' type: array description: Example response ZonesArray: content: application/json: examples: example-1: value: - created_time: 0 id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 map_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 modified_time: 0 name: string org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 vertices: - x: 0 y: 0 schema: items: $ref: '#/components/schemas/zone' type: array description: OK ZscalerAccount: content: application/json: examples: Example: value: cloud_name: zscalerbeta.net parnter_key: K35vrZcK3JvrZc username: john@nmo.com schema: $ref: '#/components/schemas/account_zscaler_info' description: Example response schemas: account_cradlepoint_config: properties: cp_api_id: example: 84446d61-2206-4ea5-855a-0043f980be54 type: string cp_api_key: example: 79c329da9893e34099c7d8ad5cb9c941 type: string ecm_api_id: example: 73446d61-2206-4ea5-855a-0043f980be62 type: string ecm_api_key: example: 68b329da9893e34099c7d8ad5cb9c9405 type: string type: object account_jamf_config: description: OAuth linked Jamf apps account details properties: instance_url: description: customer account Jamf instance URL example: junipertest.jamfcloud.com type: string password: description: customer account password example: password type: string smartgroup_name: description: smart group membership for determining compliance status example: CompliantGroup1 type: string username: description: customer account user name example: john@nmo.com type: string required: - instance_url - username - password - smartgroup_name type: object account_jamf_info: description: OAuth linked Jamf apps account details properties: error: description: This error is provided when the Jamf account fails to fetch token/data example: OAuth token refresh failed, please re-link your account readOnly: true type: string instance_url: description: customer account Jamf instance URL example: junipertest.jamfcloud.com type: string last_status: description: Is the last data pull for Jamf account is successful or not example: failed readOnly: true type: string last_sync: description: Last data pull timestamp, background jobs that pull Jamf account data example: 1665465339000 readOnly: true type: integer linked_by: description: First name of the user who linked the Jamf account example: Testname1 readOnly: true type: string name: description: Name of the company whose Jamf account mist has subscribed to example: Test Compay1 Ltd readOnly: true type: string smartgroup_name: description: smart group membership for determining compliance status example: CompliantGroup1 type: string username: description: customer account user name example: john@nmo.com type: string type: object account_jse_config: properties: cloud_name: example: devcentral.juniperclouds.net type: string password: example: foryoureyesonly type: string username: example: john@abc.com type: string required: - username - password type: object account_jse_info: properties: cloud_name: example: devcentral.juniperclouds.net type: string username: example: john@abc.com type: string type: object account_juniper_config: properties: password: description: customer account password example: password type: string username: description: customer account user name example: john@nmo.com type: string required: - username - password type: object account_juniper_info: properties: accounts: items: properties: linked_by: example: John Smith (john@abccorp.com) type: string name: example: ABC Corp type: string title: account_juniper type: object type: array type: object account_oauth_add: oneOf: - $ref: '#/components/schemas/account_jamf_config' - $ref: '#/components/schemas/account_vmware_config' account_oauth_config: description: OAuth linked apps (zoom/teams/intune) account details properties: account_id: description: Linked app(zoom/teams/intune) account id example: iojzXIJWEuiD73ZvydOfg type: string max_daily_api_requests: description: Zoom daily api request quota, https://developers.zoom.us/docs/api/rest/rate-limits/ example: 5000 type: integer required: - account_id type: object account_oauth_info: description: OAuth linked apps (zoom/teams/intune) account details properties: account_id: description: Linked app(zoom/teams/intune) account id example: iojzXIJWEuiD73ZvydOfg type: string company: description: Name of the company whose account mist has subscribed to example: Test Compay1 Ltd readOnly: true type: string error: description: This error is provided when the account fails to fetch token/data example: OAuth token refresh failed, please re-link your account readOnly: true type: string errors: example: - OAuth token refresh failed, please re-link your account - API daily rate limit reached for your account items: type: string readOnly: true type: array last_status: description: Is the last data pull for account is successful or not example: failed readOnly: true type: string last_sync: description: Last data pull timestamp, background jobs that pull account data example: 1665465339000 readOnly: true type: integer linked_by: description: First name of the user who linked the account example: Testname1 readOnly: true type: string max_daily_api_requests: description: Zoom daily api request quota, https://developers.zoom.us/docs/api/rest/rate-limits/ example: 5000 type: integer type: object account_vmware_config: properties: api_key: description: api key to access workspace one uem REST APIs type: string instance_url: description: customer account VMware instance URL type: string password: description: customer account password type: string username: description: customer account user name type: string type: object account_vmware_info: properties: account_id: type: string instance_url: description: Linked VMware Instance URL type: string last_status: description: Is the last data pull for VMware account is successful or not type: string last_sync: description: Last data pull timestamp, background jobs that pull VMware account data type: integer linked_by: description: First name of the user who linked the VMware account type: string linked_timestamp: description: This error is provided when the VMware account fails to fetch token/data type: integer name: description: Name of the company whose VMware account mist has subscribed to type: string type: object account_zscaler_config: description: OAuth linked Zscaler apps account details properties: cloud_name: example: zscalerbeta.net type: string parnter_key: example: K35vrZcK3JvrZc type: string password: description: customer account password example: password type: string username: description: customer account user name example: john@nmo.com type: string required: - parnter_key - username - password - cloud_name type: object account_zscaler_info: description: OAuth linked Zscaler apps account details properties: cloud_name: example: zscalerbeta.net type: string parnter_key: example: K35vrZcK3JvrZc type: string username: description: customer account user name example: john@nmo.com type: string type: object admin: description: Admin properties: admin_id: example: 456b7016-a916-a4b1-78dd-72b947c152b7 format: uuid readOnly: true type: string email: example: jsnow@abc.com format: email type: string enable_two_factor: readOnly: true type: boolean expire_time: type: integer first_name: description: for an invite, this is the original first name used example: John type: string hours: default: 24 description: how long the invite should be valid maximum: 168 minimum: 1 type: integer last_name: description: for an invite, this is the original last name used example: Sno type: string oauth_google: readOnly: true type: boolean phone: description: phone number (numbers only, including country code) type: string phone2: description: secondary phone number (numbers only, including country code) type: string privileges: description: list of privileges the admin has items: $ref: '#/components/schemas/privilege_self' minItems: 1 type: array uniqueItems: true session_expiry: example: 1440 readOnly: true type: integer tags: items: type: string readOnly: true type: array two_factor_verified: description: two factor status readOnly: true type: boolean via_sso: description: an admin alogin via_sso is more restircted. (password and email cannot be changed) readOnly: true type: boolean required: - email - first_name - last_name type: object admin_array: items: $ref: '#/components/schemas/admin' type: array uniqueItems: true alarm: description: additional information per alarm type properties: ack_admin_id: description: UUID of the admin who acked the alarm example: 6603c94c-eaf9-4014-9edf-b9f8eed6b183 format: uuid type: string ack_admin_name: description: Name & Email ID of the admin who acked the alarm example: Joe type: string acked: description: Whether the alarm is acked or not example: true type: boolean acked_time: description: Epoch (seconds) when the alarm was acked example: 1711031352 readOnly: true type: integer aps: description: 'additional information: List of MACs of the APs' example: - ffeeddccbbaa - ffeeddccbbab items: type: string type: array bssids: description: List of BSSIDs items: example: Corp SSID type: string type: array count: description: Number of incident within an alarm window example: 2 readOnly: true type: integer gateways: description: 'additional information: List of MACs of the gateways' example: - ffeeddccbbaa - ffeeddccbbab items: type: string type: array group: description: Group of the alarm example: security type: string hostnames: description: 'additional information: List of Hostnames of the devices (AP/Switch/Gateway)' example: - MC_DavidL - MCM_AP_33_Nishant items: type: string type: array id: description: UUID of the alarm example: 483f6eca-6276-4993-bfeb-56cbbbba7f08 format: uuid readOnly: true type: string last_seen: description: Epoch (seconds) of the last incident/alarm within an alarm window example: 1711031774 type: integer note: description: Text describing the alarm type: string org_id: $ref: '#/components/schemas/org_id' severity: description: Severity of the alarm example: critical type: string site_id: $ref: '#/components/schemas/site_id' ssids: description: List of SSIDs items: type: string type: array switches: description: 'additional information: List of MACs of the switches' example: - ffeeddccbbaa - ffeeddccbbab items: type: string type: array timestamp: description: Epoch (seconds) of the first incident/alarm example: 1711031774 readOnly: true type: integer type: description: Key-name of the alarm type example: rogue_client readOnly: true type: string required: - id - timestamp - last_seen - type - group - severity - count type: object alarm_ack: properties: alarm_ids: example: - ccb8c94d-ca56-4075-932f-1f2ab444ff2c - 98ff4a3d-ec9b-4138-a42e-54fc3335179d items: format: uuid type: string type: array note: description: Some text note describing the intent example: maintenance window type: string required: - alarm_ids type: object alarm_ids: properties: alarm_ids: items: format: uuid type: string type: array note: description: Some text note describing the intent type: string required: - alarm_ids type: object alarm_search_result: properties: end: example: 1711035686 type: integer limit: example: 10 type: integer next: example: /api/v1/orgs/b3b9f5e6-67b1-4112-9b4c-6824c565eaeb/alarms/search?end=1711035686&limit=10&search_after=%5B1711031354000%2C+%2256bfa7af-b2db-43ee-a4c8-9b820bbba0e1%22%5D&start=1710949286 type: string page: example: 1 type: integer results: items: $ref: '#/components/schemas/alarm' type: array start: example: 1710949286 type: integer total: example: 232 type: integer required: - start - end - limit - total - results type: object alarm_template: description: Alarm Template properties: created_time: example: 1711001253 readOnly: true type: number delivery: $ref: '#/components/schemas/delivery' id: example: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 format: uuid readOnly: true type: string modified_time: example: 1711038102 readOnly: true type: number name: description: Some string to name the alarm template example: default type: string org_id: $ref: '#/components/schemas/org_id' rules: additionalProperties: $ref: '#/components/schemas/alarm_template_rule' description: Alarm Rules object to configure the individual alarm keys/types. Property key is the alarm name. example: ap_offline: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true bad_cable: delivery: additional_emails: - string enabled: true to_org_admins: true to_site_admins: true enabled: true type: object required: - delivery - rules type: object alarm_template_array: items: $ref: '#/components/schemas/alarm_template' type: array alarm_template_rule: properties: delivery: $ref: '#/components/schemas/delivery' enabled: type: boolean type: object allow_deny: default: allow enum: - allow - deny type: string anomaly: description: Anomaly properties: events: items: readOnly: true type: object readOnly: true type: array since: readOnly: true type: number sle_baseline: readOnly: true type: number sle_deviation: readOnly: true type: number timestamp: readOnly: true type: number required: - timestamp - sle_baseline - sle_deviation - events type: object anomaly_search_result: properties: end: example: 1711035686 type: integer limit: example: 10 type: integer page: example: 1 type: integer results: items: $ref: '#/components/schemas/anomaly' minItems: 1 type: array uniqueItems: true start: example: 1710949286 type: integer total: example: 232 type: integer required: - start - end - limit - page - results type: object ap: description: AP properties: aeroscout: $ref: '#/components/schemas/ap_aeroscout' ble_config: $ref: '#/components/schemas/ap_ble' centrak: properties: enabled: default: false type: boolean type: object client_bridge: $ref: '#/components/schemas/ap_client_bridge' created_time: readOnly: true type: number deviceprofile_id: example: 6f4bf402-45f9-2a56-6c8b-7f83d3bc98e9 format: uuid nullable: true type: string disable_eth1: default: false description: whether to disable eth1 port type: boolean disable_eth2: default: false description: whether to disable eth2 port type: boolean disable_eth3: default: false description: whether to disable eth3 port type: boolean disable_module: default: false description: whether to disable module port type: boolean esl_config: $ref: '#/components/schemas/ap_esl_config' for_site: readOnly: true type: boolean height: description: height, in meters, optional example: 2.75 type: number id: format: uuid readOnly: true type: string image1_url: nullable: true type: string image2_url: nullable: true type: string image3_url: nullable: true type: string iot_config: $ref: '#/components/schemas/ap_iot' ip_config: $ref: '#/components/schemas/ap_ip_config' led: $ref: '#/components/schemas/ap_led' locked: description: whether this map is considered locked down type: boolean map_id: description: map where the device belongs to example: 63eda950-c6da-11e4-a628-60f81dd250cc format: uuid type: string mesh: $ref: '#/components/schemas/ap_mesh' modified_time: readOnly: true type: number name: example: conference room type: string notes: description: any notes about this AP example: slightly off center type: string ntp_servers: items: type: string type: array org_id: $ref: '#/components/schemas/org_id' orientation: description: orientation, 0-359, in degrees, up is 0, right is 90. example: 45 type: integer poe_passthrough: default: false description: whether to enable power out through module port (for APH) or eth1 (for APL/BT11) type: boolean port_config: additionalProperties: $ref: '#/components/schemas/ap_port_config' description: "eth0 is allowed in mesh relay mode, otherwise eth0 is not\ \ allowed here. \nProperty key is the interface(s) name (e.g. \"eth1\"\ \ or\"eth1,eth2\")" type: object pwr_config: $ref: '#/components/schemas/ap_pwr_config' radio_config: $ref: '#/components/schemas/ap_radio' site_id: $ref: '#/components/schemas/site_id' uplink_port_config: $ref: '#/components/schemas/ap_uplink_port_config' usb_config: $ref: '#/components/schemas/ap_usb' vars: $ref: '#/components/schemas/vars' x: description: x in pixel example: 53.5 type: number y: description: y in pixel example: 173.1 type: number type: object ap_aeroscout: description: Aeroscout AP settings properties: enabled: default: false description: whether to enable aeroscout config type: boolean host: description: required if enabled, aeroscout server host example: aero.pvt.net nullable: true type: string locate_connected: default: true description: whether to enable the feature to allow wireless clients data received and sent to AES server for location calculation type: boolean type: object ap_ble: description: BLE AP settings properties: beacon_enabled: default: false description: whether Mist beacons is enabled type: boolean beacon_rate: description: required if `beacon_rate_mode`==`custom`, 1-10, in number-beacons-per-second example: 3 type: integer beacon_rate_mode: default: default enum: - default - custom example: custom type: string beam_disabled: description: list of AP BLE location beam numbers (1-8) which should be disabled at the AP and not transmit location information (where beam 1 is oriented at the top the AP, growing counter-clock-wise, with 9 being the omni BLE beam) example: - 1 - 3 - 6 items: type: integer type: array custom_ble_packet_enabled: default: false description: can be enabled if `beacon_enabled`==`true`, whether to send custom packet type: boolean custom_ble_packet_frame: description: The custom frame to be sent out in this beacon. The frame must be a hexstring example: 0x........ type: string custom_ble_packet_freq_msec: description: Frequency (msec) of data emitted by custom ble beacon example: 300 minimum: 0 type: integer eddystone_uid_adv_power: description: advertised TX Power, -100 to 20 (dBm), omit this attribute to use default example: -65 maximum: 20 minimum: -100 type: integer eddystone_uid_beams: example: 2-4,7 type: string eddystone_uid_enabled: default: false description: only if `beacon_enabled`==`false`, Whether Eddystone-UID beacon is enabled type: boolean eddystone_uid_freq_msec: description: Frequency (msec) of data emmit by Eddystone-UID beacon example: 200 type: integer eddystone_uid_instance: description: Eddystone-UID instance for the device example: 5c5b35000001 type: string eddystone_uid_namespace: description: Eddystone-UID namespace example: 2818e3868dec25629ede type: string eddystone_url_adv_power: description: advertised TX Power, -100 to 20 (dBm), omit this attribute to use default example: -65 maximum: 20 minimum: -100 type: integer eddystone_url_beams: example: 2-4,7 type: string eddystone_url_enabled: description: only if `beacon_enabled`==`false`, Whether Eddystone-URL beacon is enabled type: boolean eddystone_url_freq_msec: description: Frequency (msec) of data emit by Eddystone-UID beacon example: 1000 type: integer eddystone_url_url: description: URL pointed by Eddystone-URL beacon example: https://www.abc.com type: string ibeacon_adv_power: description: advertised TX Power, -100 to 20 (dBm), omit this attribute to use default example: -65 maximum: 20 minimum: -100 type: integer ibeacon_beams: example: 2-4,7 type: string ibeacon_enabled: default: false description: can be enabled if `beacon_enabled`==`true`, whether to send iBeacon type: boolean ibeacon_freq_msec: description: Frequency (msec) of data emmit for iBeacon type: integer ibeacon_major: description: Major number for iBeacon example: 13 maximum: 65535 minimum: 1 type: integer ibeacon_minor: description: Minor number for iBeacon example: 138 maximum: 65535 minimum: 1 type: integer ibeacon_uuid: description: optional, if not specified, the same UUID as the beacon will be used example: f3f17139-704a-f03a-2786-0400279e37c3 format: uuid type: string power: default: 9 description: required if `power_mode`==`custom` example: 10 maximum: 10 minimum: 1 type: integer power_mode: $ref: '#/components/schemas/ap_ble_power_mode' type: object ap_ble_power_mode: default: default enum: - default - custom example: custom type: string ap_client_bridge: properties: auth: properties: psk: example: foryoureyesonly minLength: 1 type: string type: default: psk description: wpa2-AES/CCMPp is assumed when `type`==`psk` enum: - open - psk example: psk minLength: 1 title: ap_client_bridge_auth_type type: string type: object enabled: default: false description: 'when acted as client bridge: * only 5G radio can be used * will not serve as AP on any radios' type: boolean ssid: example: Uplink-SSID minLength: 1 type: string type: object ap_esl_config: properties: cacert: description: Only if `type`==`imagotag` or `type`==`native` type: string channel: description: Only if `type`==`imagotag` or `type`==`native` example: 3 type: integer enabled: default: false description: usb_config is ignored if esl_config enabled type: boolean host: description: Only if `type`==`imagotag` or `type`==`native` example: 1.1.1.1 type: string port: description: Only if `type`==`imagotag` or `type`==`native` example: 0 type: integer type: $ref: '#/components/schemas/ap_esl_type' verify_cert: description: Only if `type`==`imagotag` or `type`==`native` type: boolean vlan_id: default: 1 description: Only if `type`==`solum` or `type`==`hansho` type: integer type: object ap_esl_type: description: 'note: ble_config will be ingored if esl_config is enabled and with native mode.' enum: - imagotag - hanshow - solum - native example: imagotag type: string ap_import_json: items: $ref: '#/components/schemas/ap' type: array ap_iot: description: IoT AP settings properties: A1: $ref: '#/components/schemas/ap_iot_output' A2: $ref: '#/components/schemas/ap_iot_output' A3: $ref: '#/components/schemas/ap_iot_output' A4: $ref: '#/components/schemas/ap_iot_output' DI1: $ref: '#/components/schemas/ap_iot_input' DI2: $ref: '#/components/schemas/ap_iot_input' DO: $ref: '#/components/schemas/ap_iot_output' type: object ap_iot_input: description: IoT Input AP settings properties: enabled: default: false description: whether to enable a pin type: boolean name: description: optional; descriptive pin name type: string pullup: description: the type of pull-up the pin uses (internal, external, none), default none enum: - internal - external - none type: string type: object ap_iot_output: description: IoT output AP settings properties: enabled: default: false description: whether to enable a pin type: boolean name: description: optional; descriptive pin name example: motion type: string output: description: whether the pin is configured as an output. DO and A1-A4 can be repurposed by changing type: boolean pullup: description: the type of pull-up the pin uses (internal, external, none), default none enum: - internal - external - non type: string value: description: output pin signal level, default 0 type: integer type: object ap_ip_config: description: IP AP settings properties: dns: description: if `type`==`static` example: - 8.8.8.8 - 4.4.4.4 items: type: string type: array dns_suffix: description: required if `type`==`static` example: - .mist.local - .mist.com items: type: string type: array gateway: description: required if `type`==`static` example: 10.2.1.254 format: ipv4 type: string gateway6: example: 2607:f8b0:4005:808::1 format: ipv6 type: string ip: description: required if `type`==`static` example: 10.2.1.1 format: ipv4 type: string ip6: example: 2607:f8b0:4005:808::2004 format: ipv6 type: string mtu: example: 0 type: integer netmask: description: required if `type`==`static` example: 255.255.255.0 type: string netmask6: example: /32 type: string type: $ref: '#/components/schemas/ip_type' type6: $ref: '#/components/schemas/ip_type' vlan_id: default: 1 description: management vlan id, default is 1 (untagged) example: 1 type: integer type: object ap_led: description: LED AP settings properties: brightness: default: 255 example: 255 type: integer enabled: default: true type: boolean type: object ap_mesh: description: Mesh AP settings properties: enabled: default: false description: whether mesh is enabled on this AP type: boolean group: description: mesh group, base AP(s) will only allow remote AP(s) in the same mesh group to join, 1-9, optional example: 1 maximum: 9 minimum: 1 nullable: true type: integer role: $ref: '#/components/schemas/ap_mesh_role' type: object ap_mesh_role: enum: - base - remote example: base type: string ap_port_config: properties: additional_vlan_ids: description: additional VLAN IDs, only valid in mesh base mode example: - 55 - 66 items: minimum: 1 type: integer type: array disabled: type: boolean dynamic_vlan: description: optional dynamic vlan properties: default_vlan_id: example: 999 maximum: 4094 minimum: 1 type: integer enabled: type: boolean type: type: string vlans: additionalProperties: nullable: true type: string example: 1-10: null user: null type: object type: object enable_mac_auth: default: false type: boolean forwarding: default: all enum: - all - limited - wxtunnel - mxtunnel - site_mxedge example: all title: ap_port_config_forwarding type: string mac_auth_protocol: default: pap description: if `enable_mac_auth`==`true`, allows user to select an authentication protocol enum: - pap - eap-peap - eap-md5 title: ap_port_config_mac_auth_protocol type: string mist_nac: $ref: '#/components/schemas/wlan_mist_nac' mx_tunnel_id: description: if `forwarding`==`mxtunnel`, vlan_ids comes from mxtunnel example: 08cd7499-5841-51c8-e663-fb16b6f3b45e format: uuid type: string mxtunnel_name: description: if `forwarding`==`site_mxedge`, vlan_ids comes from site_mxedge (`mxtunnels` under site setting) type: string port_auth: default: none description: When doing port auth enum: - none - dot1x example: none title: ap_port_config_port_auth type: string port_vlan_id: description: if `forwrding`==`limited` example: 1 maximum: 4094 minimum: 1 type: integer radius_config: $ref: '#/components/schemas/junos_radius_config' radsec: $ref: '#/components/schemas/radsec' vlan_id: description: 'optional to specify the vlan id for a tunnel if forwarding is for `wxtunnel`, `mxtunnel` or `site_mxedge`. * if vlan_id is not specified then it will use first one in vlan_ids[] of the mxtunnel. * if forwarding == site_mxedge, vlan_ids comes from site_mxedge (`mxtunnels` under site setting)' example: 9 maximum: 4094 minimum: 1 type: integer vland_ids: description: if `forwrding`==`limited` example: - 1 - 10 - 50 items: maximum: 4094 minimum: 1 type: integer type: array wxtunnel_id: description: if `forwarding`==`wxtunnel`, the port is bridged to the vlan of the session example: 7dae216d-7c98-a51b-e068-dd7d477b7216 format: uuid type: string wxtunnel_remote_id: description: if `forwarding`==`wxtunnel`, the port is bridged to the vlan of the session example: wifiguest type: string title: ap_port_config type: object ap_pwr_config: description: power related configs properties: base: default: 0 description: additional power to request during negotiating with PSE over PoE, in mW example: 2000 type: number prefer_usb_over_wifi: default: false description: whether to enable power out to peripheral, meanwhile will reduce power to wifi (only for AP45 at power mode) type: boolean type: object ap_radio: description: Radio AP settings properties: allow_rrm_disable: default: false type: boolean ant_gain_24: description: antenna gain for 2.4G - for models with external antenna only example: 4 minimum: 0 type: integer ant_gain_5: description: antenna gain for 5G - for models with external antenna only example: 5 minimum: 0 type: integer ant_gain_6: description: antenna gain for 6G - for models with external antenna only example: 5 minimum: 0 type: integer antenna_mode: default: default enum: - default - 1x1 - 2x2 - 3x3 - 4x4 type: string band_24: $ref: '#/components/schemas/ap_radio_band' band_24_usage: default: '24' description: if `band_24_usage`==`5`, by default, band_5 properties is used, if specific channel/bandwidth/power/... is desired, use the "band_5_on_24_radio" enum: - '24' - '5' - auto example: '5' type: string band_5: $ref: '#/components/schemas/ap_radio_band' band_5_on_24_radio: $ref: '#/components/schemas/ap_radio_band' band_6: $ref: '#/components/schemas/ap_radio_band' indoor_use: default: false description: 'to make an outdoor operate indoor. for an outdoor-ap, some channels are disallowed by default, this allows the user to use it as an indoor-ap' type: boolean scanning_enabled: description: whether scanning radio is enabled type: boolean type: object ap_radio_band: description: Radio Band AP settings properties: allow_rrm_disable: type: boolean ant_gain: nullable: true type: integer antenna_mode: default: default enum: - default - 1x1 - 2x2 - 3x3 - 4x4 example: default type: string bandwidth: $ref: '#/components/schemas/dot11_bandwidth' channel: description: For Device. (primary) channel for the band, 0 means using the Site Setting example: 0 nullable: true type: integer channels: description: For RFTemplates. List of channels, null or empty array means auto items: type: integer nullable: true type: array disabled: description: whether to disable the radio type: boolean power: description: "TX power of the radio. For Devices, 0 means auto. -1 / -2\ \ / -3 / \u2026: treated as 0 / -1 / -2 / \u2026" example: 0 nullable: true type: integer power_max: description: when power=0, max tx power to use, HW-specific values will be used if not set nullable: true type: integer power_min: description: when power=0, min tx power to use, HW-specific values will be used if not set nullable: true type: integer preamble: default: short enum: - short - long - auto type: string standard_power: default: false description: for 6GHz Only, standard-power operation, AFC (Automatic Frequency Coordination) will be performed and we'll fallback to Low Power Indoor if AFC failed type: boolean usage: default: '24' description: for band_24 radio enum: - '24' - '5' - rrm title: ap_radio_usage type: string type: object ap_radio_macs: items: properties: mac: minLength: 1 type: string radio_macs: items: properties: {} type: array required: - mac - radio_macs type: object minItems: 1 type: array uniqueItems: true ap_radio_stats: description: radio stat properties: bandwidth: $ref: '#/components/schemas/dot11_bandwidth' channel: description: current channel the radio is running on type: integer dynamic_chaining_enalbed: description: Use dynamic chaining for downlink type: boolean mac: description: radio (base) mac, it can have 16 bssids (e.g. 5c5b350001a0-5c5b350001af) type: string num_clients: type: integer power: description: transmit power (in dBm) type: integer rx_bytes: type: number rx_pkts: type: number tx_bytes: type: number tx_pkts: type: number util_all: description: all utilization in percentage type: integer util_non_wifi: description: "reception of \u201CNo Packets\u201D utilization in percentage,\ \ received frames with invalid PLCPs and CRS glitches as noise" type: integer util_rx_in_bss: description: "reception of \u201CIn BSS\u201D utilization in percentage,\ \ only frames that are received from AP/STAs within the BSS" type: integer util_rx_other_bss: description: "reception of \u201COther BSS\u201D utilization in percentage,\ \ all frames received from AP/STAs that are outside the BSS" type: integer util_tx: description: transmission utilization in percentage type: integer util_unknown_wifi: description: "reception of \u201CNo Category\u201D utilization in percentage,\ \ all 802.11 frames that are corrupted at the receiver" type: integer type: object ap_search: properties: band_24_bandwith: description: Bandwith of band_24 type: string band_24_channel: description: Channel of band_24 type: integer band_24_power: type: integer band_5_bandwith: description: Bandwith of band_5 type: string band_5_channel: description: Channel of band_5 type: integer band_5_power: type: integer band_6_bandwith: type: string band_6_channel: description: Channel of band_6 type: integer band_6_power: type: integer eth0_port_speed: description: Port speed of eth0 type: integer ext_ip: type: string hostname: description: partial / full hostname items: type: string type: array ip: description: ip address type: string lldp_mgmt_addr: description: LLDP management ip address type: string lldp_port_desc: type: string lldp_port_id: description: LLDP port id type: string lldp_power_allocated: type: integer lldp_power_draw: type: integer lldp_system_desc: description: LLDP system description type: string lldp_system_name: description: LLDP system name type: string mac: description: device model type: string model: type: string mxedge_id: description: Mist Edge id, if AP is connecting to a Mist Edge type: string mxtunnel_status: description: MxTunnel status type: string org_id: $ref: '#/components/schemas/org_id' power_constrained: type: boolean site_id: $ref: '#/components/schemas/site_id' sku: type: string timestamp: type: number uptime: type: integer version: description: version type: string type: object ap_stat_mesh_downlink: properties: band: example: '5' type: string channel: example: 36 type: integer idle_time: example: 3 type: integer last_seen: example: 1470417522 type: integer proto: example: n type: string rssi: example: -65 type: integer rx_bps: example: 12 type: integer rx_bytes: example: 217416 type: integer rx_packets: example: 2337 type: integer rx_rate: example: 65 type: integer rx_retries: example: 5 type: integer site_id: $ref: '#/components/schemas/site_id' snr: example: 31 type: integer tx_bps: example: 6 type: integer tx_bytes: example: 175132 type: integer tx_packets: example: 1566 type: integer tx_rate: example: 65 type: integer tx_retries: example: 500 type: integer type: object ap_stat_mesh_uplink: properties: band: example: '5' type: string channel: example: 36 type: integer idle_time: example: 3 type: integer last_seen: example: 1470417522 type: integer proto: example: n type: string rssi: example: -65 type: integer rx_bps: example: 12 type: integer rx_bytes: example: 217416 type: integer rx_packets: example: 2337 type: integer rx_rate: example: 65 type: integer rx_retries: example: 5 type: integer site_id: $ref: '#/components/schemas/site_id' snr: example: 31 type: integer tx_bps: example: 6 type: integer tx_bytes: example: 175132 type: integer tx_packets: example: 1566 type: integer tx_rate: example: 65 type: integer tx_retries: example: 500 type: integer uplink_ap_id: example: 00000000-0000-0000-1000-5c5b35000010 format: uuid type: string type: object ap_stats: description: AP statistics properties: auto_placement: properties: _id: example: 5c5b35000010 type: string info: description: Additional information about auto placements AP data properties: cluster_number: description: All APs sharing a given cluster number can be placed relative to each other example: 0 type: integer orientation_stats: description: The orientation of an AP example: 0 type: integer probability_surface: description: Coordinates representing a circle where the AP is most likely exists in the event of an inaccurate placement result properties: radius: description: The radius representing placement uncertainty, measured in pixels example: 2.1 type: number radius_m: description: The radius representing placement uncertainty, measured in meters type: number x: description: "X-coordinate of the potential placement\u2019\ s center, measured in pixels" example: 5.65 type: number y: description: "Y-coordinate of the potential placement\u2019\ s center, measured in pixels" example: 17 type: number type: object type: object recommended_anchor: description: Flag to represent if AP is recommended as an anchor by auto placement service type: boolean status: description: Basic Placement Status example: localized type: string status_detail: description: Additional info about placement status example: localized type: string use_auto_placement: description: Flag to represent if auto_placement values are currently utilized type: boolean x: description: X Autoplaced Position in pixels example: 53.5 type: number x_m: description: X Autoplaced Position in meters example: 5.35 type: number y: description: Y Autoplaced Position in pixels example: 173.1 type: number y_m: description: X Autoplaced Position in meters example: 17.31 type: number type: object ble_config: properties: beacon_rate: type: integer beacon_rate_model: example: custom type: string beam_disabled: items: type: integer type: array power: type: integer power_mode: example: custom type: string type: object ble_stat: properties: beacon_rate: example: 3 type: integer eddystone_uid_enabled: example: false type: boolean eddystone_uid_freq_msec: example: 200 type: integer eddystone_uid_instance: example: 5c5b35000001 type: string eddystone_uid_namespace: example: 2818e3868dec25629ede type: string eddystone_url_enabled: example: true type: boolean eddystone_url_freq_msec: description: Frequency (msec) of data emmit by Eddystone-UID beacon example: 100 type: integer eddystone_url_url: example: https://www.abc.com type: string ibeacon_enabled: example: true type: boolean ibeacon_major: example: 13 type: integer ibeacon_minor: example: 138 type: integer ibeacon_uuid: example: f3f17139-704a-f03a-2786-0400279e37c3 format: uuid type: string major: example: 12345 type: integer minors: $ref: '#/components/schemas/integers' power: example: 10 type: integer rx_bytes: example: 135 type: integer rx_pkts: example: 135 type: integer tx_bytes: example: 5231513353 type: integer tx_pkts: example: 135135135 type: integer tx_resets: description: resets due to tx hung example: 0 type: integer uuid: example: ada72f8f-1643-e5c6-94db-f2a5636f1a64 format: uuid type: string type: object cert_expiry: example: 1534534392 type: number env_stat: description: device environment, including CPU temperature, Ambient temperature, Humidity, Attitude, Pressure, Accelerometers, Magnetometers and vCore Voltage properties: accel_x: type: number accel_y: type: number accel_z: type: number ambient_temp: type: integer attitude: type: integer cpu_temp: type: integer humidity: type: integer magne_x: type: number magne_y: type: number magne_z: type: number pressure: type: integer vcore_voltage: type: number type: object esl_stat: properties: channel: type: integer connected: type: boolean type: type: string up: type: boolean type: object ext_ip: example: 73.92.124.103 type: string fwupdate: properties: progress: example: 10 type: integer status: example: inprogress type: string status_id: example: 5 type: integer timestamp: example: 1428949501 type: integer type: object iot_stat: additionalProperties: properties: value: type: integer type: object example: DI2: value: 0 type: object ip: example: 10.2.9.159 type: string ip_config: $ref: '#/components/schemas/ap_ip_config' ip_stat: $ref: '#/components/schemas/ip_stat' l2tp_stat: additionalProperties: $ref: '#/components/schemas/ap_stats_l2tp_stat' description: l2tp tunnel status (key is the wxtunnel_id) type: object last_seen: description: last seen timestamp example: 1470417522 type: number last_trouble: $ref: '#/components/schemas/last_trouble' led: $ref: '#/components/schemas/ap_led' lldp_stat: $ref: '#/components/schemas/ap_stats_lldp_stat' locating: example: false type: boolean locked: description: whether this AP is considered locked (placement / orientation has been vetted) example: true type: boolean mac: description: device mac example: 5c5b35000010 type: string map_id: example: 63eda950-c6da-11e4-a628-60f81dd250cc format: uuid type: string mesh_downlinks: additionalProperties: $ref: '#/components/schemas/ap_stat_mesh_downlink' description: Property key is the mesh downlink id (e.g `00000000-0000-0000-1000-5c5b35000010`) type: object mesh_uplink: $ref: '#/components/schemas/ap_stat_mesh_uplink' model: description: device model example: AP200 type: string mount: example: faceup type: string name: example: conference room type: string num_clients: description: how many wireless clients are currently connected type: integer port_stat: additionalProperties: $ref: '#/components/schemas/ap_stats_port_stat' description: Property key is the port name (e.g. `eth0`) type: object power_budget: description: in mW, surplus if positive or deficit if negative example: 1000 type: number power_constrained: description: whether insufficient power example: false type: boolean power_opmode: description: constrained mode example: '[20] 6GHz(2x2) 5GHz(4x4) 2.4GHz(2x2).' type: string power_src: description: DC Input / PoE 802.3at / PoE 802.3af / LLDP / ? (unknown) example: PoE 802.3af type: string radio_config: $ref: '#/components/schemas/ap_stats_radio_config' radio_stat: properties: band_24: $ref: '#/components/schemas/ap_radio_stats' band_5: $ref: '#/components/schemas/ap_radio_stats' band_6: $ref: '#/components/schemas/ap_radio_stats' type: object rx_bps: example: 60003 type: number rx_bytes: example: 8515104416 type: integer rx_pkts: example: 57770567 type: integer serial: description: serial example: FXLH2015170017 type: string status: $ref: '#/components/schemas/ap_stats_status' switch_redundancy: $ref: '#/components/schemas/ap_stats_switch_redundancy' tx_bps: example: 634301 type: number tx_bytes: example: 211217389682 type: number tx_pkts: example: 812204062 type: number type: description: device type, ap / ble example: ap type: string uptime: description: how long, in seconds, has the device been up (or rebooted) example: 13500 type: number usb_stat: $ref: '#/components/schemas/ap_stats_usb_stat' version: example: 0.14.12345 type: string x: example: 53.5 type: number y: example: 173.1 type: number required: - mac - model type: object ap_stats_l2tp_stat: properties: sessions: description: list of sessions items: properties: local_sid: description: remote sessions id (dynamically unless Tunnel is said to be static) example: 31 type: integer remote_id: description: WxlanTunnel Remote ID (user-configured) example: vpn1 type: string remote_sid: description: remote sessions id (dynamically unless Tunnel is said to be static) example: 13 type: integer state: $ref: '#/components/schemas/l2tp_state' title: device_stats_ap_session type: object minItems: 1 type: array uniqueItems: true state: $ref: '#/components/schemas/l2tp_state' uptime: description: uptime example: 135 type: integer wxtunnel_id: description: WxlanTunnel ID example: 7dae216d-7c98-a51b-e068-dd7d477b7216 format: uuid type: string type: object ap_stats_lldp_stat: description: LLDP Stat (neighbor information, power negotiations) properties: chassis_id: type: string lldp_med_supported: description: whether it support LLDP-MED type: boolean mgmt_addr: description: "switch\u2019s management address (if advertised), can be IPv4,\ \ IPv6, or MAC" type: string port_desc: description: "port description, e.g. \u201C2/20\u201D, \u201CPort 2 on Switch0\u201D" type: string power_allocated: description: in mW, provided/allocated by PSE type: number power_draw: description: in mW, total power needed by PD type: number power_request_count: description: "number of negotiations, if it keeps increasing, we don\u2019\ t have a stable power" type: integer power_requested: description: in mW, the current power requested by PD type: number system_desc: description: "description provided by switch, e.g. \u201CHP J9729A 2920-48G-POE+\ \ Switch\u201D" type: string system_name: description: "name of the switch, e.g. \u201CTC2-OWL-Stack-01\u201D" type: string type: object ap_stats_port_stat: properties: full_duplex: example: true type: boolean rx_bytes: example: 2056 type: number rx_errors: example: 0 type: number rx_pkts: example: 670 type: number speed: example: 1000 type: integer tx_bytes: example: 2056 type: number tx_pkts: example: 670 type: number up: example: true type: boolean type: object ap_stats_radio_config: properties: band_24: $ref: '#/components/schemas/ap_stats_radio_config_band' band_5: $ref: '#/components/schemas/ap_stats_radio_config_band' band_6: $ref: '#/components/schemas/ap_stats_radio_config_band' scanning_enabled: type: boolean type: object ap_stats_radio_config_band: properties: bandwidth: example: 20 type: number channel: example: 1 type: integer dynamic_chaining_enabled: example: false type: boolean power: example: 10 type: number rx_chain: example: 4 type: integer tx_chain: example: 4 type: integer type: object ap_stats_status: enum: - connected - disconnected - restarting - upgrading example: connected type: string ap_stats_switch_redundancy: properties: redundant: description: if there are neighbor APs on different switch example: true type: boolean type: object ap_stats_usb_stat: properties: channel: example: 3 type: integer connected: example: true type: boolean last_activity: example: 1586873254 type: integer type: example: imagotag type: string up: example: true type: boolean type: object ap_switch: deprecated: true description: for people who want to fully control the vlans (advanced) properties: enabled: default: false type: boolean eth0: $ref: '#/components/schemas/ap_switch_setting' eth1: $ref: '#/components/schemas/ap_switch_setting' eth2: $ref: '#/components/schemas/ap_switch_setting' eth3: $ref: '#/components/schemas/ap_switch_setting' module: $ref: '#/components/schemas/ap_switch_setting' wds: $ref: '#/components/schemas/ap_switch_setting' type: object ap_switch_setting: properties: additional_vlan_ids: description: additional VLAN IDs, only valid in mesh base mode items: type: integer type: array enable_vlan: type: boolean port_vlan_id: description: native VLAN id, optional oneOf: - type: integer - type: string vlan_ids: description: list of VLAN ids this items: type: integer type: array title: ap_switch_setting type: object ap_template: properties: ap_matching: properties: enabled: type: boolean rules: items: properties: match_model: minLength: 1 type: string name: minLength: 1 type: string port_config: additionalProperties: $ref: '#/components/schemas/ap_port_config' description: Property key is the interface(s) name (e.g. "eth1,eth2") type: object title: ap_template_matching_rule type: object minItems: 1 type: array uniqueItems: true title: ap_template_matching type: object created_time: readOnly: true type: number for_site: readOnly: true type: boolean id: format: uuid readOnly: true type: string modified_time: readOnly: true type: number org_id: format: uuid readOnly: true type: string site_id: $ref: '#/components/schemas/site_id' wifi: properties: cisco_enabled: type: boolean disable_11k: default: false type: boolean disable_radios_when_power_constrained: type: boolean enable_arp_spoof: type: boolean enable_shared_radio_scanning: default: false type: boolean enabled: default: true type: boolean locate_connected: default: false type: boolean locate_unconnected: default: false type: boolean mesh_allow_dfs: default: false type: boolean mesh_enable_crm: type: boolean mesh_enabled: type: boolean proxy_arp: default: false type: boolean type: object required: - ap_matching type: object ap_uplink_port_config: properties: dot1x: default: false description: Whether to do 802.1x against uplink switch. When enaled, AP cert will be used to do EAP-TLS and the Org's CA Cert has to be provisioned at the switch type: boolean keep_wlans_up_if_down: default: false description: by default, WLANs are disabled when uplink is down. In some scenario, like SiteSurvey, one would want the AP to keep sending beacons. type: boolean type: object ap_usb: description: 'USB AP settings Note: if native imagotag is enabled, BLE will be disabled automatically Note: legacy, new config moved to ESL Config.' properties: cacert: description: only if `type`==`imagotag` nullable: true type: string channel: description: 'only if `type`==`imagotag` channel selection, not needed by default, required for manual channel override only' example: 3 type: integer enabled: description: whether to enable any usb config type: boolean host: description: only if `type`==`imagotag` example: 1.1.1.1 type: string port: default: 0 description: only if `type`==`imagotag` example: 0 type: integer type: description: usb config type enum: - imagotag - solum - hanshow example: imagotag title: ap_usb_type type: string verify_cert: description: only if `type`==`imagotag`, whether to turn on SSL verification type: boolean vlan_id: default: 1 description: only if `type`==`solum` or `type`==`hanshow` type: integer type: object asset: description: Asset properties: created_time: readOnly: true type: number for_site: readOnly: true type: boolean id: format: uuid readOnly: true type: string mac: description: bluetooth MAC type: string map_id: format: uuid type: string modified_time: readOnly: true type: number name: description: name / label of the device type: string org_id: $ref: '#/components/schemas/org_id' site_id: $ref: '#/components/schemas/site_id' tag_id: format: uuid type: string required: - name - mac type: object asset_array: items: $ref: '#/components/schemas/asset' type: array asset_filter: description: Asset Filter properties: ap_mac: type: string beam: type: integer created_time: readOnly: true type: number disabled: default: false type: boolean disasbled: description: whether the asset filter is disabled type: boolean eddystone_uid_namespace: description: eddystone uid namespace used to filter assets example: 2818e3868dec25629ede type: string eddystone_url: description: eddystone url used to filter assets example: https://www.abc.com type: string for_site: readOnly: true type: boolean ibeacon_major: description: ibeacon major value used to filter assets example: 13 type: integer ibeacon_uuid: description: ibeacon uuid used to filter assets example: f3f17139-704a-f03a-2786-0400279e37c3 format: uuid type: string id: format: uuid readOnly: true type: string mfg_company_id: description: ble manufacturing-specific company-id used to filter assets example: 935 type: integer modified_time: readOnly: true type: number name: example: Visitor Tags type: string org_id: $ref: '#/components/schemas/org_id' rssi: type: integer service_uuid: description: ble service data uuid used to filter assets example: 0000fe6a-0000-1000-8000-0030459b3cfb format: uuid type: string site_id: $ref: '#/components/schemas/site_id' required: - name type: object asset_import: properties: mac: minLength: 1 type: string name: minLength: 1 type: string required: - name - mac type: object asset_of_interest: properties: _checkpoint_prep: type: number _checkpoint_preparer: type: number _checkpoint_scan: type: number _timestamp: type: number _ttl: type: number ap_mac: minLength: 1 type: string beam: type: number by: minLength: 1 type: string curr_site: minLength: 1 type: string device_name: type: string id: minLength: 1 type: string last_seen: type: number mac: minLength: 1 type: string manufacture: minLength: 1 type: string map_id: minLength: 1 type: string name: minLength: 1 type: string rssi: type: number type: object asset_stats: description: Asset statistics properties: battery_voltage: description: battery voltage, in mV example: 2970 type: number beam: example: 6 type: integer device_name: example: a type: string duration: example: 120 type: integer eddystone_uid_instance: example: 5c5b35000001 type: string eddystone_uid_namespace: example: 2818e3868dec25629ede type: string eddystone_url_url: example: ttps://www.abc.com type: string ibeacon_major: example: 12 type: integer ibeacon_minor: example: 138 type: integer ibeacon_uuid: example: f3f17139-704a-f03a-2786-0400279e37c3 format: uuid type: string last_seen: description: last seen timestamp example: 1428939600 type: number mac: description: bluetooth MAC example: 6fa474be7ae5 type: string map_id: description: map where the device belongs to example: c45be59f-854d-4ef7-b782-dcd6309c84a9 format: uuid type: string name: description: name / label of the device example: 6fa474be7ae5 type: string rssi: example: -60 type: integer rssizones: description: only send this for individual asset stat items: properties: id: format: uuid type: string since: type: number title: asset_rssi_zone type: object title: asset_rssi_zones type: array temperatur: example: 23.0 type: number x: description: x in pixel example: 280.19918140310193 type: number y: description: y in pixel example: 420.2987721046529 type: number zones: description: only send this for individual asset stat items: properties: id: format: uuid type: string since: type: number title: asset_zone type: object title: asset_zones type: array required: - mac type: object asset_stats_array: items: $ref: '#/components/schemas/asset_stats' type: array assets_import_file: properties: file: description: CSV file format: binary type: string type: object assets_import_json: example: - mac: a31eb04e1c38 name: Expensive Instrument - mac: a31eb04e1c37 name: Cheap Instrument items: $ref: '#/components/schemas/asset_import' minItems: 1 type: array uniqueItems: true auto_orient: properties: force_collection: default: false description: "If `force_collection`==`false`, the API attempts to start\ \ auto orientation with existing BLE data. \nIf `force_collection`==`true`,\ \ the API attempts to start BLE orchestration." type: boolean macs: description: list of device macs items: type: string type: array type: object auto_placement: properties: force_collection: default: false description: "* If `force_collection`==`false`: the API Iattempts to start\ \ localization with existing data. \n* If `force_collection`==`true`:\ \ maintenance the API attempts to start orchestration." type: boolean macs: description: list of device macs items: type: string type: array type: object auto_preemption: description: "schedule to preempt ap\u2019s which are not connected to preferred\ \ peer" properties: day_of_week: $ref: '#/components/schemas/day_of_week' enabled: default: false description: whether auto preemption should happen type: boolean time_of_day: $ref: '#/components/schemas/time_of_day' type: object beacon: description: Beacon properties: created_time: readOnly: true type: number eddystone_instance: description: Eddystone-UID instance (6 bytes) in hexstring format type: string eddystone_namespace: description: Eddystone-UID namespace (10 bytes) in hexstring format type: string eddystone_url: description: Eddystone-URL url type: string for_site: readOnly: true type: boolean ibeacon_major: description: bluetooth tag major type: integer ibeacon_minor: description: bluetooth tag minor type: integer ibeacon_uuid: description: bluetooth tag UUID format: uuid type: string id: format: uuid readOnly: true type: string mac: description: optiona, MAC of the beacon, currently used only to identify battery voltage type: string map_id: description: map where the device belongs to format: uuid type: string modified_time: readOnly: true type: number name: description: name / label of the device type: string org_id: $ref: '#/components/schemas/org_id' power: default: -12 description: in dBm maximum: 100 minimum: -12 type: integer site_id: $ref: '#/components/schemas/site_id' type: default: eddystone-uid enum: - ibeacon - eddystone-uid - eddystone-url title: beacon_type type: string x: description: x in pixel type: number y: description: y in pixel type: number type: object beacon_stats: description: Beacon statistics items: properties: battery_voltage: description: battery voltage, in mV type: number eddystone_instance: type: string eddystone_namespace: type: string last_seen: type: number mac: type: string map_id: format: uuid type: string name: type: string power: type: integer type: type: string x: type: number y: type: number required: - mac - name - type - power - map_id - x - y - last_seen type: object minItems: 1 type: array uniqueItems: true bgp_stats: properties: evpn_overlay: description: if this is created for evpn overlay type: boolean for_overlay: description: if this is created for overlay type: boolean local_as: description: AS example: 65000 type: integer mac: description: router mac address example: 020001c04668 type: string neighbor: example: 15.8.3.5 type: string neighbor_as: example: 65000 type: integer neighbor_mac: description: if it's another device in the same org example: 020001c04600 type: string node: description: node0/node1 example: node0 type: string org_id: $ref: '#/components/schemas/org_id' rx_pkts: example: 63366 type: integer rx_routes: description: number of received routes example: 60 type: integer site_id: $ref: '#/components/schemas/site_id' state: enum: - idle - connect - active - open_sent - open_config - established example: established title: bgp_stats_state type: string timestamp: example: 1666251056.07 type: number tx_pkts: example: 1735 type: integer tx_routes: example: 60 type: integer up: type: boolean uptime: example: 31355 type: integer vrf_name: example: default type: string title: bgp_stats type: object binary_stream: format: binary type: string call_stats: properties: app: type: string audio_quality: type: integer end_time: type: integer mac: type: string meeting_id: type: string org_id: $ref: '#/components/schemas/org_id' rating: type: integer screen_share_quality: type: integer site_id: $ref: '#/components/schemas/site_id' start_time: type: integer video_quality: type: integer type: object call_troubleshoot: properties: mac: example: 983a78ea4a44 type: string meeting_id: example: b784d744-9a7c-4fad-9af0-f78858a319b1 format: uuid type: string results: items: properties: audio_in: $ref: '#/components/schemas/call_troubleshoot_data' audio_out: $ref: '#/components/schemas/call_troubleshoot_data' timestamp: example: 1695425115 type: integer video_in: $ref: '#/components/schemas/call_troubleshoot_data' video_out: $ref: '#/components/schemas/call_troubleshoot_data' title: troubleshoot_call_item type: object type: array title: '' type: object call_troubleshoot_data: properties: ap_num_clients: example: -0.6565111 type: number ap_rtt: example: 0.16559607 type: number client_cpu: example: 3.7028809 type: number client_n_streams: example: 0.15803306 type: number client_radio_band: example: 0.5576923 type: number client_rssi: example: -1.0839354 type: number client_rx_bytes: example: 2.2622051 type: number client_rx_rates: example: 0.62357205 type: number client_rx_retries: example: 0.26726437 type: number client_tx_bytes: example: 0.15803306 type: number client_tx_rates: example: 0.62357205 type: number client_tx_retries: example: 0.77553505 type: number client_vpn_distaince: example: 1.6474955 type: number client_wifi_version: example: 0.18267937 type: number expected: example: 30.941595 type: number radio_bandwidth: example: -0.06538621 type: number radio_channel: example: -0.73391086 type: number radio_tx_power: example: 0.10027129 type: number radio_util: example: 12.770318 type: number radio_util_interference: example: -3.079999 type: number site_num_clients: example: 0.017364305 type: number wan_avg_download_mbps: example: 1.4803165 type: number wan_avg_upload_mbps: example: -0.038184267 type: number wan_jitter: example: 5.9680853 type: number wan_max_download_mbps: example: 1.4803165 type: number wan_max_upload_mbps: example: -0.038184267 type: number wan_rtt: example: 46.77899 type: number type: object call_troubleshoot_summary: properties: mac: example: 983a78ea4a44 type: string meeting_id: example: b784d744-9a7c-4fad-9af0-f78858a319b1 format: uuid type: string results: items: properties: audio_in: $ref: '#/components/schemas/call_troubleshoot_summary_data' audio_out: $ref: '#/components/schemas/call_troubleshoot_summary_data' timestamp: example: 1695425115 type: integer video_in: $ref: '#/components/schemas/call_troubleshoot_summary_data' video_out: $ref: '#/components/schemas/call_troubleshoot_summary_data' title: troubleshoot_call_item type: object type: array title: '' type: object call_troubleshoot_summary_data: properties: ap_num_clients: example: -0.6565111 type: integer ap_rtt: example: 0.16559607 type: integer client_cpu: example: 3.7028809 type: integer client_n_streams: example: 0.15803306 type: integer client_radio_band: example: 0.5576923 type: integer client_rssi: example: -1.0839354 type: integer client_rx_bytes: example: 2.2622051 type: integer client_rx_rates: example: 0.26726437 type: integer client_tx_bytes: example: 6.6164713 type: integer client_tx_rates: example: 0.62357205 type: integer client_tx_retries: example: 1.702031 type: integer client_vpn_distaince: example: 1.6474955 type: integer client_wifi_version: example: 0.18267937 type: integer expected: example: 30.941595 type: integer radio_bandwidth: example: -0.06538621 type: integer radio_channel: example: -0.73391086 type: integer radio_tx_power: example: 0.10027129 type: integer radio_util: example: 12.770318 type: integer radio_util_interference: example: -3.079999 type: integer site_num_clients: example: 0.017364305 type: integer wan_avg_download_mbps: example: 1.4803165 type: integer wan_avg_upload_mbps: example: -0.038184267 type: integer wan_jitter: example: 5.9680853 type: integer wan_max_download_mbps: example: 1.4803165 type: integer wan_max_upload_mbps: example: -0.038184267 type: integer wan_rtt: example: 46.77899 type: integer type: object capture_client: description: Initiate a Client Packet Capture properties: ap_mac: example: 'null' nullable: true type: string client_mac: description: client mac, required if `type`==`client`; optional otherwise example: 60a10a773412 nullable: true type: string duration: default: 600 description: duration of the capture, in seconds example: 300 maximum: 86400 nullable: true type: integer includes_mcast: default: false type: boolean max_pkt_len: default: 128 example: 128 maximum: 2048 nullable: true type: integer num_packets: default: 1024 description: number of packets to capture, 0 for unlimited, default is 1024 for client-capture example: 1000 nullable: true type: integer ssid: description: optional filter by ssid example: 'null' nullable: true type: string type: description: client enum: - client example: client type: string required: - type title: capture_client type: object capture_gateway: description: Initiate a Gateway (SSR) Packet Capture properties: duration: default: 600 description: duration of the capture, in seconds example: 600 maximum: 86400 minimum: 0 type: integer format: default: stream enum: - stream example: stream type: string gateways: additionalProperties: properties: ports: additionalProperties: properties: tcpdump_expression: description: tcpdump expression per port type: string title: capture_gateway_port type: object description: Property key is the port ID type: object type: object description: List of SSRs. Property key is the SSR MAC type: object max_pkt_len: default: 128 description: max_len of each packet to capture example: 1500 maximum: 2048 minimum: 0 type: integer num_packets: default: 1024 description: number of packets to capture, 0 for unlimited example: 100 minimum: 0 type: integer ports: description: dict of port which uses port id as the key items: type: string type: array type: enum: - gateway example: gateway type: string required: - type title: capture_gateway type: object capture_mxedge: description: Initiate a Wireless Packet Capture properties: duration: default: 600 description: duration of the capture, in seconds example: 600 maximum: 86400 type: integer format: default: stream description: pcap format enum: - stream type: string max_pkt_len: default: 128 description: max_len of each packet to capture example: 68 maximum: 2048 type: integer mxedges: additionalProperties: description: Property key is the Mx Edge ID properties: interfaces: additionalProperties: description: Property key is the Port name (e.g. "port1") properties: tcpdump_expression: description: tcpdump expression common for wired,radiotap type: string type: object type: object type: object num_packets: default: 1024 description: number of packets to capture, 0 for unlimited example: 100 maximum: 10000 type: integer type: description: mxedge enum: - mxedge example: mxedge type: string required: - type title: capture_mxedge type: object capture_new_assoc: description: Initiate a packet Capture for New Wireless Client Associations properties: ap_mac: example: 'null' nullable: true type: string client_mac: description: client mac, required if `type`==`client`; optional otherwise example: 60a10a773412 nullable: true type: string duration: default: 600 description: duration of the capture, in seconds example: 600 maximum: 86400 type: integer includes_mcast: default: false type: boolean max_pkt_len: default: 128 example: 128 maximum: 2048 type: integer num_packets: default: 100 description: number of packets to capture, 0 for unlimited example: 100 type: integer ssid: description: optional filter by ssid example: 'null' nullable: true type: string type: description: new-assoc enum: - new_assoc example: new_assoc type: string required: - type title: capture_new_assoc type: object capture_org: oneOf: - $ref: '#/components/schemas/capture_mxedge' capture_radiotap: description: Initiate a Radiotap Packet Capture properties: ap_mac: example: 'null' nullable: true type: string band: default: '24' enum: - '24' - '5' - '6' - 24,5,6 example: '24' nullable: true type: string client_mac: example: 38f9d3972ff1 nullable: true type: string duration: default: 600 description: duration of the capture, in seconds example: 600 maximum: 86400 type: integer format: default: pcap enum: - pcap - stream example: stream type: string max_pkt_len: default: 128 description: max_len of each packet to capture example: 68 maximum: 2048 type: integer num_packets: default: 1024 description: number of packets to capture, 0 for unlimited example: 100 minimum: 0 type: integer ssid: example: atest nullable: true type: string tcpdump_expression: description: tcpdump expression specific to radiotap example: tcp port 80 nullable: true type: string type: default: radiotap type: string wlan_id: description: wlan id associated with the respective ssid. example: fac8e973-feb9-421a-b381-aabbc4b61f5a nullable: true type: string required: - type title: capture_radiotap type: object capture_radiotapwired: description: Initiate a Radiotap Packet Capture and Wired Packet Capture properties: ap_mac: example: 'null' nullable: true type: string band: default: '24' description: only used for radiotap enum: - '24' - '5' - '6' - 24,5,6 example: '24' type: string client_mac: example: 38f9d3972ff1 nullable: true type: string duration: default: 600 description: duration of the capture, in seconds example: 600 maximum: 86400 type: integer format: default: pcap enum: - pcap - stream example: stream type: string max_pkt_len: default: 128 description: max_len of each packet to capture example: 68 maximum: 2048 type: integer num_packets: default: 1024 description: number of packets to capture, 0 for unlimited example: 100 minimum: 0 type: integer radiotap_tcpdump_expression: description: tcpdump expression for radiotap interface (802.11 + radio headers) example: type type: string ssid: example: atest nullable: true type: string tcpdump_expression: description: tcpdump expression common for wired,radiotap type: string type: default: radiotap,wired type: string wired_tcpdump_expression: description: tcpdump expression for wired example: tcp port 80 type: string wireless_tcpdump_expression: description: tcpdump expression for radiotap interface (802.11) type: string wlan_id: description: wlan id associated with the respective ssid. example: fac8e973-feb9-421a-b381-aabbc4b61f5a nullable: true type: string required: - type title: capture_radiotapwired type: object capture_scan: description: Initiate a Scan Radio Packet Capture properties: ap_mac: description: filter by ap_mac example: 'null' nullable: true type: string aps: additionalProperties: description: Property key is the AP MAC address (e.g. "5c5b35000001"). All optionals, parent parameters will be used if not defined properties: band: default: '24' description: Only Single value allowed enum: - '24' - '5' - '6' type: string channel: description: specify the channel value where scan PCAP has to be started type: string tcpdump_expression: description: tcpdump expression, port specific if specified under ports dict, otherwise applicable across ports if specified at top level of payload. Port specific value overrides top level value when both exist. type: string width: description: specify the bandwidth value with respect to the channel. type: string type: object description: "dictionary key is AP mac and value is a dictionary which contains\ \ key \u201Cband\u201D, \u201Cbandwidth\u201D, \u201Cchannel\u201D and\ \ \u201Ctcpdump_expression\u201D. In case keys are missed we will take\ \ parent value if parent values are not set we will use default value" type: object band: default: '5' description: Only Single value allowed, default value gets applied when user provides wrong values enum: - '24' - '5' - '6' example: '24' nullable: true type: string bandwidth: $ref: '#/components/schemas/dot11_bandwidth' channel: default: 1 description: specify the channel value where scan PCAP has to be started, default value gets applied when user provides wrong values example: 1 type: integer client_mac: description: filter by client mac example: 38f9d3972ff1 nullable: true type: string duration: default: 600 description: duration of the capture, in seconds example: 600 maximum: 86400 minimum: 0 type: integer format: default: pcap enum: - pcap - stream example: stream type: string max_pkt_len: default: 512 description: max_len of each packet to capture example: 68 maximum: 2048 minimum: 0 type: integer num_packets: default: 1024 description: number of packets to capture, 0 for unlimited example: 100 type: integer tcpdump_expression: description: tcpdump expression, port specific if specified under ports dict, otherwise applicable across ports if specified at top level of payload. Port specific value overrides top level value when both exist. example: tcp port 80 type: string type: enum: - scan example: scan type: string width: description: specify the bandwidth value with respect to the channel. type: string required: - type title: capture_scan type: object capture_site: oneOf: - $ref: '#/components/schemas/capture_client' - $ref: '#/components/schemas/capture_gateway' - $ref: '#/components/schemas/capture_new_assoc' - $ref: '#/components/schemas/capture_radiotap' - $ref: '#/components/schemas/capture_radiotapwired' - $ref: '#/components/schemas/capture_scan' - $ref: '#/components/schemas/capture_switch' - $ref: '#/components/schemas/capture_wired' - $ref: '#/components/schemas/capture_wireless' capture_switch: description: Initiate a Switch (Junos) Packet Capture properties: duration: default: 600 description: duration of the capture, in seconds example: 600 maximum: 86400 minimum: 0 type: integer format: default: stream enum: - stream type: string max_pkt_len: default: 512 description: max_len of each packet to capture example: 1500 maximum: 2048 minimum: 128 type: integer num_packets: default: 1024 description: number of packets to capture, 0 for unlimited example: 100 type: integer ports: description: dict of port which uses port id as the key items: type: string maxItems: 6 type: array switches: additionalProperties: properties: ports: additionalProperties: nullable: true type: object description: Property key is the interface name type: object type: object description: Property key is the switch mac type: object tcpdump_expression: description: tcpdump expression, port specific if specified under ports dict, otherwise applicable across ports if specified at top level of payload. Port specific value overrides top level value when both exist. example: port 443 type: string type: enum: - switch example: switch type: string required: - type title: capture_switch type: object capture_wired: description: Initiate a Wired Packet Capture properties: ap_mac: example: 'null' nullable: true type: string duration: default: 600 description: duration of the capture, in seconds example: 600 maximum: 86400 type: integer format: default: pcap description: pcap format enum: - pcap - stream type: string max_pkt_len: default: 128 description: max_len of each packet to capture example: 68 maximum: 2048 type: integer num_packets: default: 1024 description: number of packets to capture, 0 for unlimited example: 100 type: integer tcpdump_expression: description: tcpdump expression example: tcp port 80 nullable: true type: string type: description: wired enum: - wired example: wired type: string required: - type title: capture_wired type: object capture_wireless: description: Initiate a Wireless Packet Capture properties: ap_mac: example: 'null' nullable: true type: string band: default: '24' enum: - '24' - '5' - '6' - 24,5,6 example: '24' type: string duration: default: 600 description: duration of the capture, in seconds example: 600 maximum: 86400 type: integer format: default: pcap description: pcap format enum: - pcap - stream type: string max_pkt_len: default: 128 description: max_len of each packet to capture example: 68 maximum: 2048 type: integer num_packets: default: 1024 description: number of packets to capture, 0 for unlimited example: 100 type: integer ssid: type: string type: description: wireless enum: - wireless example: wireless type: string wlan_id: description: WLAN ID format: uuid type: string required: - type title: capture_wireless type: object claim_activation: properties: code: description: activation code type: string device_type: description: if only intended to claim certain device type enum: - ap - switch - gateway title: claim_device_type type: string type: default: all description: what to claim enum: - all - license - inventory title: claim_type type: string required: - code - type type: object claim_codes: description: List of Claim Codes example: - 6JG8E-PTFV2-A9Z2N - DVH4V-SNMSZ-PDXBR items: description: claim code type: string title: claimcodes type: array uniqueItems: true client_stats: oneOf: - $ref: '#/components/schemas/client_wireless_stats' - $ref: '#/components/schemas/client_wired_stats' client_stats_array: items: $ref: '#/components/schemas/client_stats' type: array client_wired_stats: minItems: 1 properties: _id: minLength: 1 type: string _ttl: description: TTL of the validity of the stat type: number auth_state: description: client authorization status minLength: 1 type: string device_id: description: Device ID the client is connected to minLength: 1 type: string eth_port: description: port on AP where the wired client is connected minLength: 1 type: string last_seen: description: time when last Tx/Rx observed type: number mac: description: client mac minLength: 1 type: string rx_bytes: description: amount of traffic sent to client since client connects type: number rx_pkts: description: amount of traffic sent to client since client connects type: number site_id: $ref: '#/components/schemas/site_id' tx_bytes: description: "\tamount of traffic received from client since client connects" type: number tx_pkts: description: amount of traffic received from client since client connects type: number uptime: description: how long, in seconds, has the client been connected type: number vlan_id: description: vlan id, could be empty type: number required: - mac type: object uniqueItems: true client_wireless_stats: description: Client statistics items: properties: _ttl: description: TTL of the validity of the stat type: number accuracy: description: estimated client location accuracy, in meter type: integer airespace_ifname: type: string airwatch: description: information if airwatch enabled properties: authorized: type: boolean required: - authorized type: object ap_id: description: AP ID the client is connected to format: uuid type: string ap_mac: description: AP the client is connected to type: string band: $ref: '#/components/schemas/dot11_band' channel: description: current channel type: integer dual_band: description: "whether the client is dual-band capable (determined by whether\ \ we\u2019ve seen probe requests from both bands)" type: boolean family: description: "device family, through fingerprinting. iPod / Nexus Galaxy\ \ / Windows Mobile or CE \u2026" type: string guest: description: information about this portal properties: authorized: default: false description: whether this guest is authorized type: boolean authorized_expiring_time: description: when the guest authorization will expire type: number authorized_time: description: when the guest is authorized type: number company: type: string email: type: string field1: type: string name: type: string required: - authorized - authorized_expiring_time - authorized_time - company - email - field1 - name title: client_wireless_stats_guest type: object hostname: description: hostname that we learned from sniffing DHCP type: string idle_time: description: how long, in seconds, has the client been idle (since the last RX packet) type: number ip: type: string is_guest: default: false description: whether this is a guest type: boolean key_mgmt: description: e.g. WPA2-PSK/CCMP type: string last_seen: description: last seen timestamp type: number mac: description: client mac type: string manufacture: description: device manufacture, through fingerprinting or OUI type: string map_id: description: estimated client location - map_id format: uuid type: string model: description: device model, may be available if we can identify them type: string num_locating_aps: description: number of APs used to locate this client type: integer os: description: device os, through fingerprinting type: string power_saving: description: "if it\u2019s currently in power-save mode" type: boolean proto: $ref: '#/components/schemas/dot11_proto' psk_id: description: PSK id (if multi-psk is used) format: uuid type: string rssi: description: signal strength type: number rssizones: description: "list of rssizone_id\u2019s where client is in and since\ \ when (if known)" items: properties: id: format: uuid type: string since: type: integer type: object title: client_wireless_stats_rssi_zones type: array rx_bps: description: rate of receiving traffic from the clients, bits/seconds, last known type: number rx_bytes: description: amount of traffic received from client since client connects type: number rx_packets: description: amount of traffic received from client since client connects type: number rx_rate: description: RX Rate, Mbps type: number rx_retries: description: amount of rx retries type: number snr: description: signal over noise type: number ssid: description: SSID the client is connected to type: string tx_bps: description: rate of transmitting traffic to the clients, bits/seconds, last known type: number tx_bytes: description: amount of traffic sent to client since client connects type: number tx_packets: description: amount of traffic sent to client since client connects type: number tx_rate: description: TX Rate, Mbps type: number tx_retries: description: amount of tx retries type: number type: description: "client\u2019s type, regular / vip / resource / blocked (if\ \ client object is created)" type: string uptime: description: how long, in seconds, has the client been connected type: number username: description: username that we learned from 802.1X exchange or Per-user PSK or User Portal type: string vbeacons: description: "list of beacon_id\u2019s where the client is in and since\ \ when (if known)" items: properties: id: format: uuid type: string since: type: integer type: object title: client_wireless_stats_vbeacons type: array vlan_id: description: vlan id, could be empty (from older AP) type: integer wlan_id: description: WLAN ID the client is connected to format: uuid type: string wxrule_id: description: current WxlanRule using for a Client or an authorized Guest (portal user). null if default rule is matched. format: uuid type: string wxrule_usage: description: current WxlanRule usage per tag_id items: properties: tag_id: format: uuid type: string usage: type: integer type: object title: client_wireless_stats_wxrule_usage type: array x: description: estimated clinet location in pixels type: number x_m: description: estimated client location in meter type: number y: description: estimated clinet location in pixels type: number y_m: description: estimated client location in meter type: number zones: description: "list of zone_id\u2019s where client is in and since when\ \ (if known)" items: properties: id: format: uuid type: string since: type: integer type: object title: client_wireless_stats_zones type: array required: - _ttl - ap_id - ap_mac - band - channel - dual_band - family - hostname - idle_time - ip - is_guest - key_mgmt - last_seen - mac - manufacture - model - os - power_saving - proto - rssi - rx_bps - rx_bytes - rx_packets - rx_rate - rx_retries - snr - ssid - tx_bps - tx_bytes - tx_packets - tx_rate - tx_retries - uptime - username - wlan_id type: object minItems: 1 type: array uniqueItems: true client_wireless_stats_array: items: $ref: '#/components/schemas/client_wireless_stats' type: array clients_wan_stats: properties: When: example: 2022-12-31T23:59:43.497+0000 type: string hostname: items: example: sonoszp type: string type: array ip: items: example: 192.168.1.139 type: string type: array last_hostname: example: sonoszp type: string last_ip: example: 192.168.1.139 type: string mfg: example: Sonos type: string org_id: $ref: '#/components/schemas/org_id' site_id: $ref: '#/components/schemas/site_id' wcid: example: 8bbe7389-212b-c65d-2208-00fab2017936 type: string type: object coa_server: description: CoA Server properties: disable_event_timestamp_check: default: false description: whether to disable Event-Timestamp Check type: boolean enabled: default: false type: boolean ip: example: 1.2.3.4 format: ipv4 type: string port: default: 3799 example: 3799 type: integer secret: example: testing456 type: string required: - ip - secret type: object coa_servers: description: list of COA (change of authorization) servers, optional items: $ref: '#/components/schemas/coa_server' nullable: true type: array code: properties: code: type: string required: - code type: object config_device: anyOf: - $ref: '#/components/schemas/ap' - $ref: '#/components/schemas/switch' - $ref: '#/components/schemas/gateway' config_devices: items: $ref: '#/components/schemas/config_device' type: array config_switch: description: Switch site settings properties: ap_affinity_threshold: default: 10 description: ap_affinity_threshold ap_affinity_threshold can be added as a field under site/setting. By default this value is set to 12. If the field is set in both site/setting and org/setting, the value from site/setting will be used. type: integer cli_banner: description: Set Banners for switches. Allows markup formatting example: \t\tWELCOME! type: string cli_idle_timeout: description: Sets timeout for switches maximum: 60 minimum: 1 type: integer config_revert_timer: default: 10 description: the rollback timer for commit confirmed maximum: 30 minimum: 1 type: integer dhcp_option_fqdn: default: false description: Enable to provide the FQDN with DHCP option 81 type: boolean mxedge_proxy_host: type: string mxedge_proxy_port: default: 2222 type: integer protect_re: $ref: '#/components/schemas/protect_re' radius: description: by default, `radius_config` will be used. if a different one has to be used set `use_different_radius properties: enabled: type: boolean radius_config: $ref: '#/components/schemas/junos_radius_config' use_different_radius: type: string type: object root_password: type: string tacacs: $ref: '#/components/schemas/tacacs' use_mxedge_proxy: description: to use mxedge as proxy type: boolean type: object const_alarm_definition: properties: display: description: Description of the alarm type example: Device offline type: string example: example: aps: - d420b02000fa count: 1 group: infrastructure hostnames: - Vendor_AP2 id: f70c308f-7007-4866-9ecd-0d01842979ea last_seen: 1629753888 org_id: 09dac91f-6e73-4100-89f7-698e0fafbb1b severity: warn site_id: dcfb31a1-d615-4361-8c95-b9dde05aa704 timestamp: 1629753888 type: device_down type: object fields: description: List of fields available in an alarm details payload (in REST APIs & Webhooks); e.g. `aps`, `switches`, `gateways`, `hostnames`, `ssids`, `bssids` example: - aps - hostnames items: type: string type: array group: description: Group to which the alarm belongs example: infrastructure type: string key: description: Key name of the alarm type example: device_down type: string marvis_suggestion_category: description: Marvis defined category to which the alarm belongs type: string severity: description: Severity of the alarm example: warn type: string required: - key - display - group - severity - fields title: '' type: object const_ap_channel: properties: band24_40mhz_allowed: example: true type: boolean band24_channels: additionalProperties: items: type: integer type: array description: Property key is the channel width example: '20': - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 '40': - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 type: object band24_enabled: example: true type: boolean band5_channels: additionalProperties: items: type: integer type: array description: Property key is the channel width example: '20': - 36 - 40 - 44 - 48 - 52 - 56 - 60 - 64 - 100 - 104 - 108 - 112 - 116 - 120 - 124 - 128 - 132 - 136 - 140 - 144 - 149 - 153 - 157 - 161 - 165 '40': - 36 - 40 - 44 - 48 - 52 - 56 - 60 - 64 - 100 - 104 - 108 - 112 - 116 - 120 - 124 - 128 - 132 - 136 - 140 - 144 - 149 - 153 - 157 - 161 '80': - 36 - 40 - 44 - 48 - 52 - 56 - 60 - 64 - 100 - 104 - 108 - 112 - 116 - 120 - 124 - 128 - 132 - 136 - 140 - 144 - 149 - 153 - 157 - 161 dfs: - 52 - 56 - 60 - 64 - 100 - 104 - 108 - 112 - 116 - 120 - 124 - 128 - 132 - 136 - 140 - 144 outdoor: - 36 - 40 - 44 - 48 - 52 - 56 - 60 - 64 - 100 - 104 - 108 - 112 - 116 - 120 - 124 - 128 - 132 - 136 - 140 - 144 - 149 - 153 - 157 - 161 - 165 type: object band5_enabled: example: true type: boolean band6_channels: additionalProperties: items: type: integer type: array description: Property key is the channel width example: '160': - 1 - 5 - 9 - 13 - 17 - 21 - 25 - 29 - 33 - 37 - 41 - 45 - 49 - 53 - 57 - 61 - 65 - 69 - 73 - 77 - 81 - 85 - 89 - 93 - 97 - 101 - 105 - 109 - 113 - 117 - 121 - 125 - 129 - 133 - 137 - 141 - 145 - 149 - 153 - 157 - 161 - 165 - 169 - 173 - 177 - 181 - 185 - 189 - 193 - 197 - 201 - 205 - 209 - 213 - 217 - 221 '20': - 1 - 5 - 9 - 13 - 17 - 21 - 25 - 29 - 33 - 37 - 41 - 45 - 49 - 53 - 57 - 61 - 65 - 69 - 73 - 77 - 81 - 85 - 89 - 93 - 97 - 101 - 105 - 109 - 113 - 117 - 121 - 125 - 129 - 133 - 137 - 141 - 145 - 149 - 153 - 157 - 161 - 165 - 169 - 173 - 177 - 181 - 185 - 189 - 193 - 197 - 201 - 205 - 209 - 213 - 217 - 221 - 225 - 229 - 233 '40': - 1 - 5 - 9 - 13 - 17 - 21 - 25 - 29 - 33 - 37 - 41 - 45 - 49 - 53 - 57 - 61 - 65 - 69 - 73 - 77 - 81 - 85 - 89 - 93 - 97 - 101 - 105 - 109 - 113 - 117 - 121 - 125 - 129 - 133 - 137 - 141 - 145 - 149 - 153 - 157 - 161 - 165 - 169 - 173 - 177 - 181 - 185 - 189 - 193 - 197 - 201 - 205 - 209 - 213 - 217 - 221 - 225 - 229 '80': - 1 - 5 - 9 - 13 - 17 - 21 - 25 - 29 - 33 - 37 - 41 - 45 - 49 - 53 - 57 - 61 - 65 - 69 - 73 - 77 - 81 - 85 - 89 - 93 - 97 - 101 - 105 - 109 - 113 - 117 - 121 - 125 - 129 - 133 - 137 - 141 - 145 - 149 - 153 - 157 - 161 - 165 - 169 - 173 - 177 - 181 - 185 - 189 - 193 - 197 - 201 - 205 - 209 - 213 - 217 - 221 psc: - 5 - 21 - 37 - 53 - 69 - 85 - 101 - 117 - 133 - 149 - 165 - 181 - 197 - 213 - 229 type: object band6_enabled: example: true type: boolean certified: example: true type: boolean code: description: country code, ISO 3166-1 numeric example: 840 type: integer dfs_ok: example: true type: boolean key: description: country code, in two-character example: US type: string name: example: United States type: string uses: example: US_FCC type: string type: object const_ap_led: properties: code: example: '01' type: string description: example: LED not working type: string key: example: LED_FAILURE type: string name: example: LED Failure type: string required: - code - key - name - description type: object const_app_category_definition: properties: display: description: Description of the app category example: Images type: string filters: example: srx: - Enhanced_Images_Media - Enhanced_Web_Images - Enhanced_Image_Servers properties: srx: items: type: string type: array ssr: items: type: string type: array type: object includes: description: List of other App Categories contained by this one items: type: string type: array key: description: Key name of the app category example: Images type: string required: - key - display type: object const_app_subcategory_definition: properties: display: description: Description of the app subcategory example: Office Document type: string key: description: Key name of the app subcategory example: Office_Documents type: string traffic_type: description: Type of traffic (QoS) of the app subcategory example: Images type: string required: - key - display - traffic_type type: object const_country: properties: alpha2: description: country code, in two-character example: FR type: string certified: example: true type: boolean name: example: France type: string numeric: description: country code, ISO 3166-1 numeric example: 250 type: number required: - alpha2 - numeric - name - certified type: object const_device_ap: properties: ap_type: example: jewel type: string band24: properties: band5_channels_op: example: low type: string max_clients: example: 128 type: integer max_power: example: 19 type: integer min_power: example: 8 type: integer title: const_device_ap_band24 type: object band24_usages: example: - '5' items: type: string type: array band5: properties: max_clients: example: 128 type: integer max_power: example: 17 type: integer min_power: example: 8 type: integer title: const_device_ap_band5 type: object band6: properties: max_clients: example: 128 type: integer max_power: example: 17 type: integer min_power: example: 8 type: integer title: const_device_ap_band6 type: object ce_dfs_ok: example: true type: boolean cisco_pace: type: boolean description: example: AP-45 type: string disallowed_channels: additionalProperties: additionalProperties: items: type: integer type: array description: Property key is the RF band (e.g. "band5") type: object description: Property key is a list of country codes (e.g. "GB, DE") title: const_device_ap_disallowed_channels type: object display: example: AP45 type: string extio: additionalProperties: properties: default_dir: enum: - IN - OUT type: string input: type: boolean output: type: boolean type: object description: Property key is the GPIO port name (e.g. "D0", "A1") title: const_device_ap_extio type: object fcc_dfs_ok: example: true type: boolean has_11ax: type: boolean has_compass: example: false type: boolean has_ext_ant: type: boolean has_extio: example: false type: boolean has_height: example: false type: boolean has_module_port: type: boolean has_poe_out: example: true type: boolean has_scanning_radio: example: true type: boolean has_selectable_radio: example: true type: boolean has_usb: type: boolean has_vble: example: true type: boolean has_wifi_band24: example: true type: boolean has_wifi_band5: example: true type: boolean has_wifi_band6: example: true type: boolean max_poe_out: example: 15400 type: integer max_wlans: type: integer model: example: AP45 type: string other_dfs_ok: example: true type: boolean outdoor: type: boolean radios: additionalProperties: type: string description: Property key is the radio number (e.g. r0, r1, ...). Property value is the RF band (e.g. "24", "5", ...) example: r0: '6' r1: '5' r2: '24' title: const_device_ap_radios type: object shared_scanning_radio: type: boolean type: default: ap type: string unmanaged: type: boolean vble: properties: beacon_rate: example: 4 type: integer beams: example: 9 type: integer power: example: 8 type: integer title: const_device_ap_vble type: object title: const_device_ap type: object const_device_gateway: properties: defaults: additionalProperties: description: list of interfaces names (e.g. "ge-0/0/3,ge-1/0/3") type: string description: Object Key is the interface type name (e.g. "lan_ports", "wan_ports", ...) title: const_device_gateway_defaults type: object description: type: string experimental: default: false type: boolean fans_pluggable: default: true type: boolean ha_node0_fpc: type: integer ha_node1_fpc: type: integer has_bgp: default: false type: boolean has_fxp0: default: true type: boolean has_ha_control: default: false type: boolean has_ha_data: default: false type: boolean has_irb: default: false type: boolean has_poe_out: default: true type: boolean has_snapshot: default: true type: boolean irb_disabled_by_default: default: false type: boolean model: type: string number_fans: type: integer oc_device: default: false type: boolean pic: additionalProperties: description: list of type and number of ports (e.g. "mge*8, ge*16") type: string description: Object Key is the PIC number title: const_device_gateway_pic type: object ports: description: Object Key is the interface name (e.g. "ge-0/0/1", ...) properties: display: type: string pci_address: type: string speed: type: integer title: const_device_gateway_ports type: object sub_required: type: string t128_device: default: false type: boolean type: default: gateway type: string title: const_device_gateway type: object const_device_switch: properties: alias: example: EX4100-48P-CHAS type: string defaults: properties: _ports: example: ge-0/0/0-47, et-0/1/0-3, xe-0/2/0-3, ge-0/2/0-3 type: string title: const_device_switch_default type: object description: example: Juniper EX4100 Series type: string display: example: EX4100-48P type: string evolved_os: default: false type: boolean evpn_ri_type: example: mac-vrf type: string experimental: default: false type: boolean fans_pluggable: default: false example: true type: boolean has_bgp: default: false example: true type: boolean has_ets: default: false type: boolean has_evpn: default: false example: true type: boolean has_irb: default: false example: true type: boolean has_poe_out: default: false example: true type: boolean has_snapshot: default: true type: boolean has_vc: default: true example: true type: boolean model: example: EX4100-48P type: string modular: default: false type: boolean no_shaping_rate: default: false type: boolean number_fans: example: 2 type: integer oc_device: default: false example: true type: boolean oob_interface: example: re0:mgmt-0, re1:mgmt-0 type: string packet_action_drop_only: default: false type: boolean pic: additionalProperties: description: list of type and number of ports (e.g. "mge*8, ge*16") type: string description: Object Key is the PIC number example: '0': ge*48 '1': qsfp+*4 '2': sfp+*4 (uplink) title: const_device_switch_pic type: object sub_required: type: string type: default: switch type: string title: const_device_switch type: object const_device_unknown: properties: ap_type: type: string description: type: string display: type: string has_extio: type: boolean has_vble: type: boolean has_wifi_band24: type: boolean has_wifi_band5: type: boolean model: type: string unmanaged: type: boolean type: object const_event: properties: description: type: string display: type: string example: additionalProperties: true type: object key: type: string required: - key - display type: object const_gateway_applications_definition: items: properties: app_id: example: true type: boolean key: example: 4shared type: string name: example: 4shared type: string ssr_app_id: example: true type: boolean type: object type: array const_language: properties: display: example: English (US) type: string display_native: example: English (US) type: string key: example: en-US type: string required: - display - display_native - key title: const_language type: object const_license_type: properties: description: example: Wired Assurance 12 type: string includes: example: - sub_ex12a - sub_ex12p items: type: string type: array key: example: sub_ex12 type: string name: example: SUB-EX12 type: string title: const_license_type type: object const_mxedge_model: properties: custom_ports: type: boolean display: example: X10 type: string model: example: ME-X10 type: string ports: additionalProperties: properties: display: example: xe0 type: string speed: example: 10000 type: integer title: const_mxedge_model_port type: object type: object title: const_mxedge_model type: object const_nac_events: properties: ap: example: 5c5b355008c0 type: string bssid: example: 5c5b35548892 type: string cert_cn: example: suriyas type: string cert_expiry: example: 1711557441 type: integer cert_issuer: example: /DC=net/DC=jnpr/CN=Juniper Networks Issuing AWS1 CA type: string cert_san_upn: example: - suriyas@juniper.net items: type: string type: array cert_serial: example: 1300103d29e56ef083797bedc2000100103d29 type: string cert_subject: example: /CN=suriyas/emailAddress=suriyas@juniper.net type: string eap_type: example: EAP-TLS type: string nas_vendor: example: Mist type: string org_id: $ref: '#/components/schemas/org_id' random_mac: example: true type: boolean site_id: $ref: '#/components/schemas/site_id' ssid: example: Test_Suriya-SSID type: string timestamp: example: 1685658478.438995 type: number type: example: NAC_CLIENT_CERT_CHECK_SUCCESS type: string username: example: suriyas@juniper.net type: string wcid: example: b43637b0-f0d9-0a1d-1ec2-73c394a9f679 format: uuid type: string type: object const_traffic_type: properties: display: example: VoIP Video type: string dscp: example: 32 type: integer failover_policy: example: non_revertible type: string max_jitter: example: 250 type: integer max_latency: example: 1500 type: integer max_loss: example: 35 type: integer name: example: voip_video type: string traffic_class: example: medium type: string type: object count_results: items: additionalProperties: type: string properties: count: type: integer required: - count type: object minItems: 1 type: array uniqueItems: true cpu_stat: properties: idle: description: Percentage of CPU time that is idle type: number interrupt: description: Percentage of CPU time being used by interrupts type: number load_avg: description: Load averages for the last 1, 5, and 15 minutes items: title: cpu_stat_load_avg type: object type: array system: description: Percentage of CPU time being used by system processes type: number user: description: Percentage of CPU time being used by user processe type: number type: object day_of_week: enum: - any - mon - tue - wed - thu - fri - sat - sun type: string days_number: properties: days: default: 30 type: integer type: object delivery: description: Delivery object to configure the alarm delivery properties: additional_emails: description: List of additional email string to deliver the alarms via emails items: example: john@mycorp.com type: string type: array enabled: description: Whether to enable the alarm delivery via emails or not example: true type: boolean to_org_admins: description: Whether to deliver the alarms via emails to Org admins or not example: true type: boolean to_site_admins: description: Whether to deliver the alarms via emails to Site admins or not example: false type: boolean required: - enabled type: object device_id: properties: device_id: format: uuid type: string required: - device_id type: object device_other: properties: created_time: type: integer device_mac: type: string id: type: string mac: type: string model: type: string modified_time: type: integer name: type: string org_id: $ref: '#/components/schemas/org_id' serial: type: string site_id: $ref: '#/components/schemas/site_id' vendor: type: string type: object device_other_stats: properties: config_status: example: synced type: string last_config: example: 1675392788 type: integer last_seen: example: 1675843629 type: integer mac: example: 5c5b35000018 type: string status: example: online type: string uptime: example: 20296 type: integer vendor: example: cradlepoint type: string vendor_specific: description: when `vendor`==`cradlepoint` properties: ports: additionalProperties: properties: bytes_in: type: integer bytes_out: type: integer health_category: type: string health_score: type: integer id: type: string mode: type: string model: type: string state: type: string type: type: string uptime: type: number type: object example: mdm-4d0e073b: bytes_in: 33004879 bytes_out: 41103393 health_category: '' health_score: 0 id: '101027967' mode: wan model: Internal 5GB (SIM1) state: READY type: 5G uptime: 252371.34149021498 type: object target_version: example: 7.23.40 type: string type: object version: example: 7.22.70 type: string type: object device_stats: anyOf: - $ref: '#/components/schemas/ap_stats' - $ref: '#/components/schemas/switch_stats' - $ref: '#/components/schemas/gateway_stats' device_stats_array: items: $ref: '#/components/schemas/device_stats' type: array device_type: default: ap enum: - ap - switch - gateway type: string device_type_with_all: default: ap enum: - ap - switch - gateway - all type: string device_upgrade: properties: reboot: default: false description: Reboot device immediately after upgrade is completed (Available on Junos OS devices) type: boolean snapshot: default: false description: Perform recovery snapshot after device is rebooted (Available on Junos OS devices) type: boolean version: default: stable description: specific version / `stable`, default is to use the latest type: string required: - version type: object device_upgrade_info: properties: counts: properties: download_requested: description: count of devices which cloud has requested to download firmware type: integer downloaded: description: "count of ap\u2019s which have the firmware downloaded" type: integer failed: description: count of devices which have failed to upgrade type: integer reboot_in_progress: description: count of devices which are rebooting type: integer rebooted: description: count of devices which have rebooted successfully type: integer scheduled: description: count of devices which cloud has scheduled an upgrade for type: integer skipped: description: count of devices which skipped upgrade since requested version was same as running version. Use force to always upgrade type: integer total: description: count of devices part of this upgrade type: integer upgraded: description: count of devices which have upgraded successfully type: integer readOnly: true type: object current_phase: description: current canary or rrm phase in progress type: integer enable_p2p: description: whether to allow local AP-to-AP FW upgrade type: boolean force: description: whether to force upgrade when requested version is same as running version type: boolean id: description: unique id for the upgrade format: uuid minLength: 1 readOnly: true type: string max_failure_percentage: description: percentage of failures allowed type: integer max_failures: description: number of failures allowed within a canary phase or serial rollout items: type: integer type: array reboot_at: description: reboot start time in epoch type: integer start_time: description: firmware download start time in epoch type: number status: description: status upgrade is in enum: - created - completed - canceled - downloading title: device_upgrade_status type: string strategy: $ref: '#/components/schemas/device_upgrade_strategy' target_version: description: version to upgrade to minLength: 1 type: string upgrade_plan: description: a dictionary of rrm phase number to devices part of that phase type: object required: - id title: device_upgrade_info type: object device_upgrade_org_multi: properties: canary_phases: default: - 1 - 10 - 50 - 100 description: "phases for canary deployment. Each phase represents percentage\ \ of AP\u2019s that need to be upgraded. default is [1, 10, 50, 100]" items: type: integer type: array enable_p2p: description: whether to allow local AP-to-AP FW upgrade type: boolean force: default: false description: true will force upgrade when requested version is same as running version type: boolean max_failure_percentage: default: 5 description: percentage of failures allowed across the entire upgrade(not applicable for `big_bang`) maximum: 100 minimum: 0 type: number max_failures: description: number of failures allowed within each phase(applicable for `canary` or `rrm`). Will be used if provided, else max_failure_percentage will be used items: type: integer type: array models: items: type: string type: array p2p_cluster_size: default: 10 example: 0 minimum: 0 type: integer p2p_parallelism: description: number of parallel p2p download batches to creat type: integer reboot: default: false description: Reboot device immediately after upgrade is completed (Available on Junos OS devices) type: boolean reboot_at: description: reboot start time in epoch seconds, default is `start_time` example: 1624399840 type: number rrm_first_batch_percentage: description: "percentage of AP\u2019s that need to be present in the first\ \ rrm batch" example: 2 type: integer rrm_max_batch_percentage: description: "max percentage of AP\u2019s that need to be present in each\ \ rrm batch" example: 10 type: integer rrm_mesh_upgrade: description: "sequential or parallel (default parallel). Whether to upgrade\ \ mesh AP\u2019s parallelly or sequentially at the end of the upgrade" type: string rrm_node_order: default: fringe_to_center description: "Used in rrm to determine whether to start upgrade from fringe\ \ or center AP\u2019s" enum: - fringe_to_center - center_to_fringe type: string rrm_slow_ramp: description: true will make rrm batch sizes slowly ramp up type: boolean site_ids: items: format: uuid type: string type: array snapshot: default: false description: Perform recovery snapshot after device is rebooted (Available on Junos OS devices) type: boolean start_time: description: upgrade start time in epoch seconds, default is now example: 1624399840 type: number strategy: $ref: '#/components/schemas/device_upgrade_strategy' version: default: latest description: specific version / stable example: 3.1.5 type: string title: device_upgrade_org_multi type: object device_upgrade_site_multi: properties: canary_phases: default: - 1 - 10 - 50 - 100 description: "phases for canary deployment. Each phase represents percentage\ \ of AP\u2019s that need to be upgraded. default is [1, 10, 50, 100]" items: type: integer type: array device_ids: items: format: uuid type: string type: array enable_p2p: description: whether to allow local AP-to-AP FW upgrade type: boolean force: default: false description: true will force upgrade when requested version is same as running version type: boolean max_failure_percentage: default: 5 description: percentage of failures allowed across the entire upgrade(not applicable for `big_bang`) maximum: 100 minimum: 0 type: number max_failures: description: number of failures allowed within each phase(applicable for `canary` or `rrm`). Will be used if provided, else max_failure_percentage will be used items: type: integer type: array models: items: type: string type: array p2p_cluster_size: default: 10 example: 0 minimum: 0 type: integer p2p_parallelism: description: number of parallel p2p download batches to creat type: integer reboot: default: false description: Reboot device immediately after upgrade is completed (Available on Junos OS devices) type: boolean reboot_at: description: reboot start time in epoch seconds, default is `start_time` example: 1624399840 type: number rrm_first_batch_percentage: description: "percentage of AP\u2019s that need to be present in the first\ \ rrm batch" example: 2 type: integer rrm_max_batch_percentage: description: "max percentage of AP\u2019s that need to be present in each\ \ rrm batch" example: 10 type: integer rrm_mesh_upgrade: description: "sequential or parallel (default parallel). Whether to upgrade\ \ mesh AP\u2019s parallelly or sequentially at the end of the upgrade" type: string rrm_node_order: default: fringe_to_center description: "Used in rrm to determine whether to start upgrade from fringe\ \ or center AP\u2019s" enum: - fringe_to_center - center_to_fringe type: string rrm_slow_ramp: description: true will make rrm batch sizes slowly ramp up type: boolean snapshot: default: false description: Perform recovery snapshot after device is rebooted (Available on Junos OS devices) type: boolean start_time: description: upgrade start time in epoch seconds, default is now example: 1624399840 type: number strategy: $ref: '#/components/schemas/device_upgrade_strategy' version: default: latest description: specific version / stable example: 3.1.5 type: string title: device_upgrade_site_multi type: object device_upgrade_strategy: default: big_bang description: '`big_bang` (upgrade all at once), `serial` (one at a time), `canary` or `rrm`' enum: - big_bang - canary - serial - rrm type: string deviceprofile: anyOf: - $ref: '#/components/schemas/deviceprofile_ap' - $ref: '#/components/schemas/gateway_template' deviceprofile_ap: description: Device Profile minItems: 1 properties: aeroscout: $ref: '#/components/schemas/ap_aeroscout' ble_config: $ref: '#/components/schemas/ap_ble' created_time: readOnly: true type: number disable_eth1: default: false description: whether to disable eth1 port type: boolean disable_eth2: default: false description: whether to disable eth2 port type: boolean disable_eth3: default: false description: whether to disable eth3 port type: boolean disable_module: default: false description: whether to disable module port type: boolean esl_config: $ref: '#/components/schemas/ap_esl_config' for_site: readOnly: true type: boolean id: format: uuid readOnly: true type: string iot_config: $ref: '#/components/schemas/ap_iot' ip_config: $ref: '#/components/schemas/ap_ip_config' led: $ref: '#/components/schemas/ap_led' mesh: $ref: '#/components/schemas/ap_mesh' modified_time: readOnly: true type: number name: nullable: true type: string ntp_servers: items: type: string type: array org_id: $ref: '#/components/schemas/org_id' poe_passthrough: default: false description: whether to enable power out through module port (for APH) or eth1 (for APL/BT11) type: boolean port_config: additionalProperties: $ref: '#/components/schemas/ap_port_config' description: Property key is the interface(s) name (e.g. "eth1,eth2") type: object pwr_config: $ref: '#/components/schemas/ap_pwr_config' radio_config: $ref: '#/components/schemas/ap_radio' site_id: $ref: '#/components/schemas/site_id' switch_config: $ref: '#/components/schemas/ap_switch' type: default: ap enum: - ap - switch - gateway title: device_profile_ap_type type: string uplink_port_config: $ref: '#/components/schemas/ap_uplink_port_config' usb_config: $ref: '#/components/schemas/ap_usb' vars: $ref: '#/components/schemas/vars' type: object uniqueItems: true discovered_switch_metric: properties: details: type: object org_id: $ref: '#/components/schemas/org_id' scope: example: site type: string score: example: 100 type: integer site_id: $ref: '#/components/schemas/site_id' timestamp: example: 1675193400 type: integer type: example: inactive_wired_vlans type: string type: object discovered_switch_metrics: items: $ref: '#/components/schemas/discovered_switch_metric' type: array dot11_band: enum: - '24' - '5' - '6' type: string dot11_bandwidth: default: 20 description: 'channel width for the band, 20 / 40 / 80 / 160 `80` is only applicable for band_5 and band_6 `160` is only for band_6' enum: - 20 - 40 - 80 - 160 example: 20 type: integer dot11_proto: enum: - a - b - g - n - ac - ax type: string dynamic_port_usage: description: This is a special mode where the actually usage is determined by a set of rules the port will start with `access` mode and isolated depending on the rules, if resolved, the port will have the resolved usage applied. properties: mode: $ref: '#/components/schemas/ip_config_type' reset_default_when: default: link_down description: 'Control when the DPC port should be changed to the default port usage Configuring to none will let the DPC port keep at the current port usage.' enum: - none - link_down example: link_down type: string rules: items: $ref: '#/components/schemas/dynamic_port_usage_rule' type: array required: - mode title: '' type: object dynamic_port_usage_rule: properties: equals: type: string equals_any: description: use `equals_any` to match any item in a list items: type: string type: array expression: description: '"[0:3]":"abcdef" -> "abc" "split(.)[1]": "a.b.c" -> "b" "split(-)[1][0:3]: "a1234-b5678-c90" -> "b56"' type: string src: enum: - lldp_chassis_id - lldp_system_name - lldp_serial_number - lldp_hardware_revision - lldp_manufacturer_name - lldp_oui - radius_username - radius_usermac - radius_dynamicfilter - link_peermac type: string usage: description: '`port_usage` name' type: string required: - src type: object email: properties: email: format: email type: string required: - email title: email type: object error_delete_failed: properties: detail: example: inventory not empty type: string org_id: example: 24f6eca-7276-4993-bfeb-53cbbbba6f05 format: uuid type: string required: - detail - org_id type: object event_nac_client: properties: ap: example: 5c5b35513227 type: string auth_type: description: "authentication type, e.g. \u201Ceap-tls\u201D, \u201Ceap-ttls\u201D\ , \u201Ceap-teap\u201D, \u201Cmab\u201D, \u201Cpsk\u201D, \u201Cdevice-auth\u201D" example: eap-tls type: string bssid: example: 5c5b355fafcc type: string device_mac: type: string dryrun_nacrule_id: description: NAC Policy Dry Run Rule ID, if present and matched example: 32f27e7d-ff26-4a9b-b3d1-ff9bcb264012 format: uuid type: string dryrun_nacrule_matched: type: boolean idp_id: example: 912ef72e-2239-4996-b81e-469e87a27cd6 format: uuid type: string idp_role: example: - itsuperusers - vip items: type: string type: array mac: description: Client MAC address example: ac3eb179e535 type: string mxedge_id: description: Mist Edge ID used to connect to cloud type: string nacrule_id: description: NAC Policy Rule ID, if matched example: 32f27e7d-ff26-4a9b-b3d1-ff9bcb264c62 format: uuid type: string nacrule_matched: example: true type: boolean nas_vendor: example: juniper-mist type: string org_id: $ref: '#/components/schemas/org_id' port_id: type: string port_type: description: Type of client i.e wired, wireless type: string random_mac: example: false type: boolean resp_attrs: example: - Tunnel-Type=VLAN - Tunnel-Medium-Type=IEEE-802 - Tunnel-Private-Group-Id=750 - User-Name=anonymous items: type: string type: array site_id: $ref: '#/components/schemas/site_id' ssid: example: mist_nac type: string timestamp: example: 1691512031.358188 type: number type: description: event type, e.g. NAC_CLIENT_PERMIT example: NAC_CLIENT_PERMIT type: string username: description: Username presented by the client example: user@deaflyz.net type: string vlan: description: Vlan ID example: '750' type: string type: object event_nac_clients: items: $ref: '#/components/schemas/event_nac_client' type: array event_otherdevice: properties: device_mac: type: string mac: example: 5c5b351e13b5 type: string org_id: $ref: '#/components/schemas/org_id' site_id: $ref: '#/components/schemas/site_id' text: example: 'Plugged: The Internal 5GB (SIM1) has been inserted into Internal 1.' type: string timestamp: example: 547235620.89 type: number type: example: CELLULAR_EDGE_MODEM_WAN_PLUGGED type: string vendor: example: cradlepoint type: string type: object events_client: description: client events properties: ap: type: string band: $ref: '#/components/schemas/dot11_band' bssid: type: string channel: type: integer proto: $ref: '#/components/schemas/dot11_proto' ssid: type: string text: type: string timestamp: type: number type: description: event type, e.g. MARVIS_EVENT_CLIENT_FBT_FAILURE type: string type_code: description: for assoc/disassoc events type: integer wlan_id: format: uuid type: string required: - proto - timestamp - band type: object events_client_wan: properties: When: example: '2022-12-31T23:59:59.293Z' type: string ev_type: example: CLIENT_IP_ASSIGNED type: string metadata: type: object org_id: $ref: '#/components/schemas/org_id' random_mac: type: boolean site_id: $ref: '#/components/schemas/site_id' text: example: DHCP Ack IP 192.168.88.216 type: string wcid: example: 62bbfb75-10d8-49d1-dec7-d2df91624287 format: uuid type: string type: object events_device_ap: description: ap events properties: last_reboot_time: type: number text: type: string timestamp: type: number type: type: string type_code: type: integer required: - timestamp type: object events_rogue: description: rogue events properties: ap: type: string bssid: type: string channel: type: integer rssi: type: integer ssid: type: string timestamp: type: number required: - ssid - bssid - timestamp - ap - rssi - channel type: object events_skyatp: description: SkyATP events properties: device_mac: readOnly: true type: string for_site: readOnly: true type: boolean ip: readOnly: true type: string mac: readOnly: true type: string org_id: $ref: '#/components/schemas/org_id' site_id: $ref: '#/components/schemas/site_id' threat_level: readOnly: true type: integer timestamp: readOnly: true type: number type: readOnly: true type: string required: - mac - threat_level - device_mac - timestamp - org_id - site_id - type - ip type: object gateway: description: device gateway properties: additional_config_cmds: items: type: string type: array created_time: readOnly: true type: number deviceprofile_id: format: uuid type: string dhcpd_config: $ref: '#/components/schemas/junos_dhcpd' extra_routes: $ref: '#/components/schemas/gateway_extra_route' for_site: readOnly: true type: boolean id: format: uuid readOnly: true type: string image1_url: type: string image2_url: type: string image3_url: type: string ip_config: $ref: '#/components/schemas/gateway_ip_config' managed: type: boolean modified_time: readOnly: true type: number msp_id: format: uuid readOnly: true type: string name: type: string networks: additionalProperties: properties: vlan_id: type: integer type: object description: Property key is the network name or a CIDR minProperties: 0 type: object ntp_servers: items: type: string type: array oob_ip_config: $ref: '#/components/schemas/junos_oob_ip_config' org_id: $ref: '#/components/schemas/org_id' port_config: additionalProperties: $ref: '#/components/schemas/gateway_port_config' description: Property key is the port name or range (e.g. "ge-0/0/0-10") type: object port_mirroring: properties: port_mirror: properties: family_type: type: string ingress_port_ids: items: example: ge-0/0/3 type: string type: array output_port_id: example: ge-0/0/5 type: string rate: type: integer run_length: minimum: 0 type: integer type: object type: object site_id: $ref: '#/components/schemas/site_id' vars: $ref: '#/components/schemas/vars' type: object gateway_cluster_form: properties: nodes: items: properties: mac: description: when replacing a noce, either mac has to remain the same as existing cluster minLength: 1 type: string required: - mac title: gateway_cluster_node type: object minItems: 1 type: array uniqueItems: true required: - nodes type: object gateway_cluster_swap: properties: mac: description: "when `op`\_==`replacement_nodeX`, new node1\n's MAC, the device\ \ has to be standalone and assigned to the same site" type: string op: default: swap enum: - swap - replace_node1 minLength: 1 title: gateway_cluster_swap_operation type: string required: - op type: object gateway_extra_route: additionalProperties: description: Property key is the destination CIDR (e.g. "10.0.0.0/8") properties: via: format: ipv4 type: string type: object example: 0.0.0.0/0: via: 192.168.1.10 type: object gateway_ip_config: additionalProperties: properties: ip: format: ipv4 type: string netmask: example: /24 type: string secondary_ips: description: optional list of secondary IPs in CIDR format example: - 192.168.50.1/24 - 192.168.60.1/26 items: type: string type: array type: object description: Property key is the network name type: object gateway_matching: description: Gateway matching properties: enable: type: boolean rules: items: additionalProperties: description: 'property key define the type of matchine. e.g: `match_name[0:3]`, `match_model[0-6]` or `match_role`' type: string properties: additional_config_cmds: items: type: string type: array name: type: string port_config: additionalProperties: $ref: '#/components/schemas/junos_port_config' type: object type: object minItems: 1 type: array uniqueItems: true type: object gateway_port_config: description: Gateway port config properties: description: type: string disable_autoneg: default: false type: boolean disabled: default: false description: port admin up (true) / down (false) type: boolean dsl_type: default: vdsl description: if `wan_type`==`lte` enum: - vdsl - adsl type: string dsl_vci: default: 35 description: 'if `wan_type`==`dsl` 16 bit int' type: integer dsl_vpi: default: 0 description: 'if `wan_type`==`dsl` 8 bit int' type: integer duplex: default: auto enum: - half - full - auto example: full type: string ip_config: $ref: '#/components/schemas/junos_ip_config_gateway' lte_apn: description: if `wan_type`==`lte` type: string lte_auth: default: none description: if `wan_type`==`lte` enum: - none - chap - pap type: string lte_backup: type: boolean lte_password: description: if `wan_type`==`lte` type: string lte_username: description: if `wan_type`==`lte` type: string mtu: type: integer name: description: name that we'll use to derive config type: string networks: description: if `usage`==`lan` items: type: string type: array outer_vlan_id: description: for Q-in-Q type: integer poe_disabled: default: false type: boolean port_network: description: if `usage`==`lan` type: string preserve_dscp: default: true description: whether to preserve dscp when sending traffic over VPN (SSR-only) type: boolean redundant: description: if HA mode type: boolean reth_idx: description: if HA mode type: integer reth_node: description: if HA mode type: string reth_nodes: description: SSR only - supporting vlan-based redundancy (matching the size of `networks`) example: - node0 - node1 items: type: string type: array speed: default: auto example: 1g type: string ssr_no_virtual_mac: default: false description: when SSR is running as VM, this is required on certain hosting platforms type: boolean svr_port_range: default: none description: for SSR only example: 60000-60005 type: string traffic_shaping: properties: class_percentages: description: 'percentages for differet class of traffic: high / medium / low / best-effort sum must be equal to 100' items: type: integer type: array enabled: default: false type: boolean type: object usage: description: port usage name enum: - lan - wan - ha_data - ha_control type: string vlan_id: description: if WAN interface is on a VLAN type: integer vpn_paths: additionalProperties: properties: bfd_profile: default: broadband enum: - lte - broadband type: string bfd_use_tunnel_mode: default: false description: whether to use tunnel mode. SSR only type: boolean role: default: spoke enum: - spoke - hub type: string traffic_shaping: properties: class_percentage: description: 'percentages for differet class of traffic: high / medium / low / best-effort sum must be equal to 100' items: type: integer type: array enabled: type: boolean max_tx_kbps: type: integer type: object type: object properties: preference: description: for a given VPN, when path_selection.strategy=simple, the preference for a path (lower is preferred) type: integer type: object wan_ext_ip: description: optional, if spoke should reach this port by a different IP type: string wan_source_nat: description: optional, by default, source-NAT is performed on all WAN Ports using the interface-ip properties: disabled: default: false description: or to disable the source-nat type: boolean nat_pool: description: if alternative nat_pool is desired example: 64.2.4.0/30 type: string type: object wan_type: default: broadband description: if `usage`==`wan` enum: - broadband - dsl - lte type: string required: - usage type: object gateway_routing_policy: properties: terms: description: zero or more criteria/filter can be specified to match the term, all criteria have to be met items: properties: action: description: when used as import policy properties: accept: type: boolean add_community: items: example: '65003:10' type: string type: array add_target_vrfs: description: for SSR, hub decides how VRF routes are leaked on spoke items: type: string type: array community: description: when used as export policy, optional items: example: '65003:10' type: string type: array exclude_as_path: description: when used as export policy, optional. To exclude certain AS items: example: '65002' type: string type: array exclude_community: items: example: '65003:10' type: string type: array export_communitites: description: when used as export policy, optional items: type: string type: array local_preference: description: optional, for an import policy, local_preference can be changed type: string prepend_as_path: description: when used as export policy, optional. By default, the local AS will be prepended, to change it items: example: '65003' type: string type: array type: object matching: description: zero or more criteria/filter can be specified to match the term, all criteria have to be met properties: as_path: description: takes regular expression items: example: '65001' type: string type: array community: items: example: '65001:2' type: string type: array network: items: type: string type: array prefix: description: zero or more criteria/filter can be specified to match the term, all criteria have to be met items: example: 192.168.0.0/16-30 type: string type: array protocol: description: '`direct`, `bgp`, `osp`, ...' items: example: direct type: string type: array route_exists: properties: route: example: 192.168.0.0/24 type: string vrf_name: default: default description: 'name of the vrf instance it can also be the name of the VPN or wan if they' type: string type: object vpn_neighbor_mac: description: overlay-facing criteria (used for bgp_config where via=vpn) items: type: string type: array vpn_path: description: 'overlay-facing criteria (used for bgp_config where via=vpn) ordered-' items: type: string type: array vpn_path_sla: properties: max_jitter: nullable: true type: integer max_latency: example: 1500 nullable: true type: integer max_loss: example: 30 nullable: true type: integer type: object type: object title: gateway_routing_policy_action type: object type: array uniqueItems: true type: object gateway_search: properties: ext_ip: type: string hostname: items: type: string type: array ip: type: string last_hostname: type: string mac: type: string model: type: string num_members: type: integer org_id: $ref: '#/components/schemas/org_id' site_id: $ref: '#/components/schemas/site_id' timestamp: type: number type: type: string uptime: type: integer version: type: string type: object gateway_stats: description: Gateway statistics properties: cluster_stat: additionalProperties: properties: status: type: string type: object type: object cpu2_stat: $ref: '#/components/schemas/cpu_stat' cpu_stat: $ref: '#/components/schemas/cpu_stat' hostname: description: hostname reported by the device example: sj1 type: string ip: description: IP address example: 10.2.11.137 type: string ip_stat: $ref: '#/components/schemas/ip_stat' last_seen: description: last seen timestamp example: 1553203563 type: number mac: description: device mac example: dc38e1dbf3cd type: string memory_stat: $ref: '#/components/schemas/memory_stat' model: description: device model example: SRX320 type: string module2_stat: items: $ref: '#/components/schemas/module_stat' minItems: 1 type: array uniqueItems: true module_stat: items: $ref: '#/components/schemas/module_stat' minItems: 1 type: array uniqueItems: true name: description: device name if configured example: sj1 type: string serial: description: serial example: TC3714190003 type: string spu2_stat: $ref: '#/components/schemas/gateway_stats_spu_stat' spu_stat: $ref: '#/components/schemas/gateway_stats_spu_stat' status: example: connected type: string type: example: gateway type: string uptime: example: 3671219 type: number version: example: 18.4R1.8 type: string required: - mac type: object gateway_stats_spu_stat: properties: spu_cpu: example: 3670632 type: integer spu_current_session: example: 215 type: number spu_max_session: example: 131072 type: number spu_memory: example: 46 type: integer spu_pending_session: example: 0 type: number spu_valid_session: example: 0 type: number type: object gateway_template: description: Gateway Template is applied to a site for gateway(s) in a site. properties: additional_config_cmds: items: type: string type: array bgp_config: additionalProperties: $ref: '#/components/schemas/junos_bgp_config' type: object created_time: readOnly: true type: number dhcpd_config: $ref: '#/components/schemas/junos_dhcpd' extra_routes: $ref: '#/components/schemas/gateway_extra_route' gateway_matching: $ref: '#/components/schemas/gateway_matching' id: format: uuid readOnly: true type: string idp_profiles: description: Property key is the profile name properties: additionalProperties: $ref: '#/components/schemas/idp_profile' type: object ip_configs: $ref: '#/components/schemas/gateway_ip_config' modified_time: readOnly: true type: number name: example: gw_template type: string networks: description: additional networks that are not already defined from Networks items: $ref: '#/components/schemas/network' type: array oob_ip_config: $ref: '#/components/schemas/junos_oob_ip_config' org_id: $ref: '#/components/schemas/org_id' path_preferences: additionalProperties: $ref: '#/components/schemas/gateway_template_path_preferences' description: Property key is the path name type: object port_config: additionalProperties: $ref: '#/components/schemas/gateway_port_config' description: Property key is the port(s) name or range (e.g. "ge-0/0/0-10") type: object router_id: description: auto assigned if not set example: 10.2.1.10 type: string routing_policies: additionalProperties: $ref: '#/components/schemas/gateway_routing_policy' description: Property key is the routing policy name type: object service_policies: $ref: '#/components/schemas/service_policies' tunnel_configs: additionalProperties: $ref: '#/components/schemas/gateway_template_tunnel_configs' description: Property key is the tunnel name type: object tunnel_provider_options: $ref: '#/components/schemas/gateway_template_tunnel_proivder' type: default: standalone enum: - standalone - spoke - hub example: standalone title: gateway_template_type type: string required: - name type: object gateway_template_path_preferences: properties: paths: items: properties: cost: type: integer disabled: description: For SSR Only. `true`` if this specific path is undesired type: boolean gateway_ip: description: if `type`==`local`, if a different gateway is desired type: string internet_access: default: false description: when `type`==`vpn`, if this vpn path can be used for internet type: boolean name: type: string networks: description: if `type`==`local` items: type: string type: array target_ips: description: if `type`==`local`, if destination IP is to be replaced items: type: string type: array type: enum: - local - wan - vpn - tunnel title: gateway_path_type type: string wan_name: description: Spoke's outgoing wan example: wan0 type: string title: gateway_template_path_preferences_path type: object type: array strategy: default: ordered enum: - ordered - weighted - ecmp title: gateway_path_strategy type: string type: object gateway_template_tunnel_configs: properties: auto_provision: properties: enable: type: boolean latlng: $ref: '#/components/schemas/lat_lng' primary: properties: num_hosts: type: string wan_names: description: optional, only needed if `vars_only`==`false` items: example: wan0 type: string type: array title: gateway_template_tunnel_auto_provision_primary type: object region: default: auto enum: - auto - EMEA - Americas - APAC title: gateway_template_tunnel_auto_provision_region type: string secondary: properties: num_hosts: type: string wan_names: description: optional, only needed if `vars_only`==`false` items: example: wan0 type: string type: array title: gateway_template_tunnel_auto_provision_secondary type: object type: object ike_lifetime: description: 'Only if: * `provider`== `custom-ipsec`' type: integer ike_mode: default: main description: 'Only if: * `provider`== `custom-ipsec`' enum: - main - aggressive title: gateway_template_tunnel_ike_mode type: string ike_proposals: description: if `provider`== `custom-ipsec` items: properties: auth_algo: enum: - sha1 - sha2 - md5 title: gateway_template_tunnel_ike_auth_algo type: string dh_group: default: '14' description: "* 1 \n* 2 (1024-bit) \n* 5\n* 14 (default, 2048-bit)\n\ * 15 (3072-bit) \n* 16 (4096-bit)\n* 19 (256-bit ECP)\n* 20 (384-bit\ \ ECP)\n* 21 (521-bit ECP) \n* 24 (2048-bit ECP)" enum: - '1' - '2' - '5' - '14' - '15' - '16' - '19' - '20' - '21' - '24' title: gateway_template_tunnel_ike_dh_group type: string enc_algo: default: aes256 enum: - aes256 - 3des - aes128 - aes_gcm256 - aes_gcm128 nullable: true title: gateway_template_tunnel_ike_enc_algo type: string title: gateway_template_tunnel_ike_proposal type: object type: array ipsec_lifetime: description: if `provider`== `custom-ipsec` type: integer ipsec_proposals: description: 'Only if: * `provider`== `custom-ipsec`' items: properties: auth_algo: enum: - sha1 - sha2 - md5 title: gateway_template_tunnel_ipsec_auth_algo type: string dh_group: default: '14' description: "Only if:\n* `provider`== `custom-ipsec`\nValues:\n*\ \ 1 \n* 2 (1024-bit) \n* 5\n* 14 (default, 2048-bit) \n* 15 (3072-bit)\ \ \n* 16 (4096-bit)\n* 19 (256-bit ECP)\n* 20 (384-bit ECP)\n* 21\ \ (521-bit ECP) \n* 24 (2048-bit ECP)" enum: - '1' - '2' - '5' - '14' - '15' - '16' - '19' - '20' - '21' - '24' title: gateway_template_tunnel_ipsec_dh_group type: string enc_algo: default: aes256 enum: - aes256 - 3des - aes128 - aes_gcm128 - aes_gcm256 nullable: true title: gateway_template_tunnel_ipsec_enc_algo type: string title: gateway_template_tunnel_ipsec_proposal type: object type: array local_id: description: 'Only if: * `provider`== `zscaler-ipsec` * `provider`==`jse-ipsec` * `provider`== `custom-ipsec`' type: string mode: default: active-standby enum: - active-standby - active-active title: gateway_template_tunnel_mode type: string primary: properties: hosts: items: description: IP Address of the remote host type: string type: array internal_ips: description: "Only if:\n* `provider`== `zscaler-gre` \n* `provider`==\ \ `custom-gre`" items: type: string type: array probe_ips: items: type: string type: array remote_ids: description: 'Only if: * `provider`== `custom-ipsec`' items: type: string type: array wan_names: items: type: string type: array title: gateway_template_tunnel_primary type: object probe: description: 'Only if: * `provider`== `custom-ipsec`' properties: interval: description: how often to trigger the probe type: integer threshold: description: number of consecutive misses before declaring the tunnel down type: integer timeout: description: time within which to complete the connectivity check type: integer type: default: icmp enum: - icmp - http title: gateway_template_probe_type type: string type: object protocol: description: 'Only if: * `provider`== `custom-ipsec`' enum: - ipsec - gre title: gateway_template_tunnel_protocol type: string provider: enum: - zscaler-ipsec - zscaler-gre - customer-gre - jse-ipsec - custom-ipsec title: gateway_template_tunnel_provider type: string psk: description: 'Only if: * `provider`== `zscaler-ipsec` * `provider`==`jse-ipsec` * `provider`== `custom-ipsec`' type: string secondary: properties: hosts: items: description: IP Address of the remote host type: string type: array internal_ips: description: 'Only if: * `provider`== `custom-ipsec`' items: type: string type: array probe_ips: items: type: string type: array remote_ids: description: "Only if: \n* `provider`== `custom-ipsec`" items: type: string type: array wan_names: items: type: string type: array title: gateway_template_tunnel_secondary type: object version: default: '2' description: "Only if:\n* `provider`== `custom-gre` \n* `provider`== `custom-ipsec`" enum: - '1' - '2' title: gateway_template_tunnel_version type: string title: gateway_template_tunnel_configs type: object gateway_template_tunnel_proivder: properties: jse: description: for jse-ipsec, this allow provisioning of adequate resource on JSE. Make sure adequate licenses are added properties: name: example: JSE_ORG1 type: string num_users: example: 5 type: integer type: object zscalar: description: for zscaler-ipsec and zscaler-gre properties: aup_acceptance_required: default: true type: boolean aup_expire: default: 1 description: days before AUP is requested again type: integer aup_ssl_proxy: default: false description: proxy HTTPs traffic, requiring Zscaler cert to be installed in browser type: boolean download_mbps: description: the download bandwidth cap of the link, in Mbps example: 200 type: integer enable_aup: default: false description: if `use_xff`==`true`, display Acceptable Use Policy (AUP) type: boolean enable_caution: default: false description: when `enforce_authentication`==`false`, display caution notification for non-authenticated users type: boolean enforce_authentication: default: false type: boolean name: example: guest-wifi type: string sub_locations: description: if `use_xff`==`true` items: properties: aup_acceptance_required: default: true type: boolean aup_expire: default: 1 description: days before AUP is requested again type: integer aup_ssl_proxy: default: false description: proxy HTTPs traffic, requiring Zscaler cert to be installed in browser type: boolean download_mbps: description: the download bandwidth cap of the link, in Mbps example: 200 type: integer enable_aup: description: if `use_xff`==`true`, display Acceptable Use Policy (AUP) type: boolean enable_caution: default: false description: when `enforce_authentication`==`false`, display caution notification for non-authenticated users type: boolean enforce_authentication: default: false type: boolean subnets: example: - 172.16.8.0/24 - 172.16.32.0/23 items: type: string type: array upload_mbps: description: the download bandwidth cap of the link, in Mbps example: 200 type: integer type: object type: array upload_mbps: description: the download bandwidth cap of the link, in Mbps example: 200 type: integer use_xff: description: location uses proxy chaining to forward traffic type: boolean type: object type: object guest: description: Guest properties: authorized: description: whether the guest is current authorized type: boolean authorized_expiring_time: description: when the authorization would expire example: 1480704955 type: integer authorized_time: description: when the guest was authorized example: 1480704355 type: integer company: description: optional, the info provided by user example: abc type: string email: description: optional, the info provided by user example: john@abc.com format: email type: string field1: description: optional, the info provided by user type: string field2: type: string field3: type: string field4: type: string mac: description: mac type: string minutes: description: minutes, the maximum is 259200 (180 days) type: integer name: description: optional, the info provided by user example: John Smith type: string ssid: example: Guest-SSID readOnly: true type: string wlan_id: example: 6748cfa6-4e12-11e6-9188-0242ac110007 format: uuid readOnly: true type: string type: object ha_cluster_config: properties: disable_auto_config: description: if the device is claimed type: boolean managed: description: if the device is adopted type: boolean nodes: items: maxProperties: 2 properties: mac: description: node mac, should be unassigned example: aff827549235 type: string title: cluster_node type: object type: array site_id: $ref: '#/components/schemas/site_id' type: object ha_cluster_delete: properties: mac: description: node0 mac address example: aff827549235 type: string type: object ha_cluster_node: properties: node: $ref: '#/components/schemas/ha_cluster_node_enum' type: object ha_cluster_node_enum: description: only for HA enum: - node0 - node1 type: string idp_config: properties: alert_only: type: string enabled: default: false type: boolean idpprofile_id: description: org-level IDP Profile can be used, this takes precedence over `profile` example: 89b9d208-84a4-fa8f-af57-78f92c639cf2 format: uuid type: string profile: default: strict description: '`strict` (default) / `standard` / or keys from from idp_profiles' type: string type: object idp_profile: properties: base_profile: enum: - strict - standard example: strict title: idp_profile_base_profile type: string created_time: readOnly: true type: integer id: example: 874ca978-d736-4d4b-bc90-a49a29eec133 format: uuid readOnly: true type: string modified_time: readOnly: true type: integer name: example: relaxed type: string overwrites: items: properties: action: default: alert description: "- alert (default) \n- drop: siliently dropping packets\n\ - close: notify client/server to close connection" enum: - alert - drop - close example: alert title: idp_profile_action type: string matching: properties: attack_name: items: example: HTTP:INVALID:HDR-FIELD type: string type: array dst_subnet: items: example: 63.1.2.0/24 type: string type: array severity: items: enum: - critical - major - minor - info example: major title: idp_profile_matching_severity type: string type: array title: idp_profile_matching type: object title: idp_profile_overwrite type: object type: array type: object image_import: properties: file: description: binary file format: binary type: string json: description: JSON string describing your upload type: string required: - file title: image_upload type: object insight_metrics: properties: end: type: integer interval: type: integer results: description: results depends on the `metric` items: type: object type: array uniqueItems: true start: type: integer required: - end - interval - results - start type: object installer_device: properties: connected: example: true type: boolean deviceprofile_name: example: SJ1 type: string ext_ip: example: 12.34.56.78 type: string height: example: 2.7 type: number ip: example: 192.168.1.111 type: string last_seen: example: 1687887907.5919843 type: number mac: example: 5c5b35000018 type: string map_id: example: 845a23bf-bed9-e43c-4c86-6fa474be7ae5 format: uuid type: string model: example: AP41 type: string name: example: hallway type: string orientation: example: 90 type: number serial: example: FXLH2015150025 type: string site_name: example: SJ1 type: string uptime: example: 12345 type: integer vc_mac: example: null nullable: true type: string version: example: 0.10.24362 type: string x: example: 150 type: number y: example: 300 type: number title: installer_device type: object installer_list: properties: id: example: 684dfc5c-fe77-2290-eb1d-ef3d677fe168 format: uuid type: string name: example: 'Entry #1' type: string type: object installer_provision_device: description: Provision Device properties: deviceprofile_name: example: SJ1 type: string for_site: readOnly: true type: boolean height: example: 2.7 type: number map_id: example: 845a23bf-bed9-e43c-4c86-6fa474be7ae5 format: uuid type: string name: example: SJ1-AP1 type: string orientation: example: 90 type: number replacing_mac: description: Onlif this is to replace an existing device example: 5c5b3500003 type: string role: description: optional role for switch / gateway type: string site_id: $ref: '#/components/schemas/site_id' site_name: example: SJ1 type: string x: example: 150 type: number y: example: 300 type: number required: - name type: object installer_site: properties: address: example: 1601 S. Deanza Blvd., Cupertino, CA, 95014 type: string country_code: example: US type: string id: example: 4ac1dcf4-9d8b-7211-65c4-057819f0862b format: uuid readOnly: true type: string latlng: $ref: '#/components/schemas/lat_lng' name: example: Mist Office type: string rftemplate_name: example: rftemplate1 type: string sitegroup_names: example: - sg1 - sg2 items: type: string type: array timezone: example: America/Los_Angeles type: string required: - address - country_code - latlng - name title: installer_site type: object integers: items: type: integer type: array inventory: properties: adopted: description: 'only if `type`==`switch` or `type`==`gateway` whether the switch/gateway is adopted' type: boolean connected: description: whether the device is connected type: boolean created_time: description: inventory created time, in epoch type: integer deviceprofile_id: description: deviceprofile id if assigned, null if not assigned nullable: true type: string hostname: description: hostname reported by the device type: string hw_rev: description: device hardware revision number type: string id: description: device id type: string jsi: type: boolean mac: description: device MAC address type: string magic: description: device claim code type: string model: description: device model type: string modified_time: description: inventory last modified time, in epoch type: integer name: description: device name if configured type: string org_id: $ref: '#/components/schemas/org_id' serial: description: device serial type: string site_id: $ref: '#/components/schemas/site_id' sku: description: device stock keeping unit type: string type: description: device type enum: - ap - switch - gateway type: string type: object inventory_update: properties: disable_auto_config: default: false description: if `op`==`assign`, a **cloud-ready** switch/gateway will be managed/configured by Mist by default, this disabled the behavior type: boolean macs: description: if `op`==`assign`, `op`==`unassign`, `op`==`manage`or `op`==`unmanage` , list of MAC, e.g. ["5c5b350e0001"] items: type: string type: array managed: default: false description: if `op`==`assign`, an **adopted** switch/gateway will not be managed/configured by Mist by default, this enables the behavior type: boolean no_reassign: description: if `op`==`assign`, if true, treat site assignment against an already assigned AP as error type: boolean op: description: '* if `op`== `upgrade_to_mist`: Upgrade to mist-managed * if `op`== `downgrade_to_jsi`: Downgrade to basic monitoring. When downgrading a VC member to jsi, we will move the cloud connection of the VC to jsi-terminator and keep all VC device/inventories intact for pain-free upgrading back to mist. * if `op`== `assign`: Assign inventory to a site * if `op`== `unassign`: Unassign inventory to a site * if `op`== `delete`: Delete multiple inventory from org. If the device is already assigned to a site, it will be unassigned.' enum: - assign - unassign - delete - upgrade_to_mist - downgrade_to_jsi title: inventory_update_operation type: string serials: description: if `op`==`delete`, list of serial numbers, e.g. ["FXLH2015150025"] items: type: string type: array site_id: description: if `op`==`assign`, target site id format: uuid type: string required: - op type: object ip_config_type: default: dynamic enum: - static - dynamic type: string ip_stat: properties: dns: items: type: string type: array dns_suffix: items: type: string type: array gateway: type: string gateway6: type: string ip: type: string ip6: type: string ips: additionalProperties: description: Property key is the VLAN name type: string type: object netmask: type: string netmask6: type: string type: object ip_type: default: dhcp enum: - static - dhcp example: static type: string junos_acl_policies: description: '- for GBP-based policy, all src_tags and dst_tags have to be gbp-based - for ACL-based policy, `network` is required in either the source or destination so that we know where to attach the policy to' properties: actions: description: '- for GBP-based policy, all src_tags and dst_tags have to be gbp-based - for ACL-based policy, `network` is required in either the source or destination so that we know where to attach the policy to' items: properties: action: $ref: '#/components/schemas/allow_deny' dst_tag: example: corp type: string title: junos_acl_policy_action type: object type: array name: example: guest access type: string src_tags: description: '- for GBP-based policy, all src_tags and dst_tags have to be gbp-based - for ACL-based policy, `network` is required in either the source or destination so that we know where to attach the policy to' items: example: macs type: string type: array type: object junos_acl_tags: properties: gbp_tag: description: 'required if - `type`==`dynamic_gbp` (gbp_tag received from RADIUS) - `type`==`static_gbp` (applying gbp tag against matching conditions)' type: number macs: description: "required if \n- `type`==`mac`\n- `type`==`static_gbp` if from\ \ matching mac" items: type: string type: array network: description: 'if: - `type`==`mac` (optional. default is `any`) - `type`==`subnet` (optional. default is `any`) - `type`==`network` - `type`==`resource` (optional. default is `any`) - `type`==`static_gbp` if from matching network (vlan)' type: string radius_group: description: "required if \n- `type`==`radius_group` \n- `type`==`static_gbp`\ \ if from matching radius_group" type: string specs: description: 'if `type`==`resource` empty means unrestricted, i.e. any' items: properties: port_range: default: 0 description: matched dst port, "0" means any type: integer protocol: default: any description: '`tcp` / `udp` / `icmp` / `gre` / `any` / `:protocol_number`. `protocol_number` is between 1-254' type: string type: object type: array subnets: description: "if \n- `type`==`subnet` \n- `type`==`resource` (optional.\ \ default is `any`)\n- `type`==`static_gbp` if from matching subnet" items: type: string type: array type: enum: - mac - subnet - network - radius_group - any - resource - dynamic_gbp - static_gbp title: junos_acl_tag_type type: string required: - type type: object junos_bgp_config: description: BFD is enabled when either bfd_minimum_interval or bfd_multiplier is configured properties: auth_key: type: string bfd_minimum_interval: default: 350 description: 'when bfd_multiplier is configured alone default: * 1000 if `type`==`external`` * 350 `type`==`internal`' maximum: 255000 minimum: 1 nullable: true type: integer bfd_multiplier: default: 3 description: when bfd_minimum_interval_is_configured alone maximum: 255 minimum: 1 nullable: true type: integer communities: items: properties: id: type: string local_preference: type: integer vpn_name: type: string title: junos_bgp_community type: object type: array disable_bfd: default: false description: BFD provides faster path failure detection and is enabled by default type: boolean export: type: string export_policy: description: default export policies if no per-neighbor policies defined type: string graceful_restart_time: default: 0 description: '`0` means disable' maximum: 4095 minimum: 0 type: integer hold_time: default: 90 maximum: 65535 minimum: 0 type: integer import: type: string import_policy: description: default import policies if no per-neighbor policies defined type: string local_as: type: integer neighbor_as: type: integer neighbors: additionalProperties: properties: disabled: default: false description: If true, the BGP session to this neighbor will be administratively disabled/shutdown type: boolean export_policy: type: string hold_time: default: 90 maximum: 65535 minimum: 0 type: integer import_policy: type: string multihop_ttl: description: assuming BGP neighbor is directly connected maximum: 255 minimum: 0 type: integer neighbor_as: type: integer type: object description: if per-neighbor as is desired. Property key is the neighbor address title: junos_bgp_neighbor type: object networks: description: if `type`!=`external`or `via`==`wan`networks where we expect BGP neighbor to connect to/from items: type: string type: array no_readvertise_to_overlay: default: false description: by default, we'll re-advertise all learned BGP routers toward overlay type: boolean type: enum: - internal - external minLength: 1 title: junos_bgp_type type: string via: default: lan description: network name enum: - lan - wan title: junos_bgp_via type: string vpn_name: type: string wan_name: description: if `via`==`wan` type: string type: object junos_dhcp_snooping: properties: all_networks: type: boolean enable_arp_spoof_check: description: Enable for dynamic ARP inspection check type: boolean enable_ip_source_guard: description: Enable for check for forging source IP address type: boolean enabled: type: boolean networks: description: if `all_networks`==`false`, list of network with DHCP snooping enabled items: type: string type: array type: object junos_dhcpd: additionalProperties: properties: disabled: default: false description: when defined in template, this allows device to override type: boolean dns_servers: description: if `type`==`local` - optional, if not defined, system one will be used items: type: string type: array dns_suffix: description: if `type`==`local` - optional, if not defined, system one will be used items: type: string type: array fixed_bindings: additionalProperties: properties: ip: type: string name: type: string type: object description: Property key is the MAC Address type: object gateway: description: if `type`==`local` - optional, `ip` will be used if not provided type: string ip_end: description: if `type`==`local` type: string ip_start: description: if `type`==`local` type: string options: additionalProperties: properties: type: enum: - string - boolean - ip - hex - int16 - int32 - uint16 - uint32 type: string value: type: string type: object description: Property key is the DHCP option number type: object server_id_override: default: false description: "`server_id_override`==`true` means the device, when acts\ \ as DHCP relay and forwards DHCP responses from DHCP server to clients,\ \ \nshould overwrite the Sever Identifier option (i.e. DHCP option 54)\ \ in DHCP responses with its own IP address." type: boolean servers: description: if `type`==`relay` items: type: string type: array type: default: local description: DHCP Server (local) or DHCP Relay (relay) enum: - local - relay title: junos_dhcp_type type: string vendor_encapulated: additionalProperties: properties: type: enum: - string - boolean - ip - hex - int16 - int32 - uint16 - uint32 type: string value: type: string type: object description: 'Property key is :, with * enterprise number: 1-65535 (https://www.iana.org/assignments/enterprise-numbers/enterprise-numbers) * sub option code: 1-255, sub-option code' type: object type: object description: if DHCP Server/Relay is intended. Property key is the network name properties: enabled: type: boolean type: object junos_evpn_config: description: EVPN Junos settings properties: enabled: type: boolean role: enum: - core - distribution - access type: string type: object junos_evpn_options: description: EVPN Options properties: auto_loopback_subnet: description: optional, for dhcp_relay, unique loopback IPs are required for ERB or IPClos where we can set option-82 server-id-overrides example: 100.101.0.0/24 type: string auto_router_id_subnet: description: optional, this generates router_id automatically, if specified, `router_id_prefix` is ignored example: 100.100.0.0/24 type: string core_as_border: default: false description: 'optional, for ERB or CLOS, you can either use esilag to upstream routers or to also be the virtual-gateway when `routed_at` != `core`, whether to do virtual-gateway at core as well' type: boolean overlay: properties: as: default: 65000 description: optional, these are defaults example: 65000 type: integer type: object per_vlan_vga_v4_mac: default: false description: 'by default, JUNOS uses 00-00-5e-00-01-01 as the virtual-gateway-address''s v4-mac if enabled, 00-00-5e-00-XX-YY will be used (where XX=vlan_id/256, YY=vlan_id%256)' type: boolean routed_at: default: edge description: optional, where virtual-gateway should reside enum: - edge - core - distribution type: string underlay: properties: as_base: example: 65001 type: integer routed_id_prefix: example: /24 type: string subnet: example: 10.255.240.0/20 type: string type: object vs_instances: additionalProperties: properties: networks: items: type: string type: array type: object description: optional, for EX9200 only to seggregate virtual-switches example: guest: networks: - guest iot: networks: - iot-wifi - iot-lan type: object type: object junos_evpn_topology: properties: config: $ref: '#/components/schemas/config_switch' id: example: 9197ec96-4c8d-529f-c595-035895e688b2 format: uuid readOnly: true type: string name: example: CC type: string overwrite: type: boolean pod_names: additionalProperties: type: string description: Property key is the pod number type: object switches: items: properties: config: $ref: '#/components/schemas/switch' deviceprofile_id: example: 6a1deab1-96df-4fa2-8455-d5253f943d06 format: uuid readOnly: true type: string downlinks: items: example: 5c5b35000007 readOnly: true type: string readOnly: true type: array esilaglinks: items: example: 5c5b3500000f readOnly: true type: string type: array evpn_id: minimum: 1 readOnly: true type: integer mac: example: 5c5b35000003 minLength: 1 type: string model: type: string pod: default: 1 description: "optionally, for distribution / access / esilag-access,\ \ they can be placed into different pods.\ne.g. \n* for CLOS, to\ \ group dist / access switches into pods\n* for ERB/CRB, to group\ \ dist / esilag-access into pods" maximum: 255 minimum: 1 type: integer pods: description: "by default, core switches are assumed to be connecting\ \ all pods. \nif you want to limit the pods, you can specify pods." items: type: integer type: array role: description: use `role`==`none` to remove a switch from the topology enum: - core - distribution - access - collapsed-core - none - esilag-access minLength: 1 title: EVPN Role type: string site_id: $ref: '#/components/schemas/site_id' suggested_downlinks: example: - 5c5b35000005 - 5c5b35000006 items: type: string readOnly: true type: array suggested_esilaglinks: example: - 5c5b35000005 - 5c5b35000006 items: type: string readOnly: true type: array suggested_uplinks: example: - 5c5b35000005 - 5c5b35000006 items: type: string readOnly: true type: array uplinks: description: if not specified in the request, suggested ones will be used items: example: 5c5b35000005 readOnly: true type: string readOnly: true type: array title: junos_evpn_topology_switch type: object type: array uniqueItems: true required: - switches title: junos_evpn_topology type: object junos_ip_config: description: Junos IP Config properties: dns: items: type: string type: array dns_suffix: items: type: string type: array gateway: type: string ip: type: string netmask: description: used only if `subnet` is not specified in `networks` type: string network: description: the network where this mgmt IP reside, this will be used as default network for outbound-ssh, dns, ntp, dns, tacplus, radius, syslog, snmp type: string type: $ref: '#/components/schemas/ip_config_type' use_mgmt_vrf: default: false description: for host-out traffic (NTP/TACPLUS/RADIUS/SYSLOG/SNMP) type: boolean type: object junos_ip_config_gateway: description: Junos IP Config properties: dns: description: except for out-of-band interface (vme/em0/fxp0) items: type: string type: array dns_suffix: description: except for out-of-band interface (vme/em0/fxp0) items: type: string type: array gateway: description: except for out-of-band interface (vme/em0/fxp0) type: string ip: type: string netmask: description: used only if `subnet` is not specified in `networks` type: string network: description: optional, the network to be used for mgmt type: string poser_password: description: if `type`==`pppoe` type: string ppoe_username: description: if `type`==`pppoe` type: string pppoe_auth: default: none description: if `type`==`pppoe` enum: - none - chap - pap title: gateway_wan_ppoe_auth type: string type: default: dhcp enum: - dhcp - static - ppoe title: gateway_wan_type type: string type: object junos_networks: description: A network represents a network segment. It can either represent a VLAN (then usually ties to a L3 subnet), optionally associate it with a subnet which can later be used to create addition routes. Used for ports doing `family ethernet-switching`. It can also be a pure L3-subnet that can then be used against a port that with `family inet`. properties: dns: items: type: string type: array dns_suffix: items: type: string type: array gateway: type: string isolation: default: false description: 'whether to stop clients to talk to each other, default is false (when enabled, a unique isolation_vlan_id is required) NOTE: this features requires uplink device to also a be Juniper device and `inter_switch_link` to be set' type: boolean isolation_vlan_id: example: '3070' type: string ospf_interface_type: type: string subnet: description: optional for pure switching, required when L3 / routing features are used type: string vlan_id: type: integer zone: description: used for gateway type: string required: - vlan_id type: object junos_oob_ip_config: additionalProperties: description: '- If HA configuration: key parameter will be nodeX (eg: node1) - If there are 2 routing engines, re1 mgmt IP has to be set separately (if desired): key parameter = `re1`' properties: ip: type: string netmask: description: used only if `subnet` is not specified in `networks` type: string network: description: optional, the network to be used for mgmt type: string type: $ref: '#/components/schemas/ip_config_type' type: object description: Junos out-of-band (vme/em0/fxp0) IP config properties: dns: items: type: string type: array dns_suffix: items: type: string type: array gateway: type: string ip: type: string netmask: description: used only if `subnet` is not specified in `networks` type: string network: description: optional, the network to be used for mgmt type: string node1: $ref: '#/components/schemas/junos_oob_ip_config_node_1' type: $ref: '#/components/schemas/ip_config_type' use_mgmt_vrf: default: true description: if supported on the platform. If enabled, DNS will be using this routing-instance, too type: boolean use_mgmt_vrf_for_host_out: default: false description: whether to use `mgmt_junos` for host-out traffic (NTP/TACPLUS/RADIUS/SYSLOG/SNMP), if alternative source network/ip is desired type: boolean vlan_id: type: integer type: object junos_oob_ip_config_node_1: description: for HA Cluster, node1 can have different IP Config properties: ip: type: string netmask: description: used only if `subnet` is not specified in `networks` type: string network: description: optional, the network to be used for mgmt type: string type: $ref: '#/components/schemas/ip_config_type' use_mgmt_vrf: default: false description: if supported on the platform. If enabled, DNS will be using this routing-instance, too type: boolean use_mgmt_vrf_for_host_out: default: false description: whether to use `mgmt_junos` for host-out traffic (NTP/TACPLUS/RADIUS/SYSLOG/SNMP), if alternative source network/ip is desired type: boolean vlan_id: description: optional, if different from parent type: integer type: object junos_ospf_areas: description: Junos OSPF areas properties: include_loopback: default: false type: boolean networks: additionalProperties: properties: auth_keys: additionalProperties: type: string description: if `auth_type`==`md5`. Property key is the key number example: '1': auth-key-1 type: object auth_password: description: if `auth_type`==`password`, the password, max length is 8 example: simple type: string auth_type: default: none description: auth type enum: - none - md5 - password example: md5 type: string bfd_minimum_interval: example: 500 maximum: 255000 minimum: 1 type: integer dead_interval: example: 40 maximum: 65535 minimum: 1 type: integer export_policy: example: export_policy type: string hello_interval: maximum: 255 minimum: 1 type: integer import_policy: example: import_policy type: string interface_type: default: broadcast description: interface type (nbma = non-broadcast multi-access) enum: - broadcast - nbma - p2p - p2mp type: string metric: example: 10000 maximum: 65535 minimum: 1 nullable: true type: integer no_readvertise_to_overlay: default: false description: by default, we'll re-advertise all learned OSPF routes toward overlay type: boolean passive: default: false description: whether to send OSPF-Hello type: boolean type: object description: "Networks to participate in an OSPF area. \nProperty key is\ \ the network name" example: corp: auth_keys: '1': auth-key-1 auth_type: md5 bfd_minimum_interval: 500 dead_interval: 40 hello_interval: 10 interface_type: nbma metric: 10000 guest: passive: true type: object type: default: default description: OSPF type, default (default) / stub / nssa enum: - default - stub - nssa example: default type: string type: object junos_ospf_config: description: Junos OSPF config properties: areas: additionalProperties: properties: no_summary: description: for a stub/nssa area, where to avoid forwarding type-3 LSA to this area type: boolean type: object description: OSPF areas to run on this device and the corresponding per-area-specific configs. Property key is the area type: object enabled: description: whether to rung OSPF on this device type: boolean reference_bandwidth: default: 100M description: Bandwidth for calculating metric defaults (9600..4000000000000) type: string type: object junos_other_ip_configs: description: optional, if it's required to have switch's L3 presense on a network/vlan properties: evpn_anycast: default: false description: for EVPN, if anycast is desired type: boolean ip: description: required if `type`==`static` type: string netmask: description: optional, `subnet` from `network` definition will be used if defined type: string type: $ref: '#/components/schemas/ip_type' type: object junos_port_config: description: Switch port config properties: ae_disable_lacp: description: To disable LACP support for the AE interface type: boolean ae_idx: description: Users could force to use the designated AE name type: integer ae_lacp_slow: default: true description: to use fast timeout type: boolean aggregated: default: false type: boolean critical: description: if want to generate port up/down alarm type: boolean description: type: string disable_autoneg: default: false description: if `speed` and `duplex` are specified, whether to disable autonegotiation type: boolean duplex: default: auto enum: - auto - full - half type: string dynamic_usage: description: Enable dynamic usage for this port. Set to `dynamic` to enable. nullable: true type: string esilag: type: boolean inter_switch_link: default: false description: 'inter_switch_link is used together with "isolation" under networks NOTE: inter_switch_link works only between Juniper device. This has to be applied to both ports connected together' type: boolean mtu: default: 1514 description: media maximum transmission unit (MTU) is the largest data unit that can be forwarded without fragmentation type: integer no_local_overwrite: description: prevent helpdesk to override the port config type: boolean poe_disabled: default: false type: boolean speed: default: auto enum: - auto - 10m - 100m - 1g - 2.5g - 5g type: string usage: description: "port usage name. \n\nIf EVPN is used, use `evpn_uplink`or\ \ `evpn_downlink`" type: string required: - usage type: object junos_port_mirror: properties: egress_port_ids: description: at least one of `ingress_port_ids`,`egress_port_ids` or `ingress_networks` should be specified items: example: ge-0/0/3 type: string type: array filter: type: object ingress_networks: description: at least one of `ingress_port_ids`,`egress_port_ids` or `ingress_networks` should be specified items: example: corp type: string type: array ingress_port_ids: description: at least one of `ingress_port_ids`,`egress_port_ids` or `ingress_networks` should be specified items: example: ge-0/0/3 type: string type: array output_network: example: analyze type: string output_port_id: description: only one of of `output_port_id` or `output_network` should be specified example: ge-0/0/5 type: string type: object junos_port_mirroring: properties: egress_port_ids: description: at least one of the `ingress_port_ids`, `egress_port_ids` or `ingress_networks ` should be specified items: example: ge-0/0/3 type: string type: array ingress_networks: description: at least one of the `ingress_port_ids`, `egress_port_ids` or `ingress_networks ` should be specified items: example: corp type: string type: array ingress_port_ids: description: at least one of the `ingress_port_ids`, `egress_port_ids` or `ingress_networks ` should be specified items: example: ge-0/0/3 type: string type: array output_network: example: analyze type: string output_port_id: description: exaclty on of the `output_port_id` or `output_network` should be provided example: ge-0/0/5 type: string type: object junos_port_usages: description: Junos port usages properties: all_networks: default: false description: if `mode`==`trunk`, whether to trunk all network/vlans type: boolean allow_dhcpd: description: "if DHCP snooping is enabled, whether DHCP server is allowed\ \ on the interfaces with. All the interfaces from port configs using this\ \ port usage are effected. Please notice that allow_dhcpd is a tri-state.\n\ \nWhen it is not defined, it means using the system\u2019s default setting\ \ which depends on whether the port is a access or trunk port." type: boolean allow_multiple_supplicants: default: false type: boolean bypass_auth_when_server_down: default: false description: if `port_auth`==`dot1x`, bypass auth for known clients if set to true when RADIUS server is down type: boolean bypass_auth_when_server_down_for_unkonwn_client: default: false description: if `port_auth`=`dot1x`, bypass auth for all (including unknown clients) if set to true when RADIUS server is down type: boolean description: description: description type: string disable_autoneg: default: false description: if speed and duplex are specified, whether to disable autonegotiation type: boolean disabled: default: false description: whether the port is disabled type: boolean duplex: default: auto description: link connection mode, choices are auto (default), full, and half enum: - half - full - auto type: string dynamic_vlan_networks: description: if dynamic vlan is used, specify the possible networks/vlans RADIUS can return example: - corp - user items: type: string type: array enable_mac_auth: default: false description: if `port_auth`==`dot1x`, whether to enable MAC Auth type: boolean enable_qos: default: false type: boolean guest_network: description: if `port_auth`==`dot1x`, which network to put the device into if the device cannot do dot1x. default is null (i.e. not allowed) nullable: true type: string mac_auth_only: description: only effect once `enable_mac_auth`==`true` type: boolean mac_auth_protocol: default: eap-md5 description: if `enable_mac_auth` ==`true`. This type is ignored if mist_nac is enabled. enum: - pap - eap-peap - eap-md5 type: string mac_limit: default: 0 description: max number of mac addresses, default is 0 for unlimited, otherwise range is 1 or higher, with upper bound constrained by platform minimum: 0 type: integer mode: description: access (default) / trunk enum: - access - trunk - inet - wan type: string mtu: description: media maximum transmission unit (MTU) is the largest data unit that can be forwarded without fragmentation. The default value is 1514. type: integer networks: description: if `mode`==`trunk`, the list of network/vlans items: type: string type: array persist_mac: default: false description: if `mode`==`access` and `port_auth`!=`dot1x`, whether the port should retain dynamically learned MAC addresses type: boolean poe_disabled: default: false description: whether PoE capabilities are disabled for a port type: boolean port_auth: description: if dot1x is desired, set to dot1x type: string port_network: description: native network/vlan for untagged traffic type: string reauth_interval: default: 3600 description: if `port_auth`=`dot1x`, reauthentication interval range maximum: 65535 minimum: 10 type: integer rejected_network: description: if `port_auth`==`dot1x`, when radius server reject / fails nullable: true type: string speed: description: speed, default is auto to automatically negotiate speed type: string storm_control: $ref: '#/components/schemas/junos_storm_control' stp_edge: default: false description: when enabled, the port is not expected to receive BPDU frames type: boolean voip_network: description: network/vlan for voip traffic, must also set port_network. to authenticate device, set port_auth type: string type: object junos_radius_config: description: Junos Radius config properties: acct_interim_interval: default: 0 description: how frequently should interim accounting be reported, 60-65535. default is 0 (use one specified in Access-Accept request from RADIUS Server). Very frequent messages can affect the performance of the radius server, 600 and up is recommended when enabled maximum: 65535 minimum: 0 type: integer acct_servers: items: $ref: '#/components/schemas/radius_acct_server' minItems: 1 type: array uniqueItems: true auth_servers: items: $ref: '#/components/schemas/radius_auth_server' minItems: 1 type: array uniqueItems: true auth_servers_retries: default: 3 description: radius auth session retries type: integer auth_servers_timeout: default: 5 description: radius auth session timeout type: integer coa_enabled: default: false type: boolean coa_port: default: 3799 type: integer network: description: 'use `network`or `source_ip` which network the RADIUS server resides, if there''s static IP for this network, we''d use it as source-ip' type: string source_ip: description: use `network`or `source_ip` type: string type: object junos_snmp_config: properties: client_list: items: properties: client_list_name: example: clist-1 type: string clients: items: example: 151.140.101.218/32 type: string type: array type: object type: array contact: example: cns@juniper.net type: string description: example: Juniper QFX Series Switch - 1K_5LA type: string enabled: default: true type: boolean engine_id: enum: - local - engine-id-suffix - use-default-ip-address - use-mac-address type: string location: example: Las Vegas, NV type: string name: example: TGH-1K-QFX10K type: string network: default: default type: string trap_groups: items: properties: categories: items: example: authentication type: string type: array group_name: description: Categories list can refer to https://www.juniper.net/documentation/software/topics/task/configuration/snmp-trap-groups-configuring-junos-nm.html example: profiler type: string targets: items: example: 172.29.158.19 type: string type: array version: default: v2 enum: - v1 - v2 - all title: junos_snmp_config_trap_version type: string type: object type: array v2c_config: items: properties: authorization: example: read-only type: string client_list_name: description: client_list_name here should refer to client_list above example: clist-1 type: string community_name: example: abc123 type: string view: description: view name here should be defined in views above example: all type: string title: snmp_v2c_config type: object type: array v3_config: properties: notify: items: properties: name: type: string tag: type: string type: enum: - trap - inform title: snmp_v3_config_notify_type type: string type: object type: array notify_filter: items: properties: contents: items: properties: include: type: boolean oid: example: 1.3.6.1.4.1 type: string type: object type: array profile_name: type: string type: object type: array target_address: items: properties: address: example: address type: string address_mask: example: address_mask type: string port: default: 161 type: integer tag_list: description: -" could be an os/platform/model/company for ex: for cisco vendor, there could variants wrt os (such as ios, nxos etc), platforms (asa etc), or acquired companies (such as meraki, airnonet) etc.' enum: - generic - juniper - aruba - paloalto - cisco-aironet - cisco-ios - cisco-meraki example: cisco-ios title: mxcluster_nac_client_vendor type: string type: object type: object enabled: default: false type: boolean secret: example: testing123 type: string type: object mxcluster_radsec: description: MxEdge Radsec Configuration properties: acct_servers: description: list of RADIUS accounting servers, optional, order matters where the first one is treated as primary items: properties: host: description: ip / hostname of RADIUS server type: string port: default: 1813 description: Acct port of RADIUS server type: integer secret: description: secret of RADIUS server type: string ssids: description: list of ssids that will use this server if match_ssid is true and match is found items: type: string type: array title: mxcluster_rad_acct_server type: object type: array uniqueItems: true auth_servers: description: list of RADIUS authentication servers, order matters where the first one is treated as primary items: properties: host: description: ip / hostname of RADIUS server type: string keywrap_enabled: description: if used for Mist APs, enable keywrap algorithm. Default is false type: boolean keywrap_format: description: if used for Mist APs enum: - hex - ascii title: mxcluster_rad_auth_server_keywrap_format type: string keywrap_kek: description: if used for Mist APs, encryption key type: string keywrap_mack: description: if used for Mist APs, Message Authentication Code Key type: string port: default: 1812 description: Auth port of RADIUS server type: integer secret: description: secret of RADIUS server type: string ssids: description: list of ssids that will use this server if match_ssid is true and match is found items: type: string type: array title: mxcluster_rad_auth_server type: object type: array uniqueItems: true enabled: description: whether to enable service on Mist Edge i.e. RADIUS proxy over TLS type: boolean match_ssid: description: whether to match ssid in request message to select from a subset of RADIUS servers type: boolean proxy_hosts: description: hostnames or IPs for Mist AP to use as the TLS Server (i.e. they are reachable from AP) in addition to `tunterm_hosts` items: type: string type: array server_selection: default: ordered description: ordered (default) / unordered. When ordered, Mist Edge will prefer and go back to the first radius server if possible enum: - ordered - unordered title: mxcluster_radsec_server_selection type: string source: default: any description: Specify source address to use when connecting to RADIUS servers enum: - any - oob - oob6 - tunnel - tunnel6 title: mxcluster_radsec_source type: string type: object mxedge: description: MxEdge properties: created_time: readOnly: true type: number for_site: readOnly: true type: boolean id: example: 95ddd29a-6a3c-929e-a431-51a5b09f36a6 format: uuid readOnly: true type: string magic: example: L-NpT5gi-ADR8WTFd4EiQPY3cP5WdSoD readOnly: true type: string model: example: ME-100 type: string modified_time: readOnly: true type: number mxagent_registered: readOnly: true type: boolean mxcluster_id: description: MxCluster this MxEdge belongs to example: 572586b7-f97b-a22b-526c-8b97a3f609c4 format: uuid type: string mxedge_mgmt: $ref: '#/components/schemas/mxedge_mgmt' name: example: Guest type: string note: example: note for mxedge type: string ntp_servers: items: type: string type: array oob_ip_config: $ref: '#/components/schemas/mxedge_oob_ip_config' org_id: $ref: '#/components/schemas/org_id' proxy: $ref: '#/components/schemas/proxy' services: description: list of services to run, tunterm only for now items: default: tunterm type: string type: array site_id: $ref: '#/components/schemas/site_id' tunterm_dhcpd_config: additionalProperties: properties: enabled: default: false type: boolean servers: description: list of DHCP servers; required if `type`==`relay` items: type: string type: array type: default: relay enum: - relay title: mxedge_additional_tunterm_dhcpd_type type: string type: object description: global and per-VLAN. Property key is the VLAN ID properties: enabled: default: false type: boolean servers: description: list of DHCP servers; required if `type`==`relay` items: type: string type: array type: default: relay enum: - relay title: mxedge_tunterm_dhcpd_type type: string type: object tunterm_extra_routes: additionalProperties: properties: via: type: string type: object description: Property key is a CIDR type: object tunterm_igmp_snooping_config: properties: enabled: default: false type: boolean querier: properties: max_response_time: description: "querier\u2019s query response interval, in tenths-of-seconds" example: 10 type: integer mtu: description: the MTU we use (needed when forming large IGMPv3 Reports) example: 1500 type: integer query_interval: description: "querier\u2019s query interval, in seconds" example: 125 type: integer robustness: description: "querier\u2019s robustness " maximum: 7 minimum: 1 type: integer version: description: "querier\u2019s maximum protocol version" example: 3 type: integer title: tunterm_igmp_snooping_querier type: object vlan_ids: description: the list of vlans on which tunterm performs IGMP snooping items: example: 2 type: integer type: array type: object tunterm_ip_config: description: ip configuration of the Mist Tunnel interface properties: gateway: example: 10.2.1.254 type: string gateway6: example: 2001:1010:1010:1010::1 type: string ip: description: untagged VLAN example: 10.2.1.1 type: string ip6: example: 2001:1010:1010:1010::2 type: string netmask: example: 255.255.255.0 type: string netmask6: example: /64 type: string required: - gateway - ip - netmask type: object tunterm_monitoring: items: $ref: '#/components/schemas/tunterm_monitoring' type: array tunterm_multicast_config: properties: mdns: properties: enabled: type: boolean vlan_ids: items: type: string type: array title: tunterm_multicast_mdns type: object ssdp: properties: enabled: type: boolean vlan_ids: items: type: string type: array title: tunterm_multicast_ssdp type: object type: object tunterm_other_ip_configs: additionalProperties: properties: ip: type: string netmask: type: string required: - ip - netmask type: object description: ip configs by VLAN ID. Property key is the VLAN ID type: object tunterm_port_config: $ref: '#/components/schemas/tunterm_port_config' tunterm_registered: readOnly: true type: boolean tunterm_switch_config: additionalProperties: properties: port_vlan_id: type: integer vlan_ids: items: anyOf: - type: integer - type: string type: array type: object description: if custom vlan settings are desired properties: enabled: type: boolean type: object versions: properties: mxagent: type: string tuntnerm: type: string type: object required: - model - name type: object mxedge_das: description: configure cloud-assisted dynamic authorization service on this cluster of mist edges properties: coa_servers: description: dynamic authorization clients configured to send CoA|DM to mist edges on port 3799 items: properties: disable_event_timestamp_check: default: false description: whether to disable Event-Timestamp Check type: boolean enabled: type: boolean host: description: this server configured to send CoA|DM to mist edges type: string port: default: 3799 description: mist edges will allow this host on this port type: integer secret: type: string title: mxedge_das_coa_server type: object type: array enabled: default: false type: boolean type: object mxedge_event: properties: mxcluster_id: example: 2815c917-58e7-472f-a190-bfd44fb58d05 type: string mxedge_id: example: 00000000-0000-0000-1000-020000dc585c type: string org_id: $ref: '#/components/schemas/org_id' service: example: tunterm type: string timestamp: example: 1694678225.927 type: number type: example: ME_SERVICE_STOPPED type: string type: object mxedge_mgmt: properties: fips_enabled: default: false type: boolean mist_password: example: MIST_PASSWORD type: string oob_autoconf6: default: true type: boolean oob_dhcp6: default: true type: boolean root_password: example: ROOT_PASSWORD type: string type: object mxedge_oob_ip_config: description: ip configuration of the Mist Edge out-of-band management interface properties: autoconf6: default: true type: boolean dhcp6: default: true type: boolean dns: default: - 8.8.8.8 - 8.8.4.4 description: if `type`=`static` example: - 8.8.8.8 - 4.4.4.4 - 2001:4860:4860::8888 items: type: string type: array gateway: description: if `type`=`static` example: 10.2.1.254 type: string gateway6: example: 2601:1700:43c0:dc0::1 type: string ip: description: if `type`=`static` example: 10.2.1.2 type: string ip6: example: 2601:1700:43c0:dc0:20c:29ff:fea7:93bc type: string netmask: description: if `type`=`static` example: 255.255.255.0 type: string netmask6: example: /64 type: string type: $ref: '#/components/schemas/ip_type' type6: $ref: '#/components/schemas/ip_type' type: object mxedge_stats: properties: cpu_stat: description: CPU/core stats list properties: cpus: additionalProperties: $ref: '#/components/schemas/cpu_stat' example: cpu0: idle: 89 interrupt: 0 system: 8 usage: 10 user: 1 cpu1: idle: 81 interrupt: 0 system: 4 usage: 18 user: 13 cpu2: idle: 81 interrupt: 0 system: 4 usage: 18 user: 13 cpu3: idle: 2 interrupt: 0 system: 50 usage: 97 user: 46 type: object idle: description: percentage of Idle, Idle/(Idle + Busy) since last sampling example: 62 type: integer interrupt: description: percentage of Interrupt, (Irq + SoftIrq)/(Idle + Busy) since last sampling example: 0 type: integer system: description: percentage of System, System/(Idle + Busy) since last sampling example: 17 type: integer usage: description: percentage of load, Busy/(Idle + Busy) since last sampling example: 37 type: integer user: description: percentage of User, User/(Idle + Busy) since last sampling example: 19 type: integer title: mxedge_stats_cpu type: object created_time: example: 1632684398 type: integer for_site: example: false type: boolean id: example: 00000000-0000-0000-1000-020000a80cb4 format: uuid type: string ip_stat: description: OOBM IP stats properties: ip: example: 192.168.1.244 type: string ips: additionalProperties: type: string description: Property key is the interface name. IPs for each net interface example: ens18: 192.168.1.244/24,fe80::104c:ffff:fee0:caf8/64 type: object macs: additionalProperties: description: MAC addresses for each net interface type: string description: Property key is the interface name. MAC for each net interface example: ens18: e4434b217044 type: object title: mxedge_stats_ip_stat type: object lag_stat: additionalProperties: properties: active_ports: description: list of ports active on the LAG defined by the LACP items: type: string type: array type: object description: Stat for LAG (Link Aggregation Group). Property key is the LAG name example: lacp0: active_ports: - port0 - port1 type: object last_seen: example: 1633721215 type: integer mac: example: 020000a80cb4 type: string memory_stat: description: Memory usage properties: active: description: The amount of memory, in kibibytes, that has been used more recently and is usually not reclaimed unless absolutely necessary. example: 394936320 type: integer available: description: An estimate of how much memory is available for starting new applications, without swapping. example: 4699291648 type: integer buffers: description: The amount, in kibibytes, of temporary storage for raw disk blocks. example: 107646976 type: integer cached: description: The amount of physical RAM, in kibibytes, used as cache memory. example: 478060544 type: integer free: description: The amount of physical RAM, in kibibytes, left unused by the system example: 4330659840 type: integer inactive: description: The amount of memory, in kibibytes, that has been used less recently and is more eligible to be reclaimed for other purposes. example: 211980288 type: integer swap_cached: description: The amount of memory, in kibibytes, that has once been moved into swap, then back into the main memory, but still also remains in the swapfile. example: 0 type: integer swap_free: description: The total amount of swap free, in kibibytes. example: 1022357504 type: integer swap_total: description: The total amount of swap available, in kibibytes. example: 1022357504 type: integer total: description: Total amount of usable RAM, in kibibytes, which is physical RAM minus a number of reserved bits and the kernel binary code example: 8365957120 type: integer usage: example: 48 type: integer title: mxedge_stats_memory_stat type: object model: example: ME-VM type: string modified_time: example: 1633643629 type: integer mxagent_registered: example: true type: boolean mxcluster_id: example: 678bc339-7635-4556-bbc0-e77ad493ef8b format: uuid type: string name: description: The name of the tunnel example: me-vm-1 type: string num_tunnels: example: 0 type: integer oob_ip_config: $ref: '#/components/schemas/mxedge_oob_ip_config' org_id: $ref: '#/components/schemas/org_id' port_stat: additionalProperties: properties: full_duplex: type: boolean mac: type: string rx_bytes: type: number rx_errors: type: integer rx_pkts: type: integer speed: type: integer state: type: string tx_bytes: type: integer tx_errors: type: integer tx_pkts: type: integer up: type: boolean type: object example: port0: full_duplex: true mac: 9e294e49091d rx_bytes: 646898375700 rx_errors: 0 rx_pkts: 8784449574 speed: 10000 state: forwarding tx_bytes: 647200748038 tx_errors: 0 tx_pkts: 8788647466 up: true port1: full_duplex: true mac: a270fe53437e rx_bytes: 647200437652 rx_errors: 0 rx_pkts: 8788644886 speed: 10000 state: forwarding tx_bytes: 646898681650 tx_errors: 0 tx_pkts: 8784452092 up: true title: mxedge_stats_port_stat type: object sensor_stat: type: object serial: nullable: true type: string service_stat: additionalProperties: properties: ext_ip: description: "external IP from ep-terminator\u2019s point of view.\ \ valid only for service having its own cloud connection" type: string last_seen: description: timestamp when the last stats is seen (cloud unix time, in second). valid only for service having its own stats or whole system (last among last_seen of all services) type: integer package_state: description: package/service installation state. type: string package_version: description: package/service installation state. type: string running_state: description: service running state. type: string uptime: description: service uptime. type: integer type: object description: stat for each services example: mxagent: ext_ip: 99.0.86.164 last_seen: 1633721215 package_state: Installed package_version: 3.1.1037-1 running_state: Running uptime: 21240 tunterm: ext_ip: 99.0.86.164 last_seen: 1633721203 package_state: Installed package_version: 0.1.2449+deb10 running_state: Running uptime: 76261 type: object services: example: - tunterm items: type: string type: array site_id: $ref: '#/components/schemas/site_id' status: example: connected type: string tunterm_ip_config: properties: gateway: example: 192.168.11.1 type: string ip: example: 192.168.11.91 type: string netmask: example: 255.255.255.0 type: string type: object tunterm_port_config: properties: downstream_ports: example: - '0' - '1' items: type: string type: array separate_upstream_downstream: example: false type: boolean upstream_ports: example: - '0' - '1' items: type: string type: array type: object tunterm_registered: example: true type: boolean tunterm_stat: properties: monitoring_failed: example: false type: boolean type: object uptime: example: 76281 type: integer virtualization_type: description: Virtualization environment example: KVM type: string type: object mxedge_upgrade_channel: default: stable description: upgrade channel to follow, stable (default) / beta / alpha enum: - stable - beta - alpha type: string mxedge_upgrade_multi: properties: allow_downgrades: description: whether downgrade is allowed when running version is higher than expected version for each service properties: mxagent: default: false type: boolean mxdas: default: false type: boolean mxocproxy: default: false type: boolean radsecproxy: default: false type: boolean tunterm: default: false type: boolean type: object channel: $ref: '#/components/schemas/mxedge_upgrade_channel' distro: description: distro upgrade, optional, to specific codename (e.g. bullseye) with highest qualified versions type: string mxedge_ids: description: list of mxedge IDs to upgrade. If not specified, it means all the org mxedges. items: format: uuid type: string type: array strategy: $ref: '#/components/schemas/mxedge_upgrade_strategy' versions: $ref: '#/components/schemas/mxedge_upgrade_version' required: - mxedge_ids type: object mxedge_upgrade_response: properties: channel: minLength: 1 type: string counts: properties: failed: type: integer queued: type: integer success: type: integer upgrading: type: integer required: - queued - upgrading - success - failed type: object id: minLength: 1 type: string status: minLength: 1 type: string strategy: minLength: 1 type: string versions: type: object required: - status - strategy - versions - channel - id - counts type: object mxedge_upgrade_strategy: default: big_bang description: '* `big_bang`: upgrade all at once * `serial`: one at a time' enum: - big_bang - serial title: mxedge_upgrade_multi_strategy type: string mxedge_upgrade_version: description: version to upgrade for each service, `current` / `latest` / `default` / specific version (e.g. `2.5.100`).\nignored if distro upgrade properties: mxagent: default: current type: string mxdas: default: current type: string mxocproxy: default: current type: string radsecproxy: default: current type: string tunterm: default: current type: string required: - mxagent - tunterm type: object mxedges_assign: properties: mxedge_ids: items: format: uuid type: string type: array site_id: $ref: '#/components/schemas/site_id' required: - site_id - mxedge_ids type: object mxedges_unassign: properties: mxedge_ids: items: format: uuid type: string type: array required: - mxedge_ids type: object mxtunnel: description: MxTunnel properties: anchor_mxtunnel_ids: description: list of anchor mxtunnels used for forming edge to edge tunnels items: example: 1e970fec-0a7a-4d73-a472-3ef3b6a456aa format: uuid type: string type: array auto_preemption: $ref: '#/components/schemas/auto_preemption' created_time: readOnly: true type: number for_site: readOnly: true type: boolean hello_interval: default: 60 description: in seconds, used as heartbeat to detect if a tunnel is alive. AP will try another peer after missing N hellos specified by `hello_retries`. maximum: 300 minimum: 1 nullable: true type: integer hello_retries: default: 7 maximum: 30 minimum: 2 nullable: true type: integer id: format: uuid readOnly: true type: string ipsec: properties: dns_servers: items: type: string nullable: true type: array dns_suffix: items: type: string type: array enabled: type: boolean extra_routes: items: properties: dest: type: string next_hop: format: ipv4 type: string title: mxtunnel_ipsec_extra_route type: object type: array split_tunnel: type: boolean use_mxedge: type: boolean title: mxtunnel_ipsec type: object modified_time: readOnly: true type: number mtu: default: 0 description: 0 to enable PMTU, 552-1500 to start PMTU with a lower MTU maximum: 1500 minimum: 0 type: integer mxcluster_ids: description: list of mxclusters to deploy this tunnel to items: format: uuid type: string type: array name: nullable: true type: string org_id: $ref: '#/components/schemas/org_id' protocol: default: udp enum: - udp - ip title: mxtunnel_protocol type: string site_id: $ref: '#/components/schemas/site_id' vlan_ids: description: list of vlan_ids that will be used items: type: integer type: array type: object mxtunnel_stats: description: MxTunnels statistics properties: ap: readOnly: true type: string for_site: readOnly: true type: boolean last_seen: readOnly: true type: integer mxcluster_id: format: uuid readOnly: true type: string mxedge_id: format: uuid readOnly: true type: string mxtunnel_id: format: uuid readOnly: true type: string org_id: $ref: '#/components/schemas/org_id' peer_mxedge_id: description: MxEdge ID of the peer(mist edge to mist edge tunnel) format: uuid readOnly: true type: string remote_ip: readOnly: true type: string remote_port: readOnly: true type: integer rx_control_pkts: readOnly: true type: integer sessions: description: list of sessions items: properties: local_sid: description: remote sessions id (dynamically unless Tunnel is said to be static) type: integer remote_id: description: WxlanTunnel Remote ID type: string remote_sid: description: remote sessions id (dynamically unless Tunnel is said to be static) type: integer state: type: string required: - local_sid - remote_id - remote_sid - state type: object minItems: 1 readOnly: true type: array uniqueItems: true site_id: $ref: '#/components/schemas/site_id' state: enum: - idle - wait-ctrl-reply - wait-ctrl-conn - established - established_with_session readOnly: true title: mxtunnel_stats_state type: string tx_control_pkts: readOnly: true type: integer uptime: readOnly: true type: integer type: object nac_client: properties: ap: example: - 5c5b35bf16bb - d4dc090041b4 items: type: string type: array auth_type: example: eap-tls type: string cert_cn: items: type: string type: array cert_issuer: items: type: string type: array idp_id: type: string idp_role: items: type: string type: array last_ap: type: string last_cert_cn: type: string last_cert_expiry: type: integer last_cert_issuer: type: string last_nacrule_id: type: string last_nacrule_name: type: string last_nas_vendor: type: string last_ssid: type: string last_status: type: string mac: type: string nacrule_id: items: type: string type: array nacrule_matched: type: boolean nacrule_name: items: type: string type: array nas_vendor: items: type: string type: array org_id: $ref: '#/components/schemas/org_id' random_mac: type: boolean site_id: $ref: '#/components/schemas/site_id' ssid: items: type: string type: array timestamp: example: 1694689718.612 type: number type: example: wireless type: string type: object nac_clients: items: $ref: '#/components/schemas/nac_client' type: array nac_crl_file: properties: created_time: description: Time at which the file was first uploaded, in epoch example: 1698099079 type: integer id: description: ID for file upload, used to identify file even for deletion example: a1ca26f3-44dd-4833-9a7b-97bbb2ab5230 type: string modified_time: description: Time at which the file was last updated, in epoch example: 1698099079 type: integer name: description: Name for the .crl file issuer if set example: SampleCertificateSigner type: string url: description: Download URL for the .crl file example: http://url/to/crl_file.crl type: string type: object nac_crl_files: items: $ref: '#/components/schemas/nac_crl_file' type: array nac_portal: properties: access_type: $ref: '#/components/schemas/nac_portal_access_type' bg_image_url: description: background image type: string cert_expire_time: description: in days example: 365 type: integer enable_telemetry: description: model, version, fingering, events (connecting, disconnect, roaming), which ap type: boolean expiry_notification_time: description: in days type: integer name: example: get-wifi type: string notify_expiry: description: phase 2 type: boolean ssid: example: Corp type: string sso: $ref: '#/components/schemas/nac_portal_sso' template_url: type: string thumbnail_url: readOnly: true type: string tos: type: string type: object nac_portal_access_type: default: wireless enum: - wireless - wireless+wired type: string nac_portal_array: items: $ref: '#/components/schemas/nac_portal' type: array nac_portal_sso: properties: idp_cert: example: '-----BEGIN CERTIFICATE-----\nMIIFZjCCA06gAwIBAgIIP61/1qm/uDowDQYJKoZIhvcNAQELBQE\n-----END CERTIFICATE-----' type: string idp_sign_algo: example: sha256 type: string idp_sso_url: example: https://yourorg.onelogin.com/trust/saml2/http-post/sso/138130 type: string issuer: example: https://app.onelogin.com/saml/metadata/138130 type: string nameid_format: example: email type: string sso_role_matching: items: $ref: '#/components/schemas/nac_portal_sso_role_matching' type: array use_sso_role_for_cert: description: if it's desired to inject a role into Cert's Subject (so it can be used later on in policy) type: boolean type: object nac_portal_sso_role_matching: properties: assigned: example: user type: string match: example: Student type: string type: object nac_rule: properties: action: enum: - allow - block example: allow type: string apply_tags: description: all optional, this goes into Access-Accept example: - c049dfcd-0c73-5014-1c64-062e9903f1e5 items: type: string type: array created_time: readOnly: true type: integer enabled: default: true description: enabled or not type: boolean id: format: uuid minLength: 1 readOnly: true type: string matching: $ref: '#/components/schemas/nac_rule_matching' modified_time: readOnly: true type: integer name: type: string not_matching: $ref: '#/components/schemas/nac_rule_matching' order: description: the order of the rule, lower value implies higher priority example: 1 minimum: 1 type: number org_id: $ref: '#/components/schemas/org_id' required: - action - name type: object nac_rule_matching: properties: auth_type: default: eap-tls enum: - idp - mab - psk - device-auth - eap-tls - eap-ttls - eap-teap title: nac_rule_matching_auth_type type: string nactags: example: - 041d5d36-716c-4cfb-4988-3857c6aa14a2 - a809a97f-d599-f812-eb8c-c3f84aabf6ba items: type: string type: array port_types: example: - wired items: enum: - wireless - wired type: string type: array site_ids: description: list of site ids to match example: - bb19fc3e-4124-4b57-80d9-c3f6edce47c4 - bb19fc3e-6564-4b57-80d9-c3f6edce47c1 items: format: uuid type: string type: array sitegroup_ids: description: list of sitegroup ids to match example: - bb19fc3e-4124-4b57-80d9-c3f6edce47c4 - bb19fc3e-6564-4b57-80d9-c3f6edce47c1 items: format: uuid type: string type: array vendor: description: list of vendors to match items: example: cisc type: string type: array title: nac_rule_matching type: object nac_tag: properties: created_time: readOnly: true type: number egress_vlan_names: description: if `type`==`egress_vlan_names`, list of egress vlans to return example: - 1vlan-30 - 1vlan-20 - 2-vlan10 items: type: string type: array gbp_tag: description: if `type`==`gbp_tag` type: integer id: format: uuid readOnly: true type: string match: description: if `type`==`match` enum: - cert_cn - cert_issuer - cert_san - cert_serial - cert_sub - client_mac - idp_role - mdm_status - radius_group - realm - ssid - user_name minLength: 1 title: nac_tag_match type: string modified_time: readOnly: true type: number name: minLength: 1 type: string org_id: $ref: '#/components/schemas/org_id' radius_attrs: description: "if `type`==`radius_attrs`, user can specify a list of one\ \ or more standard attributes in the field \"radius_attrs\". \nIt is the\ \ responsibility of the user to provide a syntactically correct string,\ \ otherwise it may not work as expected.\nNote that it is allowed to have\ \ more than one radius_attrs in the result of a given rule." example: - Idle-Timeout=600 - Termination-Action=RADIUS-Request items: type: string type: array radius_group: description: if `type`==`radius_group` type: string radius_vendor_attrs: description: "if `type`==`radius_vendor_attrs`, user can specify a list\ \ of one or more vendor-specific attributes in the field \"radius_vendor_attrs\"\ . \nIt is the responsibility of the user to provide a syntactically correct\ \ string, otherwise it may not work as expected.\nNote that it is allowed\ \ to have more than one radius_vendor_attrs in the result of a given rule." example: - PaloAlto-Admin-Role=superuser - PaloAlto-Panorama-Admin-Role=administrator items: type: string type: array session_timeout: description: if `type`==`session_timeout, in seconds example: 86000 type: integer type: enum: - egress_vlan_names - match - vlan - gbp_tag - radius_attrs - radius_group - radius_vendor_attrs - session_timeout minLength: 1 title: nac_tag_type type: string values: description: if `type`==`match` items: type: string type: array vlan: description: if `type`==`vlan` type: string required: - name - type type: object name: properties: name: type: string type: object network: description: Networks are usually subnets that have cross-site significance. `networks`in Org Settings will got merged into `networks`in Site Setting. For gateways, they can be used to define Service Routes. properties: created_time: readOnly: true type: number disallow_mist_services: default: false description: whether to disallow Mist Devices in the network type: boolean gateway: example: 192.168.70.1 format: ipv4 type: string hosts: additionalProperties: properties: external_ips: example: 172.16.10.32-172.16.10.35 type: string ips: example: 192.168.70.32-192.168.70.35 type: string type: object title: network_host type: object id: format: uuid readOnly: true type: string internal_access: properties: enabled: type: boolean title: network_internal_access type: object internet_access: $ref: '#/components/schemas/network_internet_access' isolation: description: whether to allow clients in the network to talk to each other type: boolean modified_time: readOnly: true type: number name: type: string org_id: $ref: '#/components/schemas/org_id' routed_for_networks: description: for a Network (usually LAN), it can be routable to other networks (e.g. OSPF) items: example: pos type: string type: array subnet: example: 192.168.70.0/24 type: string tenants: additionalProperties: properties: addresses: type: string type: object title: network_tenant type: object vlan_id: type: integer vpn_access: additionalProperties: properties: advertised_subnet: description: if `routed`==`true`, whether to advertise an aggregated subnet toward HUB this is useful when there are multiple networks on SPOKE's side example: 172.16.0.0/24 type: string allow_ping: description: whether to allow ping from vpn into this routed network type: boolean destination_nat: $ref: '#/components/schemas/network_destination_nat' nat_pool: description: if `routed`==`false` (usually at Spoke), but some hosts needs to be reachable from Hub, a subnet is required to create and advertise the route to Hub example: 172.16.0.0/26 type: string no_readvertise_to_lan_bgp: default: false description: toward LAN-side BGP peers type: boolean no_readvertise_to_lan_ospf: default: false description: toward LAN-side OSPF peers type: boolean no_readvertise_to_overlay: description: 'toward overlay how HUB should deal with routes it received from Spokes' type: boolean other_vrfs: description: 'by default, the routes are only readvertised toward the same vrf on spoke to allow it to be leaked to other vrfs' items: example: iot type: string type: array routed: description: whether this network is routable type: boolean source_nat: $ref: '#/components/schemas/network_source_nat' static_nat: $ref: '#/components/schemas/network_static_nat' summarized_subnet: description: 'toward overlay how HUB should deal with routes it received from Spokes' example: 172.16.0.0/16 type: string summarized_subnet_to_lan_bgp: description: toward LAN-side BGP peers example: 172.16.0.0/16 type: string summarized_subnet_to_lan_ospf: description: toward LAN-side OSPF peers example: 172.16.0.0/16 type: string type: object description: whether this network can be accessed from vpn title: network_vpn_access type: object type: object network_destination_nat: additionalProperties: properties: internal_ip: example: 192.168.70.30 type: string name: example: web server type: string port: example: 443 type: integer type: object description: Property key may be an IP/Port (i.e. "63.16.0.3:443"), or a port (i.e. ":2222") type: object network_internet_access: description: whether this network has direct internet access properties: create_simple_service_policy: default: false type: boolean destination_nat: $ref: '#/components/schemas/network_destination_nat' enabled: type: boolean restricted: default: false description: by default, all access is allowed, to only allow certain traffic, make `restricted`=`true` and define service_policies type: boolean static_nat: $ref: '#/components/schemas/network_static_nat' type: object network_source_nat: description: if `routed`==`false` (usually at Spoke), but some hosts needs to be reachable from Hub properties: exteral_ip: example: 172.16.0.8/30 type: string title: network_vpn_access_source_nat type: object network_static_nat: additionalProperties: properties: internal_ip: example: 192.168.70.3 type: string name: example: pos-station-1 type: string wan_name: description: If not set, we configure the nat policies against all WAN ports for simplicity example: wan0 type: string type: object description: Property key may be an IP Address (i.e. "172.16.0.1"), and IP Address and Port (i.e. "172.16.0.1:8443") or a CIDR (i.e. "172.16.0.12/20") type: object network_template: description: Network Template properties: additional_config_cmds: items: type: string type: array created_time: readOnly: true type: number dhcp_snooping: $ref: '#/components/schemas/junos_dhcp_snooping' dns_servers: items: type: string type: array dns_suffix: items: type: string type: array extra_routes: $ref: '#/components/schemas/switch_extra_routes' group_tags: type: object id: format: uuid readOnly: true type: string import_org_networks: description: Org Networks that we'd like to import items: example: ap type: string type: array mist_nac: $ref: '#/components/schemas/network_template_mist_nac' modified_time: readOnly: true type: number name: type: string networks: additionalProperties: $ref: '#/components/schemas/network_template_network' description: Property key is network name type: object ntp_servers: items: type: string type: array org_id: $ref: '#/components/schemas/org_id' port_usages: additionalProperties: $ref: '#/components/schemas/junos_port_usages' description: Property key is the port profile name properties: dynamic: $ref: '#/components/schemas/dynamic_port_usage' type: object radius_config: $ref: '#/components/schemas/junos_radius_config' remote_syslog: $ref: '#/components/schemas/remote_syslog' snmp_config: $ref: '#/components/schemas/junos_snmp_config' switch_matching: $ref: '#/components/schemas/switch_matching' switch_mgmt: $ref: '#/components/schemas/switch_mgmt' vrf_config: properties: enabled: default: false type: boolean type: object vrf_instances: additionalProperties: properties: extra_routes: $ref: '#/components/schemas/vrf_extra_routes' networks: items: type: string type: array type: object description: Property key is the VRF name type: object type: object network_template_mist_nac: description: enable mist_nac to use radsec properties: enabled: type: boolean network: type: string type: object network_template_network: properties: subnet: example: 192.168.1.0/24 type: string vlan_id: example: 10 type: integer type: object new_admin: properties: account_only: default: false description: skip creating initial setup if true type: boolean allow_mist: default: false description: whether to allow Mist to look at this org type: boolean city: description: city of registering user example: Cupertino type: string country: description: country/region of registering user example: United States type: string email: example: test@mistsys.com maxLength: 64 type: string first_name: example: John type: string invite_code: description: required initially example: MISTROCKS type: string last_name: example: Smith type: string org_name: example: Smith LLC type: string password: example: foryoureyesonly type: string recaptcha: description: reCAPTCHA , see https://www.google.com/recaptcha/ type: string recaptcha_flavor: $ref: '#/components/schemas/recaptcha_flavor' referer_invite_token: description: the invite token to apply after account creation example: Dm2gtT8dwMeM4Bc2E8FLIaA96VHOjPat type: string return_to: description: the url the user should be redirected back to example: http://mist.zendesk.com/hc/quickstart.pdf type: string state: description: state of registering user, optional (depends on country/region) example: California type: string street_address: description: street address of registering user example: 1601 S De Anza Blvd Ste 248 type: string street_address 2: description: street address 2 of registering user example: 1601 S De Anza Blvd Ste 248 type: string zipcode: description: zipcode of registering user example: '95014' type: string required: - email - first_name - last_name - org_name - password - recaptcha title: new_admin type: object note: properties: note: description: Some text note describing the intent example: maintenance window type: string title: note type: object notes: properties: notes: example: wired pcap test type: string type: object org: properties: alarmtemplate_id: format: uuid nullable: true type: string allow_mist: default: true type: boolean created_time: example: 1652905706 readOnly: true type: number id: example: 2818e386-8dec-2562-9ede-5b8a0fbbdc71 format: uuid readOnly: true type: string modified_time: example: 1652905706 readOnly: true type: number msp_id: example: b9d42c2e-88ee-41f8-b798-f009ce7fe909 format: uuid type: string msp_logo_url: description: logo uploaded by the MSP with advanced tier, only present if provided example: https://.../logo/b9d42c2e-88ee-41f8-b798-f009ce7fe909.jpeg format: uri readOnly: true type: string msp_name: description: name of the msp the org belongs to example: MSP readOnly: true type: string name: example: Org type: string orggroup_ids: items: format: uuid type: string type: array session_expiry: default: 1440 example: 1440 type: number required: - name type: object org_apitoken: description: Org API Token properties: created_by: description: email of the token creator / null if creator is deleted example: user@mycorp.com nullable: true type: string created_time: example: 1626875902 readOnly: true type: integer id: example: 497f6eca-6276-4993-bfeb-53ecbbba6f08 format: uuid readOnly: true type: string key: example: 1qkb...QQCL readOnly: true type: string last_used: example: 1690115110 nullable: true readOnly: true type: integer name: description: name of the token example: org_token_xyz nullable: true type: string org_id: $ref: '#/components/schemas/org_id' privileges: description: list of privileges the token has on the orgs/sites example: - org_id: a40f5d1f-d889-42e9-94ea-b9b33585fc6b role: admin scope: org items: $ref: '#/components/schemas/privilege_org' minItems: 1 type: array uniqueItems: true src_ips: description: to restrict where the API can be called from example: - 198.51.0.42/32 items: type: string maximum: 10 type: array type: object org_auto_rules: description: auto_rules in org settings properties: expression: description: '"[0:3]" // "abcdef" -> "abc" "split(.)[1]" // "a.b.c" -> "b" "split(-)[1][0:3]" // "a1234-b5678-c90" -> "b56"' example: split(.)[1] nullable: true type: string match_device_type: default: ap description: optional/additional filter enum: - ap - switch - gateway - other type: string match_model: description: optional/additional filter type: string model: type: string prefix: example: XX- nullable: true type: string src: enum: - name - subnet - lldp_system_name - dns_suffix - model - lldp_port_desc type: string subnet: type: string suffix: example: -YY nullable: true type: string value: type: string required: - src type: object org_crl_import_file: properties: file: description: a binary .crl file format: binary type: string json: description: json string with name for .crl file (optional) type: string type: object org_device_upgrade_info: properties: enable_p2p: description: whether to allow local AP-to-AP FW upgrade type: boolean force: description: whether to force upgrade when requested version is same as running version type: boolean id: description: unique id for the upgrade format: uuid readOnly: true type: string start_time: description: upgrade start time in epoch type: number status: description: status upgrade is in enum: - created - in_progress - completed - canceled title: org_device_upgrade_status type: string strategy: $ref: '#/components/schemas/device_upgrade_strategy' target_version: description: version to upgrade to minLength: 1 type: string upgrades: items: properties: site_id: $ref: '#/components/schemas/site_id' upgrade: properties: id: format: uuid type: string start_time: description: upgrade start time in epoch type: integer status: description: status upgrade is in enum: - created - in_progress - completed - cancelled title: org_device_upgrade_item_status type: string targets: properties: download_requested: items: type: string type: array downloaded: description: devices which have the firmware downloaded items: format: uuid type: string type: array failed: description: devices which have the failed to upgrade items: format: uuid type: string type: array reboot_in_progress: description: devices which are rebooting items: format: uuid type: string type: array rebooted: description: devices which have rebooted successfully items: format: uuid type: string type: array scheduled: description: devices which cloud has scheduled an upgrade items: format: uuid type: string type: array skipped: description: devices which have skipped upgrade since requested version was same as running version. Use `force` to always upgrade items: format: uuid type: string type: array upgraded: description: devices which have upgraded successfully items: format: uuid type: string type: array type: object type: object type: object type: array required: - id title: org_device_upgrade_info type: object org_id: example: a97c1b22-a4e9-411e-9bfd-d8695a0f9e61 format: uuid readOnly: true type: string org_license_action: properties: amendment_id: description: if `op`==`unamend`, the ID of the operation to cancel format: uuid type: string dst_org_id: description: if `op`==`amend`, the id of the org where the license is moved format: uuid type: string notes: description: if `op`==`annotate` type: string op: description: to move a license, use the `amend` operation enum: - amend - unamend - delete - annotate title: org_license_action_operation type: string quantity: description: if `op`==`amend`, the number of licenses to move type: integer subscription_id: description: if `op`==`amend` or `op`==`delete`, the ID of the subscription to use type: string required: - op type: object org_setting: description: Org Settings properties: auto_device_naming: properties: enable: type: boolean rules: items: $ref: '#/components/schemas/org_auto_rules' nullable: true type: array type: object auto_deviceprofile_assignment: properties: enable: type: boolean rules: items: $ref: '#/components/schemas/org_auto_rules' nullable: true type: array type: object auto_site_assignment: properties: enable: type: boolean rules: items: $ref: '#/components/schemas/org_auto_rules' nullable: true type: array type: object blacklist_url: example: https://papi.s3.amazonaws.com/blacklist/xxx... readOnly: true type: string cacerts: description: list of PEM-encoded ca certs items: example: '-----BEGIN CERTIFICATE-----\nMIIFZjCCA06gAwIBAgIIP61/1qm/uDowDQYJKoZIhvcNAQELBQE\n-----END CERTIFICATE-----' type: string type: array celona: properties: api_key: example: $2a$04$OkaLCoJn6rDjR8ha.oduQVDST3.kJNIrte type: string api_prefix: example: cc3273fcb016470e type: string type: object cloudshark: properties: apitoken: example: accbd6f10c6d05c3 type: string url: description: if using CS Enteprise example: https://cloudshark.hosted.domain type: string type: object cradlepoint: properties: cp_api_id: example: 84446d61-2206-4ea5-855a-0043f980be54 type: string cp_api_key: example: 79c329da9893e34099c7d8ad5cb9c941 type: string ecm_api_id: example: 73446d61-2206-4ea5-855a-0043f980be62 type: string ecm_api_key: example: 68b329da9893e34099c7d8ad5cb9c940 type: string type: object created_time: readOnly: true type: number device_cert: description: common device cert, optional properties: cert: example: '-----BEGIN CERTIFICATE-----\nMIIFZjCCA06gAwIBAgIIP61/1qm/uDowDQYJKoZIhvcNAQELBQE\n-----END CERTIFICATE-----' type: string key: example: '-----BEGIN PRI...' type: string type: object device_updown_threshold: default: 0 description: "enable threshold-based device down delivery via \n1) device-updowns\ \ webhooks topic, \n2) Mist Alert Framework; e.g. send AP/SW/GW down event\ \ only if AP/SW/GW Up is not seen within the threshold in minutes; 0 -\ \ 240, default is 0 (trigger immediate)" maximum: 30 minimum: 0 type: integer disable_pcap: default: false description: whether to disallow Mist to analyze pcap files (this is required for marvis pcap) type: boolean disable_remote_shell: default: false description: whether to disable remote shell access for an entire org type: boolean for_site: readOnly: true type: boolean gateway_mgmt: properties: app_probing: properties: apps: description: app-keys from /api/v1/const/applications items: type: string type: array type: object app_usage: type: boolean host_out_policies: description: 'optional, for some of the host-out traffic, the path preference can be specified by default, ECMP will be used from all available route/path available services: dns/mist/ntp' properties: dns: properties: path_preference: type: string type: object mist: properties: path_preference: type: string type: object ntp: properties: path_preference: type: string type: object type: object overlay_ip: properties: ip: description: when it's going overlay, a routable IP to overlay will be required type: string node1_ip: description: for SSR HA cluster, another IP for node1 will be required, too type: string type: object type: object id: format: uuid readOnly: true type: string installer: properties: allow_all_devices: type: boolean allow_all_sites: type: boolean extra_site_ids: items: example: 4ac1dcf4-9d8b-7211-65c4-057819f0862b format: uuid type: string type: array grace_period: type: number type: object jcloud: properties: org_apitoken: description: JCloud Org Token type: string org_apitoken_name: description: JCloud Org Token Name type: string org_id: description: JCloud Org ID type: string type: object juniper: $ref: '#/components/schemas/account_juniper_info' mgmt: description: management-related properties properties: mxtunnel_ids: description: list of Mist Tunnels items: example: 08cd7499-5841-51c8-e663-fb16b6f3b45e format: uuid type: string type: array use_mxtunnel: default: false description: whether to use Mist Tunnel for mgmt connectivity, this takes precedence over use_wxtunnel type: boolean use_wxtunnel: default: false description: whether to use wxtunnel for mgmt connectivity type: boolean type: object mist_api: properties: secret_policy: default: show description: by default, API hides password/secrets when the user doesn't have write access it can be more strictly controlled enum: - show - strict type: string type: object mist_nac: properties: cacerts: description: the CA certs we use to verify client certs example: '-----BEGIN CERTIFICATE-----\nMIIFZjCCA06gAwIBAgIIP61/1qm/uDowDQYJKoZIhvcNAQELBQE\n-----END CERTIFICATE-----' type: string default_idp_id: description: use this IDP when no explicit realm present in the incoming username/CN OR when no IDP is explicitly mapped to the incoming realm. type: string eap_ssl_security_level: default: 2 description: 'eap ssl security level see https://www.openssl.org/docs/man1.1.1/man3/SSL_CTX_set_security_level.html#DEFAULT-CALLBACK-BEHAVIOUR' maximum: 4 minimum: 1 type: integer eu_only: default: false description: 'By default NAC POD failover considers all NAC pods available around the globe, i.e. EU, US, or APAC based, failover happens based on geo IP of the originating site. For strict GDPR compliancy NAC POD failover would only happen between the PODs located within the EU environment, and no authentication would take place outside of EU. This is an org setting that is applicable to WLANs, switch templates, mxedge clusters that have mist_nac enabled' type: boolean idps: items: properties: exclude_realms: description: when the IDP of mxedge-proxy type, exclude the following realms from proxying in addition to other valid home realms in this org items: type: string type: array id: example: 4c441a74-d0de-32c4-78a7-a05e00d080ae readOnly: true type: string user_realms: description: 'which realm should trigger this IDP. we extract user realm from 1. Username-AVP (`mist.com` from john@mist.com) 2. Cert CN' items: example: abc type: string type: array type: object type: array server_cert: description: radius server cert to be presented in EAP TLS properties: cert: example: '-----BEGIN CERTIFICATE-----\nMIIFZjCCA06gAwIBAgIIP61/1qm/uDowDQYJKoZIhvcNAQELBQE\n-----END CERTIFICATE-----' type: string key: example: '-----BEGIN PRI...' type: string password: description: private key password (optional) type: string type: object use_ssl_port: default: false description: "By default NAS devices (switches/aps) and proxies(mxedge)\ \ are configured to use port TCP2083(radsec) to reach mist-nac. \n\ Set `use_ssl_port`==`true` to override that port with TCP43 (ssl),\ \ \nThis is a org level setting that is applicable to wlans, switch-templates,\ \ and mxedge-clusters that have mist-nac enabled" type: boolean type: object modified_time: readOnly: true type: number msp_id: format: uuid readOnly: true type: string mxedge_fips_enabled: default: false type: boolean mxedge_mgmt: $ref: '#/components/schemas/mxedge_mgmt' org_id: $ref: '#/components/schemas/org_id' password_policy: description: password policy properties: enabled: default: false description: whether the policy is enabled type: boolean freshness: description: days, required if password policy is enabled example: 60 type: integer min_length: default: 8 description: required password length type: integer requires_special_char: default: false description: whether to require special character type: boolean requires_two_factor_auth: default: false description: whether to require two-factor auth type: boolean type: object pcap: properties: bucket: example: myorg-pcap type: string max_pkt_len: default: 128 description: max_len of non-management packets to capture example: 128 maximum: 128 type: integer type: object pcap_bucket_verified: type: boolean security: properties: disable_local_ssh: description: whether to disable local SSH (by default, local SSH is enabled with allow_mist in Org is enabled type: boolean fips_zeroize_password: description: password required to zeroize devices (FIPS) on site level example: NUKETHESITE type: string limit_ssh_access: default: false description: whether to allow certain SSH keys to SSH into the AP (see Site:Setting) type: boolean type: object simple_alert: $ref: '#/components/schemas/simple_alert' site_id: $ref: '#/components/schemas/site_id' switch_mgmt: properties: ap_affinity_threshold: default: 12 description: If the field is set in both site/setting and org/setting, the value from site/setting will be used. example: 10 type: integer title: org_switch_mgmt type: object synthetic_test: properties: vlans: additionalProperties: properties: custom_test_urls: items: type: string type: array disabled: description: for some vlans where we don't want this to run type: boolean type: object description: Property key is the vlan id or list of vlan ids example: 10,20: custom_test_urls: - http://www.abc.com/ - https://10.3.5.1:8080/about 30,40: disabled: true type: object wan_speedtest: properties: enabled: default: false type: boolean port_ids: description: by default, we'll identify the WAN ports automatically, use this to only allow the following ports to run use `ge-0/0/1.3` for vlan'ed ports example: - ge-0/0/0 - ge-0/0/1.3 items: type: string type: array time_of_day: description: by default, we'll look at the tarffic pattern and determine when to run automatically example: 02:00 type: string type: object title: org_synthetic_test_settings type: object tags: description: list of tags items: type: string type: array ui_idle_timeout: default: 0 description: automatically logout the user when UI session is inactive. `0` means disabled example: 10 maximum: 480 minimum: 0 type: integer vpn_options: properties: as_base: maximum: 4294967295 minimum: 1 type: integer st_subnet: default: 10.224.0.0/12 description: equiring /12 or bigger to support 16 private IPs for 65535 gateways type: string type: object wan_pma: properties: enabled: default: false type: boolean type: object wired_pma: properties: enabled: default: false type: boolean type: object wireless_pma: properties: enabled: default: true type: boolean type: object type: object org_site_sle_wifi: properties: end: type: number interval: type: integer limit: type: integer page: type: integer results: items: properties: ap-availability: type: number ap-health: type: number capacity: type: number coverage: type: number num_aps: type: number num_clients: type: number roaming: type: number site_id: $ref: '#/components/schemas/site_id' successful-connect: type: number throughput: type: number time-to-connect: type: number required: - site_id title: org_site_sle_wifi_item type: object minItems: 1 type: array uniqueItems: true start: type: number total: type: integer required: - start - end - interval - limit - page - total - results type: object org_site_wan_wifi: properties: end: type: number interval: type: integer limit: type: integer page: type: integer results: items: properties: application-health: type: number gateway-health: type: number num_clients: type: number num_gateways: type: number site_id: $ref: '#/components/schemas/site_id' wan-link-health: type: number required: - site_id title: org_site_sle_wan_item type: object minItems: 1 type: array uniqueItems: true start: type: number total: type: integer required: - start - end - interval - limit - page - total - results type: object org_site_wired_wifi: properties: end: type: number interval: type: integer limit: type: integer page: type: integer results: items: properties: num_clients: type: number num_switches: type: number site_id: $ref: '#/components/schemas/site_id' switch-health: type: number switch-stc: type: number switch-throughput: type: number required: - site_id title: org_site_wifi_sle_item type: object minItems: 1 type: array uniqueItems: true start: type: number total: type: integer required: - start - end - interval - limit - page - total - results type: object org_stats: description: Org statistics properties: alarmtemplate_id: format: uuid type: string allow_mist: type: boolean created_time: type: number id: format: uuid type: string modified_time: type: number msp_id: format: uuid type: string name: type: string num_devices: type: integer num_devices_connected: type: integer num_devices_disconnected: type: integer num_inventory: type: integer num_sites: type: integer orggroup_ids: items: format: uuid type: string type: array session_expiry: type: integer sle: items: properties: path: type: string user_minutes: properties: ok: type: number total: type: number required: - total - ok type: object required: - path type: object minItems: 1 type: array uniqueItems: true required: - orggroup_ids - name - id - msp_id - created_time - modified_time - allow_mist - session_expiry - alarmtemplate_id - num_sites - num_devices - num_inventory - num_devices_connected - num_devices_disconnected - sle type: object orggroup: description: Organizations Group properties: created_time: readOnly: true type: number id: format: uuid readOnly: true type: string modified_time: readOnly: true type: number msp_id: format: uuid readOnly: true type: string name: type: string org_ids: items: format: uuid readOnly: true type: string type: array required: - name type: object orggroup_id: example: 832b1d74-9531-409b-ae37-4d7f3edbde92 format: uuid type: string other_device_update: properties: device_mac: type: string site_id: $ref: '#/components/schemas/site_id' type: object other_device_update_multi: properties: macs: description: The mac address of the peer device. items: type: string type: array op: description: The operation being performed enum: - assign - unassign title: other_device_update_operation type: string site_id: type: string required: - op type: object pcap_bucket: properties: bucket: example: company-private-pcap type: string required: - bucket type: object pcap_bucket_verify: properties: bucket: example: company-private-pcap type: string verify_token: example: eyJhbGciOiJIUzI1J9.eyJzdWIiOiIxMjM0joiMjgxOG5MDIyfQ.2rzcRvMA3Eg09NnjCAC-1EWMRtxAnFDM type: string required: - bucket - verify_token type: object portal_template: description: Portal Template properties: accessCodeAlternateEmail: default: Please provide valid alternate email type: string alignment: description: "defines alignment on portal. \u201Cleft\u201D is default." type: string authButtonAmazon: default: Sign in with Amazon description: label for Amazon auth button type: string authButtonAzure: default: Sign in with Azure description: label for Azure auth button type: string authButtonEmail: default: Sign in with Email description: label for Email auth button type: string authButtonFacebook: default: Sign in with Facebook description: label for Facebook auth button type: string authButtonGoogle: default: Sign in with Google description: label for Google auth button type: string authButtonMicrosoft: default: Sign in with Microsoft description: label for Microsoft auth button type: string authButtonPassphrase: description: label for passphrase auth button type: string authButtonSms: default: Sign in with Text Message description: label for SMS auth button type: string authButtonSponsor: default: Sign in as Guest description: label for Sponsor auth button type: string authLabel: default: "\u201CConnect to WiFi with\u201D" type: string backLink: default: Go back and edit request form description: label of the link to go back to /logon type: string color: default: "\u201C#1074bc\u201D" type: string colorDark: default: "\u201C#0b5183\u201D" type: string colorLight: default: "\u201C#3589c6\u201D" type: string company: default: false description: whether company field is required type: boolean companyError: default: Please provide company name description: error message when company not provided type: string companyLabel: default: Company description: label of company field type: string created_time: readOnly: true type: number email: default: false description: whether email field is required type: boolean emailAccessDomainError: default: Access is restricted by email domain description: "error message when a user has valid social login but doesn\u2019\ t match specified email domains." type: string emailCancel: default: Cancel type: string emailCodeError: default: Please provide valid alternate email type: string emailError: default: Please provide valid email description: error message when email not provided type: string emailFieldLabel: default: Enter your email address type: string emailLabel: default: Email description: label of email field type: string emailMessage: default: We will email you an authentication code which you can use to connect to the WiFi network. type: string emailSubmit: default: "\u201CSend Access Code\u201D" type: string emailTitle: default: "\u201CSign in with Email\u201D" type: string field1: default: false description: whether to ask field1 type: boolean field1Error: default: Please provide field1 description: error message when field1 not provided type: string field1Label: default: Custom1 description: label of field1 type: string field1Required: default: false description: whether field1 is required field type: boolean field2: default: false description: whether to ask field2 type: boolean field2Error: default: Please provide field2 description: error message when field2 not provided type: string field2Label: default: Custom2 description: label of field2 type: string field2Required: default: false description: whether field2 is required field type: boolean field3: default: false description: whether to ask field3 type: boolean field3Error: default: Please provide field3 description: error message when field3 not provided type: string field3Label: default: Custom3 description: label of field3 type: string field3Required: default: false description: whether field3 is required field type: boolean field4: default: false description: whether to ask field4 type: boolean field4Error: default: Please provide field4 description: error message when field4 not provided type: string field4Label: default: Custom4 description: label of field4 type: string field4Required: default: false description: whether field4 is required field type: boolean for_site: readOnly: true type: boolean id: format: uuid readOnly: true type: string message: default: Please enjoy the complimentary Wifi type: string modified_time: readOnly: true type: number name: default: false description: whether name field is required type: boolean nameError: default: Please provide your name description: error message when name not provided type: string nameLabel: default: Name description: label of name field type: string optout: description: "whether to display \u201CDo Not Store My Personal Information\u201D" type: boolean optoutLabel: default: Do Not Store My Personal Information type: string org_id: $ref: '#/components/schemas/org_id' pageTitle: default: Welcome type: string passphraseCancel: default: Cancel type: string passphraseError: default: Invalid Passphrase description: error message when invalid passphrase is provided type: string passphraseLabel: default: Passphrase type: string passphraseMessage: default: Login using passphrase type: string passphraseSubmit: default: Sign in type: string passphraseTitle: default: Sign in with Passphrase description: Title for passphrase details page type: string poweredBy: default: true description: "whether to show \u201CPowered by Mist\u201D" type: boolean requiredFieldLabel: default: required description: label to denote required field type: string signInLabel: default: Sign In description: label of the button to /signin type: string site_id: $ref: '#/components/schemas/site_id' smsCarrierDefault: default: Please Select type: string smsCarrierError: default: Please select a mobile carrier type: string smsCarrierFieldLabel: default: Mobile Carrier description: label for mobile carrier drop-down list type: string smsCodeCancel: default: Cancel description: Label for cancel confirmation code submission type: string smsCodeError: default: Invalid Access Code description: error message when confirmation code is invalid type: string smsCodeFieldLabel: default: Confirmation Code type: string smsCodeMessage: default: Enter the confirmation code type: string smsCodeSubmit: default: Submit Code description: Label for confirmation code submit button type: string smsCodeTitle: default: Access Code type: string smsCountryFieldLabel: description: "\u201CCountry Code\u201D" type: string smsCountryFormat: default: "\u201C+1\u201D" type: string smsHaveAccessCode: default: I have an access code description: Label for checkbox to specify that the user has access code type: string smsMessageFormat: default: Code {{code}} expires in {{duration}} minutes. description: format of access code sms message. {{code}} and {{duration}} are place holders and should be retained as is. type: string smsNumberCancel: default: Cancel description: label for canceling mobile details for SMS auth type: string smsNumberError: default: Invalid Mobile Number type: string smsNumberFieldLabel: default: Mobile Number description: label for field to provide mobile number type: string smsNumberFormat: default: "\u201C2125551212 (digits only)\u201D" type: string smsNumberMessage: default: We will send an access code to your mobile number which you can use to connect to the WiFi network. Message and data rates may apply. type: string smsNumberSubmit: default: Sign In description: label for submit button for code generation type: string smsNumberTitle: default: Text Message Confirmation description: Title for phone number details type: string smsUsernameFormat: default: username type: string smsValidityDuration: default: 5 description: how long confirmation code should be considered valid (in minutes) type: number sponsorAutoApproved: default: Your request was approved. type: string sponsorAutoApprovedNote: default: Your notification has been sent to type: string sponsorBackLink: default: Go back and edit request form type: string sponsorCancel: default: Cancel type: string sponsorEmail: default: Please provide valid sponsor email description: label for Sponsor Email type: string sponsorEmailError: default: Please provide valid sponsor email type: string sponsorEmailTemplate: description: "\u201Chtml template to replace/override default sponsor email\ \ template\u201D" type: string sponsorInfoApproved: default: Your request was approved by type: string sponsorInfoDenied: default: Your request was denied by type: string sponsorInfoPending: default: Your notification has been sent to type: string sponsorName: default: Sponsor Name description: label for Sponsor Name type: string sponsorNameError: default: "Please provide sponsor\u2019s name" type: string sponsorNotePending: default: Please wait for them to acknowledge. type: string sponsorStatusApproved: default: Your request was approved description: text to display if sponsor approves request type: string sponsorStatusDenied: default: Your request was denied description: text to display when sponsor denies request type: string sponsorStatusPending: default: Notification Sent description: text to display if request is still pending type: string sponsorSubmit: default: Notify Sponsor description: submit button label to notify sponsor about guest request type: string sponsorsAutoApprovedNote: default: Your notification has been sent to the sponsors." type: string sponsorsError: default: Please select a sponsor type: string tos: default: true type: boolean tosAcceptLabel: default: I accept the Terms of Service description: prefix of the label of the link to go to /tos type: string tosError: default: Please review and accept terms of service description: error message when tos not accepted type: string tosLink: default: Terms of Service description: label of the link to go to /tos type: string tosText: default: terms of service description: text of the Terms of Service type: string required: - pageTitle type: object privilege_msp: description: Privilieges settings properties: org_id: description: if `scope`==`org` format: uuid type: string org_name: description: name of the org (for a site belonging to org) type: string orggroup_id: description: if `scope`==`orggroup` format: uuid type: string role: description: access permissions enum: - admin - write - read - helpdesk - installer title: privilege_msp_role type: string scope: enum: - org - msp - orggroup title: privilege_msp_scope type: string views: description: 'Custom roles restrict Org users to specific UI views. This is useful for limiting UI access of Org users. You can invite a new user or update existing users in your Org to this custom role. For this, specify view along with role when assigning privileges. Below are the list of supported UI views. Note that this is UI only feature Custom roles restrict Org users to specific UI views. This is useful for limiting UI access of Org users. You can invite a new user or update existing users in your Org to this custom role. For this, specify `view` along with `role` when assigning privileges. Below are the list of supported UI views. Note that this is UI only feature | UI View | Description | | --- | --- | | `reporting` | full access to all analytics tools | | `marketing` | can view analytics and location maps | | `location` | can view and manage location maps | | `security` | can view and manage WLAN, rogues and authentication | | `switch_admin` | can view and manage Switch ports | | `mxedge_admin` | can view and manage Mist edges and Mist tunnels | | `lobby_admin` | full access to Org and Site Pre-shared keys |' enum: - reporting - marketing - location - security - switch_admin - mxedge_admin - lobby_admin title: privilege_msp_view type: string required: - role - scope title: '' type: object privilege_org: description: Privilieges settings properties: role: description: access permissions enum: - admin - write - read - helpdesk - installer title: privilege_org_role type: string scope: enum: - org - site - sitegroup title: privilege_org_scope type: string site_id: description: if `scope`==`site` format: uuid type: string sitegroup_id: description: if `scope`==`sitegroup` format: uuid type: string views: description: 'Custom roles restrict Org users to specific UI views. This is useful for limiting UI access of Org users. You can invite a new user or update existing users in your Org to this custom role. For this, specify view along with role when assigning privileges. Below are the list of supported UI views. Note that this is UI only feature Custom roles restrict Org users to specific UI views. This is useful for limiting UI access of Org users. You can invite a new user or update existing users in your Org to this custom role. For this, specify `view` along with `role` when assigning privileges. Below are the list of supported UI views. Note that this is UI only feature | UI View | Description | | --- | --- | | `reporting` | full access to all analytics tools | | `marketing` | can view analytics and location maps | | `location` | can view and manage location maps | | `security` | can view and manage WLAN, rogues and authentication | | `switch_admin` | can view and manage Switch ports | | `mxedge_admin` | can view and manage Mist edges and Mist tunnels | | `lobby_admin` | full access to Org and Site Pre-shared keys |' enum: - reporting - marketing - location - security - switch_admin - mxedge_admin - lobby_admin title: privilege_org_views type: string required: - role - scope title: '' type: object privilege_self: description: Privilieges settings properties: msp_id: $ref: '#/components/schemas/msp_id' msp_logo_url: description: logo of the MSP (if the MSP belongs to an Advanced tier) readOnly: true type: string msp_name: description: name of the MSP (if the org belongs to an MSP) nullable: true readOnly: true type: string msp_url: description: custom url of the MSP (if the MSP belongs to an Advanced tier) readOnly: true type: string name: description: name of the org/site/MSP depending on object scope type: string org_id: $ref: '#/components/schemas/org_id' org_name: description: name of the org (for a site belonging to org) type: string orggroup_ids: description: if `scope`==`orggroup` items: $ref: '#/components/schemas/orggroup_id' type: array role: description: access permissions enum: - admin - write - read - helpdesk - installer type: string scope: enum: - msp - org - orggroup - site - sitegroup type: string site_id: $ref: '#/components/schemas/site_id' sitegroup_ids: items: $ref: '#/components/schemas/sitegroup_id' type: array views: description: 'Custom roles restrict Org users to specific UI views. This is useful for limiting UI access of Org users. You can invite a new user or update existing users in your Org to this custom role. For this, specify view along with role when assigning privileges. Below are the list of supported UI views. Note that this is UI only feature Custom roles restrict Org users to specific UI views. This is useful for limiting UI access of Org users. You can invite a new user or update existing users in your Org to this custom role. For this, specify `view` along with `role` when assigning privileges. Below are the list of supported UI views. Note that this is UI only feature | UI View | Description | | --- | --- | | `reporting` | full access to all analytics tools | | `marketing` | can view analytics and location maps | | `location` | can view and manage location maps | | `security` | can view and manage WLAN, rogues and authentication | | `switch_admin` | can view and manage Switch ports | | `mxedge_admin` | can view and manage Mist edges and Mist tunnels | | `lobby_admin` | full access to Org and Site Pre-shared keys |' enum: - reporting - marketing - location - security - switch_admin - mxedge_admin - lobby_admin type: string required: - role - scope title: '' type: object protect_re: description: "restrict inbound-traffic to host\nwhen enabled, all traffic that\ \ is not essential to our operation will be dropped \ne.g. ntp / dns / traffic\ \ to mist will be allowed by default, if dhcpd is enabled, we'll make sure\ \ it works" properties: allowed_services: description: optionally, services we'll allow example: - icmp - ssh items: type: string type: array custom: items: $ref: '#/components/schemas/protect_re_custom' type: array enabled: default: false description: "when enabled, all traffic that is not essential to our operation\ \ will be dropped\ne.g. ntp / dns / traffic to mist will be allowed by\ \ default\n if dhcpd is enabled, we'll make sure it works" type: boolean trusted_hosts: description: optionally, host/subnets we'll allow traffic to/from items: example: 10.242.3.0/24 type: string type: array type: object protect_re_custom: description: custom acls properties: port_range: default: '0' description: matched dst port, "0" means any example: 80,1035-1040 type: string protocol: default: any enum: - tcp - udp - icmp - any type: string subnet: items: example: 10.1.2.0/24 type: string type: array type: object proxy: description: Proxy Configuration to talk to Mist properties: url: example: http://proxy.corp.com:8080/ type: string type: object psk: description: PSK properties: admin_sso_id: description: sso id for psk created from psk portal readOnly: true type: string created_time: readOnly: true type: number email: description: email to send psk expiring notifications to type: string expire_time: default: null description: Expire time for this PSK key (epoch time in seconds). Default `null` (as no expiration) example: 1614990263 nullable: true type: integer expiry_notification_time: description: Number of days before psk is expired. Used as to when to start sending reminder notification when the psk is about to expire type: integer id: format: uuid readOnly: true type: string mac: description: if `usage`==`single`, the mac that this PSK ties to, empty if `auto-binding` type: string max_usage: default: 0 description: For Org PSK Only. Max concurrent users for this PSK key. Default is 0 (unlimited) type: integer modified_time: readOnly: true type: number name: type: string note: type: string notify_expiry: default: false description: If set to true, reminder notification will be sent when psk is about to expire type: boolean notify_on_create_or_edit: description: If set to true, notification will be sent when psk is created or edited type: boolean old_passphrase: description: previous passphrase of the PSK if it has been rotated type: string org_id: $ref: '#/components/schemas/org_id' passphrase: description: passphrase of the PSK (8-63 character or 64 in hex) maxLength: 64 minLength: 8 type: string role: maxLength: 32 minLength: 0 type: string site_id: $ref: '#/components/schemas/site_id' ssid: description: SSID this PSK should be applicable to type: string usage: default: multi enum: - multi - single title: psk_usage type: string vlan_id: description: VLAN for this PSK key type: integer required: - name - passphrase - ssid type: object psk_portal: properties: auth: default: sso description: 'Note: `sponsor` not yet available' enum: - sso - sponsor title: psk_portal_auth type: string bg_image_url: type: string cleanup_psk: default: false description: used to cleanup exited psk when portal delete or ssid changed type: boolean created_time: readOnly: true type: integer expire_time: description: unit min type: integer expiry_notification_time: description: Number of days before psk is expired. Used as to when to start sending reminder notification when the psk is about to expire type: integer hide_psks_created_by_other_admins: default: false description: only if `type`==`admin` type: boolean id: readOnly: true type: string max_usage: default: 0 description: '`max_usage`==`0` means unlimited' type: integer modified_time: readOnly: true type: integer name: type: string notify_expiry: description: If set to true, reminder notification will be sent when psk is about to expire type: boolean notify_on_create_or_edit: default: false type: boolean org_id: $ref: '#/components/schemas/org_id' passphrase_rules: properties: alphaberts_enabled: default: true type: boolean length: maximum: 63 minimum: 8 type: integer max_length: description: 'for valid `max_length` and `min_length`, passphrase size is set randomly from that range. - if `max_length` and/or `min_length` are invalid, passphrase size is equal to `length` parameter - if `length` is not set or is invalid, default passphrase size is 8. valid `max_length`, `min_length`, `length` should be an integer between 8 to 63. Also, `max_length` > `min_length`' maximum: 63 minimum: 8 type: integer min_length: description: 'for valid `max_length` and `min_length`, passphrase size is set randomly from that range. - if `max_length` and/or `min_length` are invalid, passphrase size is equal to `length` parameter - if `length` is not set or is invalid, default passphrase size is 8. valid `max_length`, `min_length`, `length` should be an integer between 8 to 63. Also, `max_length` > `min_length`' maximum: 63 minimum: 8 type: integer numerics_enabled: default: true type: boolean symbols: example: ()[]{}_%@#&$ type: string symbols_enabled: default: true type: boolean title: psk_portal_passphrase_rules type: object required_fields: description: what information to ask for (email is required by default) items: type: string type: array role: type: string ssid: description: intended SSID type: string sso: description: if `auth`==`sso` properties: allowed_roles: description: // allowed roles for accessing psk portal, if none, any role is permitted items: type: string type: array idp_cert: type: string idp_sign_algo: type: string idp_sso_url: type: string issuer: type: string nameid_format: type: string role_mapping: additionalProperties: type: string description: Property key is the role name, property value is the SSO Attribute type: object use_sso_role_for_psk_role: description: if enabled, the `role` above will be ignored type: boolean title: psk_portal_sso type: object template_url: description: UI customization type: string thumbnail_url: type: string type: description: for personal psk portal enum: - byod - admin title: psk_portal_type type: string vlan_id: type: integer required: - name - ssid type: object psks: items: $ref: '#/components/schemas/psk' type: array uniqueItems: true psks_import_file: properties: file: format: binary type: string type: object radius_acct_server: properties: host: description: ip / hostname of RADIUS server example: 1.2.3.4 type: string keywrap_enabled: type: boolean keywrap_format: enum: - hex - ascii example: hex type: string keywrap_kek: example: '1122334455' type: string keywrap_mack: example: '1122334455' type: string port: default: 1813 description: Acct port of RADIUS server example: 1813 type: integer secret: description: secret of RADIUS server example: testing123 type: string required: - host - port - secret type: object radius_auth_server: description: Authentication Server properties: host: description: ip / hostname of RADIUS server example: 1.2.3.4 type: string keywrap_enabled: type: boolean keywrap_format: enum: - hex - ascii type: string keywrap_kek: example: '1122334455' type: string keywrap_mack: example: '1122334455' type: string port: default: 1812 description: Auth port of RADIUS server example: 1812 type: integer secret: description: secret of RADIUS server example: testing123 type: string required: - host - port - secret type: object radsec: description: Radsec settings properties: coa_enabled: default: false type: boolean enabled: type: boolean idle_timeout: example: 60 type: integer mxcluster_ids: description: 'To use Org mxedges when this WLAN does not use mxtunnel, specify their mxcluster_ids. Org mxedge(s) identified by mxcluster_ids' items: example: 572586b7-f97b-a22b-526c-8b97a3f609c4 format: uuid type: string type: array proxy_hosts: description: 'default is site.mxedge.radsec.proxy_hosts which must be a superset of all wlans[*].radsec.proxy_hosts when radsec.proxy_hosts are not used, tunnel peers (org or site mxedges) are used irrespective of use_site_mxedge' items: example: mxedge1.local type: string type: array server_name: description: name of the server to verify (against the cacerts in Org Setting). Only if not Mist Edge. example: radsec.abc.com type: string servers: description: List of Radsec Servers. Only if not Mist Edge. items: properties: host: example: 1.1.1.1 type: string port: example: 1812 type: integer type: object type: array uniqueItems: true use_mxedge: description: use mxedge(s) as radsecproxy type: boolean use_site_mxedge: default: false description: To use Site mxedges when this WLAN does not use mxtunnel type: boolean type: object recaptcha: properties: flavor: enum: - google - hcaptcha type: string required: type: boolean sitekey: type: string type: object recaptcha_flavor: default: google description: flavor of the captcha enum: - hcaptcha - google example: hcaptcha type: string recover: properties: email: example: test@mistsys.com maxLength: 64 type: string recaptcha: description: see https://www.google.com/recaptcha/ type: string recaptcha_flavor: $ref: '#/components/schemas/recaptcha_flavor' required: - email type: object remote_syslog: properties: archive: properties: files: example: 20 type: integer size: example: 5m type: string type: object console: properties: contents: items: $ref: '#/components/schemas/remote_syslog_content' type: array type: object enabled: default: false type: boolean files: items: properties: archive: properties: files: example: 10 type: integer size: example: 5m type: string type: object contents: items: $ref: '#/components/schemas/remote_syslog_content' type: array explicit_priority: type: boolean file: example: file-name title: snmp_file type: string match: example: '!alarm|ntp|errors.crc_error[chan]' type: string structured_data: type: boolean title: syslog_file_config type: object type: array network: description: if source_address is configured, will use the vlan firstly otherwise use source_ip example: default type: string send_to_all_servers: default: false type: boolean servers: example: - facility: config host: syslogd.internal port: 514 protocol: udp severity: info tag: '' items: properties: contents: items: $ref: '#/components/schemas/remote_syslog_content' type: array explicit_priority: type: boolean facility: enum: - any - authorization - conflict-log - change-log - config - daemon - dfc - kernel - interactive-commands - ftp - firewall - external - pfe - ntp - security - user example: config type: string host: example: syslogd.internal type: string match: example: '!alarm|ntp|errors.crc_error[chan]' type: string port: default: 514 type: integer protocol: default: udp enum: - udp - tcp type: string routing_instance: example: routing-instance-name type: string severity: enum: - any - alert - emergency - critical - warning - info - notice - error type: string source_address: description: if source_address is configured, will use the vlan firstly otherwise use source_ip type: string structured_data: type: boolean tag: type: string title: syslog_server type: object type: array time_format: enum: - millisecond - year - year millisecond example: millisecond type: string users: items: properties: contents: items: $ref: '#/components/schemas/remote_syslog_content' type: array match: example: '"!alarm|ntp|errors.crc_error[chan]"' type: string user: example: '*' type: string title: remote_syslog_user type: object type: array type: object remote_syslog_content: properties: facility: enum: - any - authorization - conflict-log - change-log - config - daemon - dfc - kernel - interactive-commands - ftp - firewall - external - pfe - ntp - security - user example: config type: string severity: enum: - any - alert - emergency - critical - warning - info - notice - error example: warning type: string title: remote_syslog_content type: object replace_device: properties: discard: description: "attributes that you don\u2019t want to copy" items: type: string type: array inventory_mac: description: MAC Address of the inventory that will be replacing the old one. It has to be claimed and unassigned example: 5c5b35000301 type: string mac: description: MAC Address of the device to replace example: 5c5b35000101 type: string site_id: description: the site_id of the device to be replaced example: 4ac1dcf4-9d8b-7211-65c4-057819f0862b type: string tunterm_port_config: $ref: '#/components/schemas/tunterm_port_config' response_inventory: properties: added: items: example: 6JG8E-PTFV2-A9Z2N type: string type: array duplicated: items: example: DVH4V-SNMSZ-PDXBR type: string type: array error: items: example: PO1025335ohoh type: string type: array inventory_added: items: properties: mac: example: 5c5b35000018 type: string magic: example: 6JG8EPTFV2A9Z2N type: string model: example: AP41 type: string serial: example: FXLH2015150025 type: string type: example: ap type: string required: - mac - magic - model - serial - type type: object minItems: 1 type: array uniqueItems: true inventory_duplicated: items: properties: mac: example: 5c5b35000012 type: string magic: example: DVH4VSNMSZPDXBR type: string model: example: AP41 type: string serial: example: FXLH2015150027 type: string type: example: ap type: string required: - mac - magic - model - serial - type type: object minItems: 1 type: array uniqueItems: true readOnly: true type: object rf_client_type: enum: - sdkclient - client - asset type: string rf_diag: description: RF Diag properties: duration: default: 180 description: recording length in seconds, max is 180. Default value is also 180. maximum: 180 type: integer mac: description: if `type`==`client` or `asset`, mac of the device type: string name: description: name of the recording, the name of the sdk client would be a good default choice type: string sdkclient_id: description: if `type`==`sdkclient`, sdkclient_id of this recording format: uuid type: string type: $ref: '#/components/schemas/rf_client_type' required: - name - type type: object rf_diag_info: description: RF Diag response items: properties: asset_id: description: if `type`==`asset`, id of the asset format: uuid type: string asset_name: description: if `type`==`asset`, name of the asset type: string client_name: description: if `type`==`client`, hostname of the client type: string duration: description: recording length in seconds, max is 120 type: integer end_time: description: timestamp of end of recording type: integer frame_count: description: Number of frames in the output type: integer id: readOnly: true type: string mac: description: if `type`==`client` or `asset`, mac of the device type: string map_id: format: uuid type: string name: type: string next: description: Optional. id of the next recoding if present. Only valid for site survey. type: string raw_events: description: URL to a JSON file that contains array of raw location diag events type: string ready: description: "whether it\u2019s ready for playback" type: boolean sdkclient_id: description: if `type`==`sdkclient`, sdkclient_id of this recording format: uuid type: string sdkclient_name: description: if `type`==`sdkclient`, name of the sdkclient type: string sdkclient_uuid: description: if `type`==`sdkclient`, device_id of sdkclient format: uuid type: string start_time: description: timestamp of the recording (the start) type: integer type: $ref: '#/components/schemas/rf_client_type' url: description: URL to a JSON file that contains an array of frames, each frame is the same format type: string required: - name - type - map_id - url - raw_events - start_time - end_time - duration - frame_count - ready type: object minItems: 1 type: array uniqueItems: true rf_template: description: RF Template properties: ant_gain_24: type: integer ant_gain_5: type: integer band_24: $ref: '#/components/schemas/ap_radio_band' band_24_usage: default: '24' description: If `band_24_usage`==`5`, by default, `band_5` properties is used, if specific channel/bandwidth/power/... If desired, use `band_5_on_24_radio` enum: - '24' - '5' - auto type: string band_5: $ref: '#/components/schemas/ap_radio_band' band_5_on_24_radio: $ref: '#/components/schemas/ap_radio_band' country_code: description: optional, country code to use. If specified, this gets applied to all sites using the RF Template type: string created_time: readOnly: true type: number for_site: readOnly: true type: boolean id: format: uuid readOnly: true type: string model_specific: additionalProperties: properties: band_24: $ref: '#/components/schemas/ap_radio_band' band_5: $ref: '#/components/schemas/ap_radio_band' type: object description: overwrites for a specific model. If a band is specified, it will shadow the default. Property key is the model name (e.g. "AP63") type: object modified_time: readOnly: true type: number name: description: The name of the RF template type: string org_id: $ref: '#/components/schemas/org_id' scanning_enabled: description: whether scanning radio is enabled type: boolean site_id: $ref: '#/components/schemas/site_id' required: - name type: object root_password: properties: root_password: minLength: 1 type: string required: - root_password type: object rrm: description: RRM properties: band_24: additionalProperties: $ref: '#/components/schemas/rrm_band' description: proposal on band 2.4G, key is ap_id, value is the proposal type: object band_24_metric: $ref: '#/components/schemas/rrm_band_metric' band_5: additionalProperties: $ref: '#/components/schemas/rrm_band' description: proposal on band 5G, key is ap_id, value is the proposal type: object band_5_metric: $ref: '#/components/schemas/rrm_band_metric' band_6: additionalProperties: $ref: '#/components/schemas/rrm_band' description: proposal on band 6G, key is ap_id, value is the proposal type: object band_6_metric: $ref: '#/components/schemas/rrm_band_metric' rftemplate: $ref: '#/components/schemas/rf_template' rftemplate_id: format: uuid type: string rftemplate_name: type: string status: enum: - unknown - updating - ready title: rrm_status type: string timestamp: description: time where the status was updated type: number required: - band_24 - band_24_metric - band_5 - band_5_metric - rftemplate - rftemplate_id - rftemplate_name - status - timestamp type: object rrm_band: properties: bandwidth: $ref: '#/components/schemas/dot11_bandwidth' channel: description: proposed channel type: integer curr_bandwidht: description: current bandwidth enum: - 20 - 40 - 80 - 160 type: integer curr_channel: description: current channel type: integer curr_power: description: current tx power type: integer curr_usage: description: current radio band minLength: 1 type: string power: description: proposed tx power type: integer usage: description: proposed radio band minLength: 1 type: string type: object rrm_band_metric: properties: cochannel_neighbors: description: average number of co-channel neighbors type: number density: description: defined by how APs can hear from one and another, 0 - 1 (everyone can hear everyone) maximum: 1 minimum: 0 type: number interferences: additionalProperties: properties: radar: type: number type: object description: Property key is the channel number example: '149': radar: 0.3 '153': radar: 0.2 type: object neighbors: description: average number of neighbors type: number noise: description: average noise in dBm type: number required: - cochannel_neighbors - density - neighbors - noise type: object rssi_zone: description: RSSI Zone properties: created_time: readOnly: true type: number devices: description: List of devices and the respective RSSI values to be considered in the zone items: properties: device_id: example: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 format: uuid type: string rssi: description: RSSI threshold example: 0 type: integer required: - device_id - rssi type: object type: array uniqueItems: true for_site: readOnly: true type: boolean id: example: b069b358-4c97-5319-1f8c-7c5ca64d6ab1 format: uuid readOnly: true type: string modified_time: readOnly: true type: number name: description: The name of the zone example: zone name type: string org_id: $ref: '#/components/schemas/org_id' site_id: $ref: '#/components/schemas/site_id' required: - devices type: object rssi_zones: items: $ref: '#/components/schemas/rssi_zone' type: array sdk_invite_sms: properties: number: type: string required: - number type: object sdkclient_stats: description: SDK Client statistics properties: id: example: de87bf9d-183f-e383-cc68-6ba43947d403 format: uuid type: string last_seen: description: last seen timestamp example: 1428939600 type: number map_id: description: map_id of the sdk client (if known), or null example: 845a23bf-bed9-e43c-4c86-6fa474be7ae5 format: uuid nullable: true type: string name: description: name of the sdk client (if provided) example: John's iPhone type: string network_connection: $ref: '#/components/schemas/sdkclient_stats_network_connection' uuid: description: uuid of the sdk client example: ada72f8f-1643-e5c6-94db-f2a5636f1a64 format: uuid type: string x: description: x (in pixels) of user location on the map (if known) example: 60 type: number y: description: y (in pixels) of user location on the map (if known) example: 80 type: number required: - id - uuid - last_seen - network_connection type: object sdkclient_stats_array: items: $ref: '#/components/schemas/sdkclient_stats' type: array sdkclient_stats_network_connection: description: various network connection info for the SDK client (if known, else omitted), with RSSI in dBm, and signal level as properties: mac: type: string rssi: type: number signal_level: type: number type: type: string required: - type - rssi - mac - signal_level type: object sdkclient_wireless_stats: description: SDK Client Details statistics properties: id: format: uuid type: string last_seen: description: last seen timestamp type: number map_id: description: map_id of the sdk client (if known), or null format: uuid nullable: true type: string name: description: name of the sdk client (if provided) type: string network_connection: $ref: '#/components/schemas/sdkclient_stats_network_connection' uuid: description: uuid of the sdk client format: uuid type: string vbeacons: description: "list of beacon_id\u2019s of the sdk client is in and since\ \ when (if known)" items: properties: id: format: uuid type: string since: type: number required: - id - since type: object minItems: 1 title: sdkclient_wireless_stats_vbeacons type: array uniqueItems: true x: description: x (in pixels) of user location on the map (if known) type: number y: description: y (in pixels) of user location on the map (if known) type: number zones: description: "list of zone_id\u2019s of the sdk client is in and since when\ \ (if known)" items: properties: id: format: uuid type: string since: type: number required: - id - since type: object minItems: 1 title: sdkclient_wireless_stats_zone type: array uniqueItems: true required: - id - uuid - last_seen type: object sdkinvite: description: SDK invite properties: created_time: readOnly: true type: number enabled: default: true type: boolean expire_time: type: integer id: format: uuid readOnly: true type: string modified_time: readOnly: true type: number name: description: name, will show up in mobile type: string org_id: $ref: '#/components/schemas/org_id' quota: description: number of time this invite can be used type: integer quota_limited: default: false description: whether quota limiting is enabled type: boolean site_id: $ref: '#/components/schemas/site_id' required: - name type: object sdktemplate: description: SDK Template properties: bg_image: type: string btn_flr_bgcolor: type: string created_time: readOnly: true type: number default: description: whether this is the default template when there are multiple templates type: boolean for_site: readOnly: true type: boolean header_txt: type: string id: format: uuid readOnly: true type: string modified_time: readOnly: true type: number name: description: name for identification purpose type: string org_id: $ref: '#/components/schemas/org_id' search_txtcolor: type: string site_id: $ref: '#/components/schemas/site_id' welcome_msg: type: string required: - name type: object secpolicy: description: "Security Policy is designed to audit / catch discripancies between\ \ \u201Cwhat\u2019s intended to be running\u201D versus \u201Cwhat\u2019s\ \ actually running\u201D in a network. Many big organizations have separated\ \ Security and IT team (for good reasons). Each site can be assigned a security\ \ policy. Whenever an AP is provisioned, the configuration will be checked\ \ against the security policy. Any violations will be flagged in Device Config\ \ History where you can search for the when and where the violation occurs." properties: created_time: readOnly: true type: number id: format: uuid readOnly: true type: string modified_time: readOnly: true type: number name: type: string org_id: $ref: '#/components/schemas/org_id' site_id: $ref: '#/components/schemas/site_id' wlans: items: $ref: '#/components/schemas/wlan' minItems: 1 type: array uniqueItems: true type: object service: description: WIP properties: addresses: description: if `type`==`custom`, ip subnets items: type: string type: array app_caetgories: description: 'when `type`==`app_caetgories` list of application categories are available through /api/v1/const/app_categories' example: - Sports items: type: string type: array app_subcategories: description: 'when `type`==`app_caetgories` list of application categories are available through /api/v1/const/app_subcategories' example: - Shopping items: type: string type: array apps: description: "when `type`==`apps`\nlist of applications are available through:\n\ \ - /api/v1/const/applications,\n - /api/v1/const/gateway_applications\n\ \ - /insight/top-app-by-bytes?wired=true" example: - office365 - okta items: type: string type: array created_time: readOnly: true type: integer description: type: string dscp: description: when `traffic_type`==`custom` type: integer failover_policy: default: revertable enum: - revertable - non-revertable title: service_failover_policy type: string hostnames: description: if `type`==`custom`, web filtering items: example: example.com type: string type: array id: format: uuid type: string max_jitter: description: when `traffic_type`==`custom`, for uplink selection type: integer max_latency: description: when `traffic_type`==`custom`, for uplink selection type: string max_loss: description: when `traffic_type`==`custom`, for uplink selection type: integer modified_time: readOnly: true type: integer name: type: string org_id: $ref: '#/components/schemas/org_id' sle_enabled: default: false description: whether to enable measure SLE type: boolean specs: description: 'when `type`==`addresses` or `type`==`hostnames` if `type`==`custom`, specs is optional. If it doesn''t exist, http and https is assumed.' items: properties: port_range: example: 8080,8443 type: string protocol: default: any description: '`https`/ `tcp` / `udp` / `icmp` / `gre` / `any` / `:protocol_number`. `protocol_number` is between 1-254' example: tcp type: string title: service_spec type: object type: array uniqueItems: true ssr_relaxed_tcp_state_enforcement: default: false type: boolean traffic_class: default: best_effort description: when `traffic_type`==`custom` enum: - best_effort - high - medium - low title: service_traffic_class type: string traffic_type: default: data_best_effort description: 'values from `/api/v1/consts/traffic_types` * when `type`==`apps`, we''ll choose traffic_type automatically * when `type`==`addresses` or `type`==`hostnames`, you can provide your own settings (optional)' type: string type: default: custom enum: - apps - app_categories - custom - urls title: service_type type: string urls: description: 'when `type`==`urls no need for spec as URL can encode the ports being used`' items: type: string type: array type: object service_packets: description: list of service data packets heard from the asset/ beacon items: properties: service_data: description: ata from service data type: string service_uuid: description: UUID from service data type: string title: service_packet type: object type: array service_path_event: properties: mac: example: 90ec7734b374 type: string model: example: SSR120 type: string org_id: $ref: '#/components/schemas/org_id' policy: example: INTERNET type: string port_id: example: ge-1/0/6 type: string site_id: $ref: '#/components/schemas/site_id' text: example: Peer Path Down type: string timestamp: example: 1697037328.651775 type: number type: example: GW_SERVICE_PATH_REMOVE type: string version: example: 6.1.5-14.lts type: string vpn_name: example: Syracuse_HUB type: string vpn_path: example: Syracuse_HUB-Wan0 type: string type: object service_policies: items: $ref: '#/components/schemas/service_policy' type: array service_policy: properties: action: $ref: '#/components/schemas/allow_deny' appqoe: description: For SRX Only properties: enabled: default: false type: boolean type: object ewf: items: properties: alert_only: type: boolean block_message: example: Access to this URL Category has been blocked type: string enabled: default: false type: boolean profile: default: strict enum: - strict - standard title: service_policy_ewf_rule_profile type: string title: service_policy_ewf_rule type: object type: array idp: $ref: '#/components/schemas/idp_config' local_routing: default: false description: access within the same VRF type: boolean name: type: string path_preferences: description: 'by default, we derive all paths available and use them optionally, you can customize by using `path_preference`' type: string servicepolicy_id: description: used to link servicepolicy defined at org level and overwrite some attributes format: uuid type: string services: items: type: string type: array tenants: items: type: string type: array type: object simple_alert: description: 'Set of heuristic rules will be enabled when marvis subscription is not available. It triggers when, in a Z minute window, there are more than Y distinct client encountring over X failures' properties: arp_failure: properties: client_count: default: 10 type: integer duration: default: 20 description: failing within minutes maximum: 60 minimum: 5 type: integer incident_count: default: 10 type: integer type: object dhcp_failure: properties: client_count: default: 10 type: integer duration: default: 10 description: failing within minutes maximum: 60 minimum: 5 type: integer incident_count: default: 20 type: integer type: object dns_failure: properties: client_count: default: 20 type: integer duration: default: 10 description: failing within minutes maximum: 60 minimum: 5 type: integer incident_count: default: 30 type: integer type: object type: object site: description: Site properties: address: description: full address of the site example: 1601 S. Deanza Blvd., Cupertino, CA, 95014 type: string alarmtemplate_id: description: Alarm Template ID, this takes precedence over the Org-level alarmtemplate_id example: 684dfc5c-fe77-2290-eb1d-ef3d677fe168 format: uuid nullable: true type: string aptemplate_id: description: AP Template ID, used by APs example: 16bdf952-ade2-4491-80b0-85ce506c760b type: string country_code: description: country code for the site (for AP config generation), in two-character example: US type: string created_time: readOnly: true type: number gatewaytemplate_id: description: Gateway Template ID, used by gateways example: 6f9b2e75-9b2f-b5ae-81e3-e14c76f1a90f format: uuid nullable: true type: string id: format: uuid readOnly: true type: string latlng: $ref: '#/components/schemas/lat_lng' modified_time: readOnly: true type: number name: example: Mist Office type: string networktemplate_id: description: Network Template ID, this takes precedence over Site Settings example: 12ae9bd2-e0ab-107b-72e8-a7a005565ec2 format: uuid nullable: true type: string notes: description: optional, any notes about the site type: string org_id: $ref: '#/components/schemas/org_id' rftemplate_id: description: RF Template ID, this takes precedence over Site Settings example: bb8a9017-1e36-5d6c-6f2b-551abe8a76a2 format: uuid nullable: true type: string secpolicy_id: description: SecPolicy ID example: 3bcd0beb-5d0a-4cbd-92c1-14aea91e98ef format: uuid nullable: true type: string sitegroup_ids: description: sitegroups this site belongs to items: format: uuid type: string type: array sitetemplate_id: description: Site Template ID format: uuid type: string timezone: description: Timezone the site is at example: America/Los_Angeles type: string required: - name type: object site_auto_upgrade: description: Auto Upgrade Settings properties: custom_versions: additionalProperties: type: string description: custom versions for different models. Property key is the model name (e.g. "AP41") example: AP21: stable AP41: 0.1.5135 AP61: 0.1.7215 type: object day_of_week: $ref: '#/components/schemas/day_of_week' enabled: default: false description: whether auto upgrade should happen (Note that Mist may auto-upgrade if the version is not supported) type: boolean time_of_day: description: any / HH:MM (24-hour format), upgrade will happen within up to 1-hour from this time example: '12:00' type: string version: default: stable description: desired version enum: - beta - stable - custom example: beta type: string type: object site_engagement: description: "**Note**: if hours does not exist, it\u2019s treated as everyday\ \ of the week, 00:00-23:59. Currently we don\u2019t allow multiple ranges\ \ for the same day\n\n**Note**: default values for `dwell_tags`: passerby\ \ (1,300) bounce (301, 14400) engaged (14401, 28800) stationed (28801, 42000)\n\ \n**Note**: default values for `dwell_tag_names`: passerby = \u201CPasserby\u201D\ , bounce = \u201CVisitor\u201D, engaged = \u201CAssociates\u201D, stationed\ \ = \u201CAssets\u201D" properties: dwell_tag_names: properties: bounce: example: Bounce type: string engaged: example: Engaged type: string passerby: example: Passer By type: string stationed: example: Stationed type: string required: - bounce - engaged - passerby - stationed type: object dwell_tags: description: add tags to visits within the duration (in seconds), available tags (passerby, bounce, engaged, stationed) properties: bounce: example: 'null' nullable: true type: string engaged: example: 300-14400 nullable: true type: string passerby: example: 'null' nullable: true type: string stationed: example: 14400-43200 nullable: true type: string type: object hours: description: "hours of operation filter, the available days (mon, tue, wed,\ \ thu, fri, sat, sun). \n\n**Note**: If the dow is not defined then it\u2019\ s treated as 00:00-23:59." properties: fri: example: 09:00-17:00 type: string mon: example: 09:00-17:00 type: string sat: example: 09:00-12:00 type: string sun: example: 09:00-12:00 type: string thu: example: 09:00-17:00 type: string tue: example: 09:00-17:00 type: string wed: example: 09:00-17:00 type: string type: object max_dwell: default: 43200 description: max time, default is 43200(12h), max is 68400 (18h) example: 43200 maximum: 68400 minimum: 1 type: integer min_dwell: description: min time minimum: 0 type: integer required: - dwell_tag_names type: object site_id: example: 441a1214-6928-442a-8e92-e1d34b8ec6a6 format: uuid readOnly: true type: string site_mxtunnel: description: Site MxTunnel properties: additional_mxtunnels: additionalProperties: properties: clusters: description: for AP, how to connect to tunterm or radsecproxy example: - name: primary, tunterm_hosts: - mxedge1 - mxedge2.local items: properties: name: type: string tunterm_hosts: items: type: string type: array type: object type: array hello_interval: default: 60 description: in seconds, used as heartbeat to detect if a tunnel is alive. AP will try another peer after missing N hellos specified by hello_retries example: 60 maximum: 300 minimum: 1 type: integer hello_retries: default: 7 example: 3 maximum: 30 minimum: 2 type: integer protocol: enum: - ip - udp example: udp type: string vlan_ids: example: - 300 - 310 - 320 items: type: integer type: array type: object type: object ap_subnets: description: list of subnets where we allow AP to establish Mist Tunnels from items: example: 0.0.0.0/0 type: string type: array auto_preemption: properties: day_of_week: $ref: '#/components/schemas/day_of_week' enabled: default: false type: boolean time_of_day: example: '12:00' type: string type: object clusters: description: for AP, how to connect to tunterm or radsecproxy example: - name: primary, tunterm_hosts: - mxedge1 - mxedge2.local items: properties: name: type: string tunterm_hosts: items: type: string type: array type: object type: array created_time: readOnly: true type: number enabled: type: boolean for_site: readOnly: true type: boolean hello_interval: default: 60 description: in seconds, used as heartbeat to detect if a tunnel is alive. AP will try another peer after missing N hellos specified by hello_retries example: 60 maximum: 300 minimum: 1 type: integer hello_retries: default: 7 example: 3 maximum: 30 minimum: 2 type: integer hosts: description: hostnames or IPs where a Mist Tunnel will use as the Peer (i.e. they are reachable from AP) items: type: string type: array id: format: uuid readOnly: true type: string modified_time: readOnly: true type: number mtu: default: 0 description: 0 to enable PMTU, 552-1500 to start PMTU with a lower MTU example: 1100 maximum: 1500 minimum: 0 type: integer org_id: $ref: '#/components/schemas/org_id' protocol: enum: - udp - ip example: udp type: string radsec: properties: acct_servers: items: $ref: '#/components/schemas/radius_acct_server' type: array auth_servers: items: $ref: '#/components/schemas/radius_auth_server' type: array enabled: default: false type: boolean use_mxedge: type: boolean type: object site_id: $ref: '#/components/schemas/site_id' vlan_ids: description: list of vlan_ids that will be use example: - 3 - 5 - 6 - 7-9 items: anyOf: - type: integer - type: string type: array type: object site_occupancy_analytics: description: Occupancy Analytics settings properties: assets_enabled: default: false description: indicate whether named BLE assets should be included in the zone occupancy calculation type: boolean clients_enabled: default: true description: indicate whether connected WiFi clients should be included in the zone occupancy calculation type: boolean min_duration: default: 3000 description: minimum duration example: 3000 type: integer sdkclients_enabled: default: false description: indicate whether SDK clients should be included in the zone occupancy calculation type: boolean unconnected_clients_enabled: default: false description: indicate whether unconnected WiFi clients should be included in the zone occupancy calculation type: boolean type: object site_rogue: description: Rogue site settings properties: enabled: default: false description: whether or not rogue detection is enabled type: boolean honeypot_enabled: default: false description: whether or not honeypot detection is enabled type: boolean min_duration: default: 10 description: minimum duration for a bssid to be considered rogue example: 10 maximum: 59 type: integer min_rssi: default: -80 description: "minimum RSSI for an AP to be considered rogue (ignoring APs\ \ that\u2019s far away)" example: -80 minimum: -85 type: integer whitelisted_bssids: description: 'list of BSSIDs to whitelist. Ex: "cc-:8e-:6f-:d4-:bf-:16", "cc-8e-6f-d4-bf-16", "cc-73-*", "cc:82:*"' example: - NeighborSSID items: type: string type: array whitelisted_ssids: description: list of SSIDs to whitelist example: - cc:8e:6f:d4:bf:16 - cc-8e-6f-d4-bf-16 - cc-73-* - cc:82:* items: type: string type: array type: object site_setting: description: Site Settings properties: additional_config_cmds: description: additional CLI commands to override additional CLIs from the netwtemplate items: type: string type: array analytic: properties: enabled: default: false description: enable Advanced Analytic feature (using SUB-ANA license) type: boolean title: site_setting_analytic type: object ap_matching: properties: enabled: type: boolean rules: example: - eth1,eth2: port_vlan_id: 1 vlan_ids: - 1 - 10 - 50 items: properties: match_model: example: AP12 type: string name: example: AP12 type: string port_config: additionalProperties: $ref: '#/components/schemas/ap_port_config' description: Property key is the interface(s) (e.g. "eth1,eth2") type: object type: object type: array title: site_setting_ap_matching type: object ap_port_config: properties: model_specific: additionalProperties: additionalProperties: $ref: '#/components/schemas/ap_port_config' description: Property key is the interface(s) (e.g. "eth1,eth2") type: object description: Property key is the AP model (e.g "AP32") example: AP32: eth1,eth2: port_vlan_id: 1 vlan_ids: - 1 - 10 - 50 type: object type: object auto_placement: description: if we're able to determine its x/y/orientation, this will be populated properties: orientation: example: 45 type: number x: example: 30 type: number y: example: 60 type: number title: site_setting_auto_placement type: object auto_preemption: $ref: '#/components/schemas/auto_preemption' auto_upgrade: $ref: '#/components/schemas/site_auto_upgrade' blacklist_url: example: https://papi.s3.amazonaws.com/blacklist/xxx... readOnly: true type: string ble_config: $ref: '#/components/schemas/ap_ble' config_auto_revert: default: false description: whether to enable ap auto config revert type: boolean created_time: readOnly: true type: number critical_url_monitoring: description: you can define some URLs that's critical to site operaitons the latency will be captured and considered for site health properties: enabled: default: true type: boolean monitors: items: properties: url: example: http://50.1.3.5:8080 type: string vlan_id: default: 1 type: integer type: object type: array title: site_setting_critical_url_monitoring type: object device_updown_threshold: default: 0 description: sending AP_DISCONNECTED event in device-updowns only if AP_CONNECTED is not seen within the threshold, in minutes example: 0 maximum: 30 minimum: 0 type: integer dns_servers: description: list of NTP servers items: type: string type: array dns_suffix: description: list of NTP servers items: type: string type: array enable_channel_144: default: false deprecated: true description: whether to enable channel 144 (some older clients may not support it) type: boolean engagement: $ref: '#/components/schemas/site_engagement' evpn_options: $ref: '#/components/schemas/junos_evpn_options' flags: additionalProperties: type: string description: name/val pair objects for location engine to use type: object for_site: readOnly: true type: boolean gateway: description: 'when Templates are not used, Site Setting holds settings for multiple device types and they can differ to set device-type specific configs, use this whatever is defined under `gateway` will overwrite/shadow the one at root-level' type: object gateway_additional_config_cmds: description: 'additional CLI commands to append to the generated config for gateways **Note**: no check is done' items: type: string type: array gateway_mgmt: $ref: '#/components/schemas/site_setting_gateway_mgmt' id: format: uuid readOnly: true type: string led: $ref: '#/components/schemas/ap_led' modified_time: readOnly: true type: number mxedge: description: site mist edges form a cluster of radsecproxy servers properties: mist_das: $ref: '#/components/schemas/mxedge_das' radsec: $ref: '#/components/schemas/mxcluster_radsec' title: site_setting_mxedge type: object mxedge_mgmt: $ref: '#/components/schemas/mxedge_mgmt' mxtunnels: $ref: '#/components/schemas/site_mxtunnel' networks: additionalProperties: $ref: '#/components/schemas/junos_networks' description: Property key is the network name type: object no_system_defined_port_usages: default: false description: if system-default port usages are not desired - namely, ap / iot / uplink type: boolean ntp_servers: description: list of NTP servers items: type: string title: site_setting_ntp_servers type: array occupancy: $ref: '#/components/schemas/site_occupancy_analytics' org_id: $ref: '#/components/schemas/org_id' ospf_areas: additionalProperties: $ref: '#/components/schemas/junos_ospf_areas' description: OSPF Areas can be configured both in Site Level (Switch/Gateway Template) or Device (Switch/Gateway) Level title: site_setting_ospf_areas type: object persist_config_on_device: default: false description: whether to store the config on AP type: boolean port_mirroring: additionalProperties: $ref: '#/components/schemas/junos_port_mirroring' description: 'Property key is the port mirroring instance name port_mirroring can be added under site/settings. It takes interface and ports as input for ingress, interface as input for egress and can take interface and port as output.' type: object port_usages: additionalProperties: $ref: '#/components/schemas/junos_port_usages' description: Property key is the port usage name properties: dynamic: $ref: '#/components/schemas/dynamic_port_usage' type: object protect_re: $ref: '#/components/schemas/protect_re' proxy: $ref: '#/components/schemas/proxy' radio_config: $ref: '#/components/schemas/ap_radio' radius_config: $ref: '#/components/schemas/junos_radius_config' remote_syslog: $ref: '#/components/schemas/remote_syslog' report_gatt: default: false description: whether AP should periodically connect to BLE devices and report GATT device info (device name, manufacturer name, serial number, battery %, temperature, humidity) type: boolean rogue: $ref: '#/components/schemas/site_rogue' rtsa: description: managed mobility properties: app_waking: default: false type: boolean disable_dead_reckoning: type: boolean disable_pressure_sensor: default: false type: boolean enabled: type: boolean track_asset: default: false description: asset tracking related type: boolean title: site_setting_rtsa type: object simple_alert: $ref: '#/components/schemas/simple_alert' site_id: $ref: '#/components/schemas/site_id' skyatp: properties: enabled: type: boolean send_ip_mac_mapping: type: boolean title: site_setting_skyatp type: object srx_app: properties: enabled: default: false type: boolean title: site_setting_srx_app type: object ssh_keys: description: when limit_ssh_access = true in Org Setting, list of SSH public keys provided by Mist Support to install onto APs (see Org:Setting) items: example: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAA...Wxa6p6UW0ZbcP john@host type: string title: site_setting_ssh_keys type: array ssr: $ref: '#/components/schemas/site_setting_ssr' status_portal: properties: enabled: default: false type: boolean hostnames: items: example: my.misty.com type: string type: array title: site_setting_status_portal type: object switch: description: 'when Templates are not used, Site Setting holds settings for multiple device types and they can differ to set device-type specific configs, use this whatever is defined under `switch` will overwrite/shadow the one at root-level' title: site_setting_switch type: object switch_matching: $ref: '#/components/schemas/switch_matching' switch_mgmt: $ref: '#/components/schemas/config_switch' synthetic_test: properties: vlans: items: properties: custom_test_urls: example: - http://www.abc.com/ - https://10.3.5.1:8080/about items: type: string type: array disabled: default: false description: for some vlans where we don't want this to run type: boolean vlan_ids: example: - 10 - 20 items: type: integer type: array type: object type: array title: site_setting_synthetic_test type: object track_anonymous_devices: default: false description: "whether to track anonymous BLE assets (requires \u2018track_asset\u2019\ \ enabled)" type: boolean tunterm_monitoring: items: $ref: '#/components/schemas/tunterm_monitoring' type: array tunterm_monitoring_disabled: default: false type: boolean tunterm_multicast_config: properties: mdns: properties: enabled: default: false type: boolean vlan_ids: example: - 2 - 3 - 5 items: type: integer type: array title: site_setting_tunterm_multicast_config_mdns type: object multicast_all: default: false type: boolean ssdp: properties: enabled: default: false type: boolean vlan_ids: example: - 2 - 3 - 5 items: type: integer type: array title: site_setting_tunterm_multicast_config_ssdp type: object title: site_setting_tunterm_multicast_config type: object vars: $ref: '#/components/schemas/vars' vna: properties: enabled: default: false description: enable Virtual Network Assistant (using SUB-VNA license). This applied to AP / Switch / Gateway type: boolean title: site_setting_vna type: object vrf_instances: additionalProperties: $ref: '#/components/schemas/junos_vrf_instance' description: Property key is the network name example: guest: extra_routes: 0.0.0.0/0: via: 192.168.31.1 networks: - guest type: object vrrp_groups: additionalProperties: $ref: '#/components/schemas/junos_vrrp_group' description: Property key is the vrrp group type: object vs_instances: additionalProperties: properties: networks: items: example: guest type: string type: array type: object description: 'virtual-switch (for EX92xx and QFX5130) all the networks not included here will be placed in default `evpn_vs` virtual-switch RI Property key is the instance name' type: object wan_vna: properties: enabled: default: false type: boolean title: site_setting_wan_vna type: object watched_station_url: example: https://papi.s3.amazonaws.com/watched_station/xxx... readOnly: true type: string whitelist_url: example: https://papi.s3.amazonaws.com/whitelist/xxx... readOnly: true type: string wids: $ref: '#/components/schemas/site_wids' wifi: $ref: '#/components/schemas/site_wifi' wired_vna: properties: enabled: default: false type: boolean title: site_setting_wired_vna type: object zone_occupancy_alert: $ref: '#/components/schemas/site_zone_occupancy_alert' type: object site_setting_gateway_mgmt: description: Gateway Site settings properties: admin_sshkeys: description: for SSR only, as direct root access is not allowed items: type: string type: array app_probing: properties: apps: items: type: string type: array custom_apps: items: properties: address: description: if `protocol`==`icmp` example: 192.168.1.1 type: string app_type: type: string hostname: description: if `protocol`==`http` example: - www.abc.com items: type: string type: array name: example: pos_app type: string network: example: lan type: string protocol: default: http enum: - http - udp type: string url: description: if `protocol`==`http` example: www.abc.com type: string vrf: example: lan type: string type: object type: array enabled: type: boolean title: site_setting_gateway_mgmt_app_probing type: object app_usage: description: consumes uplink bandwidth, requires WA license type: boolean auto_signature_update: properties: day_of_week: $ref: '#/components/schemas/day_of_week' enable: default: true type: boolean time_of_day: description: optional, Mist will decide the timing type: string type: object config_revert_timer: default: 10 description: he rollback timer for commit confirmed maximum: 30 minimum: 1 type: number probe_hosts: format: ipv4 items: type: string type: array root_password: description: for SRX only type: string security_log_source_address: type: string security_log_source_interface: type: string type: object site_setting_ssr: properties: conductor_hosts: items: example: '"1.1.1.1", "2.2.2.2"' type: string type: array disable_stats: type: boolean type: object site_stats: description: Site statistics properties: address: type: string alarmtemplate_id: format: uuid type: string country_code: type: string created_time: type: number id: format: uuid type: string lat: type: number latlng: $ref: '#/components/schemas/lat_lng' lng: type: number modified_time: type: number msp_id: type: string name: type: string networktemplate_id: format: uuid type: string num_ap: type: integer num_ap_connected: type: integer num_clients: type: integer num_devices: type: integer num_devices_connected: type: integer num_gateway: type: integer num_gateway_connected: type: integer num_switch: type: integer num_switch_connected: type: integer org_id: $ref: '#/components/schemas/org_id' rftemplate_id: format: uuid type: string secpolicy_id: {} sitegroup_ids: items: format: uuid type: string type: array timezone: type: string tzoffset: type: integer required: - address - alarmtemplate_id - country_code - created_time - id - lat - latlng - lng - modified_time - msp_id - name - networktemplate_id - num_ap - num_ap_connected - num_clients - num_devices - num_devices_connected - num_gateway - num_gateway_connected - num_switch - num_switch_connected - org_id - rftemplate_id - sitegroup_ids - timezone - tzoffset type: object site_template: properties: auto_upgrade: properties: day_of_week: $ref: '#/components/schemas/day_of_week' enabled: type: boolean time_of_day: type: string version: type: string type: object name: type: string vars: $ref: '#/components/schemas/vars' type: object site_wids: description: WIDS site settings properties: repeated_auth_failures: properties: duration: description: window where a trigger will be detected and action to be taken (in seconds) example: 60 type: number threshold: description: count of events to trigger type: integer type: object type: object site_wifi: description: Wi-Fi site settings properties: cisco_enabled: default: true type: boolean disable_11k: default: false description: whether to disable 11k type: boolean disable_radios_when_power_constrained: default: false type: boolean enable_arp_spoof_check: default: false description: when proxy_arp is enabled, check for arp spoofing. type: boolean enable_channel_144: default: false deprecated: true description: whether to enable channel 144 (some older clients may not support it) type: boolean enable_shared_radio_scanning: default: true type: boolean enabled: default: true description: enable WIFI feature (using SUB-MAN license) type: boolean locate_connected: default: true description: whether to locate connected clients type: boolean locate_unconnected: default: false description: whether to locate unconnected clients type: boolean mesh_allow_dfs: default: false description: whether to allow Mesh to use DFS channels. For DFS channels, Remote Mesh AP would have to do CAC when scanning for new Base AP, which is slow and will distrupt the connection. If roaming is desired, keep it disabled. type: boolean mesh_enable_crm: default: false description: used to enable/disable CRM type: boolean mesh_enabled: default: false description: whether to enable Mesh feature for the site type: boolean mesh_psk: description: optional passphrase of mesh networking, default is generated randomly nullable: true type: string mesh_ssid: description: optional ssid of mesh networking, default is based on site_id nullable: true type: string proxy_arp: description: default / enabled / disabled enum: - default - enabled - disabled nullable: true type: string type: object site_zone_occupancy_alert: description: Zone Occupancy alert site settings properties: email_notifiers: description: list of email addresses to send email notifications when the alert threshold is reached example: - foo@juniper.net - bar@juniper.net items: type: string type: array enabled: default: false description: indicate whether zone occupancy alert is enabled for the site type: boolean threshold: default: 5 description: sending zone-occupancy-alert webhook message only if a zone stays non-compliant (i.e. actual occupancy > occupancy_limit) for a minimum duration specified in the threshold, in minutes example: 5 maximum: 30 minimum: 0 type: integer type: object sitegroup: description: Sites Group properties: created_time: readOnly: true type: number id: format: uuid readOnly: true type: string modified_time: readOnly: true type: number name: type: string org_id: $ref: '#/components/schemas/org_id' site_ids: items: format: uuid type: string type: array required: - name type: object sitegroup_id: example: 3c708be3-9422-4695-b729-babdbd2f7615 format: uuid type: string sle_classifier: properties: impact: properties: num_aps: type: number num_users: type: number total_aps: type: number total_users: type: number required: - num_users - num_aps - total_users - total_aps type: object interval: type: number name: minLength: 1 type: string samples: properties: degraded: items: type: number type: array duration: items: type: number type: array total: items: type: number type: array required: - duration - total - degraded type: object x_label: minLength: 1 type: string y_label: minLength: 1 type: string required: - name - x_label - y_label - interval - impact type: object sle_classifier_summary: properties: classifier: $ref: '#/components/schemas/sle_classifier' end: type: number failures: items: type: object type: array impact: properties: num_aps: type: number num_users: type: number total_aps: type: number total_users: type: number required: - num_users - num_aps - total_users - total_aps type: object metric: minLength: 1 type: string start: type: number required: - start - end - metric - classifier - impact - failures type: object sle_histogram: properties: data: items: properties: range: items: nullable: true type: number type: array value: type: number required: - value type: object minItems: 1 type: array uniqueItems: true end: type: number metric: minLength: 1 type: string start: type: number x_label: minLength: 1 type: string y_label: minLength: 1 type: string required: - metric - start - end - data - x_label - y_label type: object sle_impact_summary: properties: ap: items: properties: ap_mac: minLength: 1 type: string degraded: type: number duration: type: number name: minLength: 1 type: string total: type: number required: - ap_mac - name - duration - degraded - total title: sle_impact_summary_ap minItems: 1 type: array uniqueItems: true band: items: properties: band: minLength: 1 type: string degraded: type: number duration: type: number name: minLength: 1 type: string total: type: number required: - band - name - duration - degraded - total title: sle_impact_summary_band minItems: 1 type: array uniqueItems: true classifier: type: string device_os: items: properties: degraded: type: number device_os: type: string duration: type: number name: minLength: 1 type: string total: type: number required: - device_os - name - duration - degraded - total title: sle_impact_summary_device_os minItems: 1 type: array uniqueItems: true device_type: items: properties: degraded: type: number device_type: type: string duration: type: number name: minLength: 1 type: string total: type: number required: - device_type - name - duration - degraded - total title: sle_impact_summary_device_type minItems: 1 type: array uniqueItems: true end: type: number failure: type: string metric: minLength: 1 type: string start: type: number wlan: items: properties: degraded: type: number duration: type: number name: minLength: 1 type: string total: type: number wlan_id: minLength: 1 type: string required: - wlan_id - name - duration - degraded - total title: sle_impact_summary_wlan minItems: 1 type: array uniqueItems: true required: - start - end - metric - classifier - failure - ap - wlan - device_os - device_type - band type: object sle_impacted_applications: properties: apps: items: properties: app: type: string degraded: type: integer duration: type: integer name: type: string threshold: type: integer total: type: integer type: object type: array classifier: type: string end: type: integer failure: type: string limit: type: string metric: type: string page: type: integer start: type: integer total_count: type: integer type: object sle_impacted_aps: properties: aps: items: properties: ap_mac: minLength: 1 type: string degraded: type: number duration: type: number name: minLength: 1 type: string total: type: number required: - ap_mac - name - duration - degraded - total minItems: 1 type: array uniqueItems: true classifier: type: string end: type: number failure: type: string limit: type: number metric: minLength: 1 type: string page: type: number start: type: number total_count: type: number required: - start - end - metric - classifier - failure - total_count - page - limit - aps type: object sle_impacted_chassis: properties: chassis: items: properties: chassis: type: string degraded: type: number duration: type: number role: type: string switch_mac: type: string switch_name: type: string total: type: number type: object type: array classifier: type: string end: type: integer failure: type: string limit: type: integer metric: type: string page: type: integer start: type: integer total_count: type: integer type: object sle_impacted_clients: properties: classifier: type: string clients: items: properties: degraded: type: integer duration: type: integer mac: type: string name: type: string switches: items: properties: interfaces: items: type: string type: array switch_mac: type: string switch_name: type: string type: object type: array total: type: integer type: object type: array end: type: integer failure: type: string limit: type: integer metric: type: string page: type: integer start: type: integer total_count: type: integer type: object sle_impacted_gateways: properties: classifier: type: string end: type: integer failure: type: string gateways: items: properties: degraded: type: number duration: type: integer gateway_mac: type: string gateway_model: type: string gateway_version: type: string name: type: string total: type: integer type: object type: array limit: type: integer metric: type: string page: type: integer start: type: integer total_count: type: integer type: object sle_impacted_interfaces: properties: classifier: type: string end: type: integer failure: type: string interfaces: items: properties: degraded: type: number duration: type: number interface_name: type: string switch_mac: type: string switch_name: type: string total: type: number type: object type: array limit: type: integer metric: type: string page: type: integer start: type: integer total_count: type: integer type: object sle_impacted_switches: properties: classifier: type: string end: type: integer failure: type: string limit: type: integer metric: type: string page: type: integer start: type: integer switches: items: properties: degraded: type: number duration: type: number interface: items: type: string type: array name: type: string switch_mac: type: string switch_model: type: string switch_version: type: string total: type: number type: object type: array total_count: type: integer type: object sle_impacted_users: properties: classifier: type: string end: type: number failure: type: string limit: type: number metric: minLength: 1 type: string page: type: number start: type: number total_count: type: number users: items: properties: ap_mac: minLength: 1 type: string ap_name: minLength: 1 type: string degraded: type: number device_os: minLength: 1 type: string device_type: minLength: 1 type: string duration: type: number mac: minLength: 1 type: string name: minLength: 1 type: string ssid: minLength: 1 type: string total: type: number wlan_id: minLength: 1 type: string required: - name - mac - ap_mac - ap_name - wlan_id - ssid - device_type - device_os - duration - degraded - total minItems: 1 type: array uniqueItems: true required: - start - end - metric - classifier - failure - total_count - page - limit - users type: object sle_summary: properties: classifiers: items: $ref: '#/components/schemas/sle_classifier' type: array uniqueItems: true end: type: number events: items: type: object type: array impact: properties: num_aps: type: number num_users: type: number total_aps: type: number total_users: type: number required: - num_users - num_aps - total_users - total_aps type: object sle: properties: interval: type: number name: minLength: 1 type: string samples: properties: degraded: items: type: number type: array total: items: type: number type: array value: items: type: number type: array required: - total - degraded - value type: object x_label: minLength: 1 type: string y_label: minLength: 1 type: string required: - name - x_label - y_label - interval - samples type: object start: type: number required: - start - end - sle - impact - classifiers - events type: object sle_threshold: properties: default: readOnly: true type: number direction: minLength: 1 readOnly: true type: string maximum: type: number metric: minLength: 1 readOnly: true type: string minimum: type: number threshold: minLength: 1 readOnly: true type: string units: minLength: 1 readOnly: true type: string title: sle_threshold type: object sso: description: SSO properties: created_time: readOnly: true type: number custom_logout_url: description: optional, a URL we will redirect the user after user logout from Mist (for some IdP which supports a custom logout URL that is different from SP-initiated SLO process) type: string default_role: description: "default role to assign if there\u2019s no match. By default,\ \ an assertion is treated as invalid when there\u2019s no role matched" type: string domain: type: string id: format: uuid readOnly: true type: string idp_cert: description: if `idp_type`==`saml`. IDP Cert (used to verify the signed response) type: string idp_sign_algo: description: if `idp_type`==`saml`. Signing algorithm for SAML Assertion type: string idp_sso_url: description: IDP Single-Sign-On URL type: string idp_type: default: saml enum: - saml - ldap - oauth - mxedge_proxy type: string ignore_unmatched_roles: description: ignore any unmatched roles provided in assertion. By default, an assertion is treated as invalid for any unmatched role type: boolean issuer: description: if `idp_type`==`saml`. IDP issuer URL type: string ldap_base_dn: description: if `idp_type`==`ldap` type: string ldap_bind_dn: description: if `idp_type`==`ldap` type: string ldap_bind_password: description: if `idp_type`==`ldap` type: string ldap_certs: description: if `idp_type`==`ldap` items: type: string type: array ldap_client_cert: description: if `idp_type`==`ldap` type: string ldap_client_key: description: if `idp_type`==`ldap` type: string ldap_group_attr: description: Only if `ldap_type`==`custom` type: string ldap_group_dn: description: Only if `ldap_type`==`custom` type: string ldap_group_filter: description: Only if `ldap_type`==`custom` type: string ldap_server_hosts: description: if `idp_type`==`ldap` items: type: string type: array ldap_type: default: azure description: if `idp_type`==`ldap` enum: - azure - okta - google - custom type: string ldap_user_filter: description: Only if `ldap_type`==`custom` type: string modified_time: readOnly: true type: number msp_id: format: uuid readOnly: true type: string mxedge_proxy: description: if `idp_type`==`mxedge_proxy`, this requires `mist_nac` to be enabled on the mxcluster properties: acct_servers: items: properties: host: example: 1.2.3.4 type: string port: default: 1813 type: integer secret: example: testing123 type: string type: object type: array auth_servers: items: properties: host: example: 1.2.3.4 type: string port: default: 1812 type: integer secret: example: testing123 type: string type: object type: array mxcluster_id: example: 572586b7-f97b-a22b-526c-8b97a3f609c4 format: uuid type: string operator_name: description: Operator name as Radius attribute while proxying type: string proxy_hosts: description: public hostname/IPs example: - mxedge1.corp.com - 63.1.3.5 items: type: string type: array ssids: description: SSIDs that support eduroam example: - eduroam_test, eduroam_main items: default: edur type: string type: array type: object name: description: name type: string nameid_format: default: email description: if `idp_type`==`saml` enum: - email - unspecified type: string oauth_cc_client_id: description: if `oauth_type`==`okta`, Client Credentials example: e60da615-7def-4c5a-8196-43675f45e174 type: string oauth_cc_client_secret: description: if `oauth_type`==`okta`, oauth_cc_client_secret is RSA private key, of the form "-----BEGIN RSA PRIVATE KEY--...." example: akL8Q~5kWFMVFYl4TFZ3fi~7cMdyDONi6cj01cpH type: string oauth_discovery_url: description: if `idp_type`==`oauth` type: string oauth_ropc_client_id: description: ropc = Resource Owner Password Credentials example: 9ce04c97-b5b1-4ec8-af17-f5ed42d2daf7 type: string oauth_ropc_secret: description: oauth_ropc_client_secret can be empty if oauth_type is azure example: blM9R~6kWFMVFYl4TFZ3fi~8cMdyDONi6cj01dqI type: string oauth_tenant_id: description: if `oauth_type`==`okta`, oauth_tenant_id example: dev-88336535 type: string oauth_type: default: azure enum: - azure - okta type: string org_id: $ref: '#/components/schemas/org_id' role_attr_extraction: description: "optional, custom role attribute parsing scheme\n\nSupported\ \ Role Parsing Schemes\n
NameScheme
cn
  • The\ \ expected role attribute format in SAML Assertion is \u201CCN=cn,OU=ou1,OU=ou2,\u2026\ \u201D
  • CN (the key) is case insensitive and exactly 1 CN is expected\ \ (or the entire entry will be ignored)
  • E.g. if role attribute\ \ is \u201CCN=cn,OU=ou1,OU=ou2\u201D then parsed role value is \u201C\ cn\u201D
" type: string role_attr_from: default: role description: name of the attribute in SAML Assertion to extract role from type: string site_id: $ref: '#/components/schemas/site_id' type: type: string required: - name type: object sso_role_msp: description: SSO Role response properties: created_time: readOnly: true type: number for_site: readOnly: true type: boolean id: format: uuid readOnly: true type: string modified_time: readOnly: true type: number msp_id: format: uuid readOnly: true type: string name: type: string org_id: $ref: '#/components/schemas/org_id' privileges: items: $ref: '#/components/schemas/privilege_msp' minItems: 1 type: array uniqueItems: true site_id: $ref: '#/components/schemas/site_id' required: - name - privileges type: object sso_role_org: description: SSO Role response properties: created_time: readOnly: true type: number for_site: readOnly: true type: boolean id: format: uuid readOnly: true type: string modified_time: readOnly: true type: number msp_id: format: uuid readOnly: true type: string name: type: string org_id: $ref: '#/components/schemas/org_id' privileges: items: $ref: '#/components/schemas/privilege_org' minItems: 1 type: array uniqueItems: true site_id: $ref: '#/components/schemas/site_id' required: - name - privileges type: object ssr_upgrade: properties: channel: $ref: '#/components/schemas/ssr_upgrade_channel' reboot_at: description: eboot start time in epoch seconds, default is start_time, -1 disables reboot type: integer start_time: description: 128T firmware download start time in epoch seconds, default is now, -1 disables download type: integer version: default: stable description: 128T firmware version to upgrade (e.g. 5.3.0-93) minLength: 1 type: string required: - version type: object ssr_upgrade_channel: default: stable description: upgrade channel to follow enum: - stable - beta - alpha type: string ssr_upgrade_multi: properties: channel: $ref: '#/components/schemas/ssr_upgrade_channel' device_ids: description: list of 128T device IDs to upgrade items: format: uuid type: string type: array reboot_at: description: reboot start time in epoch seconds, default is start_time, -1 disables reboot type: integer start_time: description: 128T firmware download start time in epoch seconds, default is now, -1 disables download type: integer strategy: $ref: '#/components/schemas/ssr_upgrade_strategy' version: description: 128T firmware version to upgrade (e.g. 5.3.0-93) minLength: 1 type: string required: - device_ids type: object ssr_upgrade_response: properties: channel: minLength: 1 type: string counts: properties: failed: type: integer queued: type: integer success: type: integer upgrading: type: integer required: - queued - upgrading - success - failed title: ssr_upgrade_response_counts type: object device_type: type: string id: minLength: 1 type: string status: minLength: 1 type: string strategy: minLength: 1 type: string versions: type: object required: - status - strategy - versions - channel - id - counts - device_type type: object ssr_upgrade_strategy: default: big_bang description: '* `big_bang`: upgrade all at once * `serial`: one at a time' enum: - big_bang - serial title: ssr_upgrade_multi_strategy type: string strings: items: type: string type: array uniqueItems: true suppressed_alarm: properties: applies: description: 'if `scope`==`site` Object defines the scope (within the org e.g. whole org, and/or some site-groups, and/or some sites) for which the alarm service has to be suppressed for some `duration`' properties: org_id: description: UUID of the current org (if provided, the alarms will be suppressed at org level) format: uuid type: string site_ids: description: List of UUID of the sites within the org (if provided, the alarms will be suppressed for all the mentioned sites under the org) items: format: uuid type: string type: array sitegroup_ids: description: List of UUID of the site groups within the org (if provided, the alarms will be suppressed for all the sites under those site groups) items: format: uuid type: string type: array type: object duration: default: 3600 description: duration, in seconds. Maximum duration is 86400 * 180 (180 days). 0 is to un-suppress alarms maximum: 15552000 minimum: 0 type: number scheduled_time: description: poch_time in seconds, Default as now, accepted time range is from now to now + 7 days type: integer scope: $ref: '#/components/schemas/suppressed_alarm_scope' type: object suppressed_alarm_scope: default: site description: level of scope enum: - org - site type: string switch: description: 'Switch Configuration. You can configure `port_usages` and `networks` settings at the device level, but most of the time it''s better use the Site Setting to achieve better consistency and be able to re-use the same settings across switches entries defined here will "replace" those defined in Site Setting/Network Template' properties: acl_policies: items: $ref: '#/components/schemas/junos_acl_policies' type: array acl_tags: additionalProperties: $ref: '#/components/schemas/junos_acl_tags' description: ACL Tags to identify traffic source or destination. Key name is the tag name properties: any: description: implicit, cannot override properties: type: default: a type: string type: object type: object additional_config_cmds: items: type: string type: array created_time: readOnly: true type: number deviceprofile_id: format: uuid type: string dhcp_config: $ref: '#/components/schemas/junos_dhcpd' dhcp_snooping: $ref: '#/components/schemas/junos_dhcp_snooping' disable_auto_config: default: false description: for a claimed switch, we control the configs by default. This option (disables the behavior) type: boolean dns_servers: description: Global dns settings. To keep compatibility, dns settings in `ip_config` and `oob_ip_config` will overwrite this setting items: type: string type: array dns_suffix: description: Global dns settings. To keep compatibility, dns settings in `ip_config` and `oob_ip_config` will overwrite this setting items: type: string type: array evpn_config: $ref: '#/components/schemas/junos_evpn_config' extra_routes: $ref: '#/components/schemas/switch_extra_routes' id: format: uuid readOnly: true type: string image1_url: nullable: true type: string image2_url: nullable: true type: string image3_url: nullable: true type: string ip_config: $ref: '#/components/schemas/junos_ip_config' managed: default: false description: "for an adopted switch, we don\u2019t overwrite their existing\ \ configs automatically" type: boolean modified_time: readOnly: true type: number name: type: string networks: $ref: '#/components/schemas/junos_networks' notes: type: string ntp_servers: description: list of NTP servers specific to this device. By default, those in Site Settings will be used items: type: string type: array oob_ip_config: $ref: '#/components/schemas/junos_oob_ip_config' org_id: $ref: '#/components/schemas/org_id' ospf_config: $ref: '#/components/schemas/junos_ospf_config' other_ip_configs: additionalProperties: $ref: '#/components/schemas/junos_other_ip_configs' description: Property key is the network name type: object port_config: additionalProperties: $ref: '#/components/schemas/junos_port_config' description: Property key is the port name or range (e.g. "ge-0/0/0-10") type: object port_mirroring: properties: port_mirror: $ref: '#/components/schemas/junos_port_mirror' type: object port_usages: additionalProperties: $ref: '#/components/schemas/junos_port_usages' description: Property key is the port profile name properties: dynamic: $ref: '#/components/schemas/dynamic_port_usage' type: object radius_config: $ref: '#/components/schemas/junos_radius_config' role: default: access enum: - access - aggregation type: string router_id: description: used for OSPF / BGP / EVPN example: 10.2.1.10 type: string site_id: $ref: '#/components/schemas/site_id' stp_config: properties: type: default: rstp enum: - rstp - vstp title: switch_stp_config_type type: string type: object switch_mgmt: properties: config_revert_timer: default: 10 description: rollback timer for commit confirmed maximum: 30 minimum: 1 type: integer protect_re: $ref: '#/components/schemas/protect_re' title: device_switch_mgmt use_router_id_as_source_ip: default: false description: whether to use it for snmp / syslog / tacplus / radius type: boolean vars: $ref: '#/components/schemas/vars' virtual_chassis: description: required for preprovisioned Virtual Chassis properties: members: description: list of Virtual Chassis members items: properties: mac: description: fpc0, same as the mac of device_id example: aff827549235 type: string vc_role: description: Both vc_role master and backup will be matched to routing-engine role in Junos preprovisioned VC config enum: - master - linecard - backup type: string title: switch_virtual_chassis_member type: object type: array preprovisioned: default: false description: to configure whether the VC is preprovisioned or nonprovisioned type: boolean title: virtual_chassis_info type: object vrf_config: $ref: '#/components/schemas/junos_vrf_config' vrrp_config: $ref: '#/components/schemas/junos_vrrp_config' type: object switch_extra_routes: additionalProperties: properties: discard: default: false description: this takes precedence type: boolean metric: example: null nullable: true type: integer next_qualified: additionalProperties: properties: metric: nullable: true type: integer preference: nullable: true type: integer type: object example: 10.3.1.1: metric: null preference: 40 type: object no_resolve: default: false type: boolean preference: example: 30 nullable: true type: integer via: description: next-hop IP Address type: string type: object description: Property key is the destination CIDR (e.g. "10.0.0.0/8") example: 172.16.3.0/24: via: 10.2.1.1 it_mgmt: discard: false metric: null next_qualified: 10.3.1.1: metric: null preference: 40 no_resolve: false preference: 30 via: 10.2.1.1 type: object switch_matching: description: Switch template properties: enable: type: boolean rules: items: $ref: '#/components/schemas/switch_matching_rule' minItems: 1 type: array uniqueItems: true type: object switch_matching_rule: additionalProperties: type: string description: 'property key define the type of matching, value is the string to match. e.g: `match_name[0:3]`, `match_name[2:6]`, `match_model`, `match_model[0-6]`' example: match_model: EX4300 match_name[0:3]: abc properties: additional_config_cmds: items: example: set snmp community public type: string type: array match_role: description: role to match example: access type: string name: example: access_ex4300 type: string port_config: additionalProperties: $ref: '#/components/schemas/junos_port_config' description: Propery key is the interface name or interface range example: '*': usage: default ge-0/0/0-1: ae_disable_lacp: false ae_idx: 0 aggregated: true critical: true usage: uplink ge-0/0/8-16,ge-1/0/0-47: usage: ap type: object port_mirroring: additionalProperties: description: property key is the port mirroring rule name properties: input_networks_ingress: example: - iot items: type: string type: array input_port_ids_egress: example: - ge-0/0/5 - ge-0/0/6 items: type: string type: array input_port_ids_ingress: example: - ge-0/0/4" items: type: string type: array output_port_id: example: ge-0/0/3 type: string type: object type: object switch_mgmt: properties: ap_affinity_threshold: example: '10' type: string config_revert_timer: default: 10 type: integer dhcp_option_fqdn: default: false description: Enable to provide the FQDN with DHCP option 81 type: boolean mxedge_proxy_host: type: string mxedge_proxy_port: default: 2222 type: integer use_mxedge_proxy: default: false type: boolean title: switch_matching_switch_mgmt type: object type: object switch_mgmt: properties: config_revert: default: 10 type: integer protect_re: $ref: '#/components/schemas/protect_re' root_password: type: string tacacs: $ref: '#/components/schemas/tacacs' switch_port_stats: description: Switch port statistics properties: active: description: Indicates if interface is active/inactive type: boolean auth_state: description: if `up`==`true` and has Authenticator role enum: - init - authenticated - authenticating - held type: string for_site: readOnly: true type: boolean full_duplex: description: indicates full or half duplex example: true type: boolean jitter: description: Last sampled jitter of the interface type: number latency: description: Last sampled latency of the interface type: number loss: description: Last sampled loss of the interface type: number lte_iccid: description: LTE ICCID value, Check for null/empty nullable: true type: string lte_imei: description: LTE IMEI value, Check for null/empty nullable: true type: string lte_imsi: description: LTE IMSI value, Check for null/empty nullable: true type: string mac: example: 5c4527a96580 readOnly: true type: string mac_count: description: Number of mac addresses in the forwarding table type: integer mac_limit: description: Limit on number of dynamically learned macs type: integer neighbor_mac: description: chassis identifier of the chassis type listed example: 64d814353400 readOnly: true type: string neighbor_port_desc: description: "description supplied by the system on the interface E.g. \u201C\ GigabitEthernet2/0/39\u201D" example: GigabitEthernet1/0/21 readOnly: true type: string neighbor_system_name: description: "name supplied by the system on the interface E.g. neighbor\ \ system name E.g. \u201CKumar-Acc-SW.mist.local\u201D" example: CORP-D-SW-2 readOnly: true type: string org_id: $ref: '#/components/schemas/org_id' poe_disabled: description: is the POE configured not be disabled. readOnly: true type: boolean poe_mode: enum: - 802.3af - 802.3at - 802.3bt type: string poe_on: description: is the device attached to POE type: boolean port_id: example: ge-0/0/0 readOnly: true type: string port_mac: description: interface mac address example: 5c4527a96580 readOnly: true type: string port_usage: description: gateway port usage enum: - lan type: string power_draw: description: Amount of power being used by the interface at the time the command is executed. Unit in watts. type: number rx_bcast_pkts: description: Broadcast input packets type: integer rx_bps: description: Input rate type: integer rx_bytes: description: rx bytes example: 4563443626 readOnly: true type: integer rx_errors: description: Input errors type: integer rx_mcast_pkts: description: Multicast input packets type: integer rx_pkts: description: rx packets readOnly: true type: integer site_id: $ref: '#/components/schemas/site_id' speed: description: port speed example: 1000 readOnly: true type: integer stp_role: description: if `up`==`true` enum: - designated - backup - alternate - root - root-prevented type: string stp_state: description: if `up`==`true` enum: - forwarding - blocking - learning - listening - disabled type: string tx_bcast_pkts: description: Broadcast output packets type: integer tx_bps: description: Output rate type: integer tx_bytes: description: tx bytes example: 11299516780 readOnly: true type: integer tx_errors: description: Output errors type: integer tx_mcast_pkts: description: Multicast output packets type: integer tx_pkts: description: tx packets example: 492176 readOnly: true type: integer type: description: device type enum: - ap - ble - switch - gateway - mxedge - nac example: gateway title: switch_port_stats_type type: string unconfigured: description: indicates if interface is unconfigured readOnly: true type: boolean up: description: indicates if interface is up readOnly: true type: boolean xcvr_model: description: Optic Slot ModelName, Check for null/empty example: SFP+-10G-SR type: string xcvr_part_number: description: Optic Slot Partnumber, Check for null/empty example: 740-021487 type: string xcvr_serial: description: Optic Slot SerialNumber, Check for null/empty example: N6AA9HT type: string required: - mac - neighbor_mac - org_id - port_id - port_mac - rx_bytes - rx_pkts - site_id - tx_bytes - tx_pkts type: object switch_search: properties: ext_ip: type: string hostname: items: type: string type: array ip: type: string last_hostname: type: string mac: type: string model: type: string num_members: type: integer org_id: $ref: '#/components/schemas/org_id' site_id: $ref: '#/components/schemas/site_id' timestamp: type: number type: type: string uptime: type: integer version: type: string type: object switch_stats: description: Switch statistics properties: ap_redundancy: $ref: '#/components/schemas/switch_stats_ap_redundancy' clients: items: $ref: '#/components/schemas/switch_stats_client' type: array cpu_stat: $ref: '#/components/schemas/cpu_stat' has_pcap: description: whether the switch supports packet capture example: false type: boolean hostname: description: hostname reported by the device example: sj-sw1 type: string if_stat: additionalProperties: $ref: '#/components/schemas/switch_stats_if_stat' description: Property key is the interface name type: object ip: example: 10.2.11.137 type: string ip_stat: $ref: '#/components/schemas/ip_stat' last_seen: example: 1553203563 type: integer last_trouble: $ref: '#/components/schemas/last_trouble' mac: $ref: '#/components/schemas/memory_stat' model: example: EX4600 type: string module_stat: items: $ref: '#/components/schemas/module_stat' minItems: 1 type: array uniqueItems: true name: description: device name if configured example: sj-sw1 type: string num_clients: $ref: '#/components/schemas/switch_stats_num_clients' serial: example: TC3714190003 type: string status: example: connected type: string type: example: switch type: string uptime: example: 13501 type: number version: example: 18.4R1.8 type: string type: object switch_stats_ap_redundancy: properties: modules: additionalProperties: $ref: '#/components/schemas/switch_stats_ap_redundancy_module' description: for a VC / stacked switches. type: object num_aps: example: 15 type: integer num_aps_with_switch_redundancy: example: 8 type: integer type: object switch_stats_ap_redundancy_module: properties: num_aps: example: 15 type: integer num_aps_with_switch_redundancy: example: 8 type: integer type: object switch_stats_client: properties: device_mac: type: string hostname: type: string mac: type: string port_id: type: string type: object switch_stats_if_stat: properties: ips: $ref: '#/components/schemas/strings' port_id: example: ge-0/0/0 type: string rx_bytes: type: integer rx_pkts: type: integer tx_bytes: type: integer tx_pkts: type: integer up: type: boolean type: object switch_stats_num_clients: properties: total: additionalProperties: description: propery key is the FPC number properties: num_aps: type: string num_clients: type: string type: object properties: num_aps: type: string num_clients: type: string type: object type: object synthetic_test: properties: email: example: test@mist.com format: email type: string title: synthetic_test type: object synthetic_test_device: properties: hostname: description: if `type`==`dns` type: string ip: description: if `type`==`arp` type: string password: description: if `type`==`radius` type: string port_id: description: if `type`==`ssr` type: string type: $ref: '#/components/schemas/synthetic_test_type' url: description: if `type`==`curl` type: string username: description: if `type`==`radius` type: string vlan_id: description: required for AP type: integer required: - type type: object synthetic_test_info: properties: by: example: user type: string device_type: enum: - ap - switch - gateway type: string failed: example: false type: boolean latency: example: 40 type: integer mac: type: string port_id: example: ge-0/0/2 type: string reason: example: interface not ready to perform test type: string rx_mbps: example: 322 type: integer start_time: example: 1675718807 type: integer status: type: string timestamp: example: 1675718807 type: integer tx_mbps: example: 199 type: integer type: $ref: '#/components/schemas/synthetic_test_type' vlan_id: example: 20 type: integer type: object synthetic_test_radius_server: properties: password: description: Specify the password associated with the username type: string profile: default: dot1x description: Specify the access profile associated with the subscriber type: string user: description: Specify the subscriber username to test type: string required: - user - password type: object synthetic_test_type: enum: - dns - arp - dhcp - curl - radius - speedtest - dhcp6 type: string tacacs: properties: acct_servers: items: $ref: '#/components/schemas/tacacs_acct_server' type: array enabled: type: boolean network: description: which network the TACACS server resides type: string tacplus_servers: items: $ref: '#/components/schemas/tacacs_auth_server' type: array type: object tacacs_acct_server: properties: host: type: string port: type: string secret: type: string timeout: default: 10 type: integer type: object tacacs_auth_server: properties: host: type: string port: type: string secret: type: string timeout: default: 10 type: integer type: object template: description: Template properties: applies: description: where this template should be applied to, can be org_id, site_ids, sitegroup_ids properties: org_id: $ref: '#/components/schemas/org_id' site_ids: description: list of site ids items: format: uuid type: string type: array sitegroup_ids: description: list of sitegroup ids items: format: uuid type: string type: array title: template_applies type: object created_time: readOnly: true type: number deviceprofile_ids: description: list of Device Profile ids items: format: uuid type: string type: array exceptions: description: where this template should not be applied to (takes precedence) properties: site_ids: description: list of site ids items: format: uuid type: string type: array sitegroup_ids: description: list of sitegroup ids items: format: uuid type: string type: array title: template_exceptions type: object filter_by_deviceprofile: description: whether to further filter by Device Profile type: boolean id: format: uuid readOnly: true type: string modified_time: readOnly: true type: number name: type: string org_id: $ref: '#/components/schemas/org_id' required: - name type: object test_telstra: properties: telstra_client_id: description: Telstra client id example: '123456' type: string telstra_client_secret: description: Telstra client secret example: abcdef type: string to: description: Phone number of the recipient of SMS with country code example: '+911122334455' type: string required: - telstra_client_id - telstra_client_secret - to title: test_telstra type: object test_twilio: properties: from: description: One of the numbers you have in your Twilio account example: '+185051234567' type: string to: description: Phone number of the recipient of SMS example: '+19999999999' type: string twilio_auth_token: description: Auth Token associated with twilio account example: 2135be04736a1a0a314bce432d61721a type: string twilio_sid: description: Twilio Account SID example: AC5f4366878d193fb4865ab151739999eb type: string required: - twilio_sid - twilio_auth_token - from - to title: test_twilio type: object ticket: description: Support Ticket properties: case_number: readOnly: true type: string comments: items: properties: attachments: items: properties: content_type: type: string content_url: type: string size: type: integer type: object type: array author: type: string comment: type: string created_at: type: integer required: - author - comment - created_at type: object type: array created_at: readOnly: true type: integer id: format: uuid readOnly: true type: string requester: readOnly: true type: string requester_email: description: email of the requester format: email type: string status: description: "Status open: ticket is open, Mist is working on it \n* pending:\ \ ticket is open and Requester attention is needed (e.g. Mist is asking\ \ for some more information) \n* solved: ticket is marked as solved /\ \ considered by Mist (requester can update it, causing it to re-open;\ \ or rate it) \n* closed: ticket is archived and cannot be changed" enum: - open - pending - solved - closed title: ticket_status type: string subject: type: string type: description: question (default) / bug / critical type: string updated_at: readOnly: true type: integer required: - subject - type type: object ticket_comment: properties: comment: example: this is urgent type: string type: object ticket_comment_import_file: properties: comment: example: this is urgent type: string file: format: binary type: string type: object time_of_day: default: any description: any / HH:MM (24-hour format) type: string tunterm_dhcpd_config: additionalProperties: properties: enabled: default: false type: boolean servers: items: type: string type: array type: $ref: '#/components/schemas/tunterm_dhcpd_type' type: object description: DHCP server/relay configuration of Mist Tunneled VLANs. Property key is the VLAN ID properties: enabled: default: false type: boolean servers: items: type: string type: array type: $ref: '#/components/schemas/tunterm_dhcpd_type' type: object tunterm_dhcpd_type: default: relay enum: - relay title: tunterm_dhcpd_type type: string tunterm_monitoring: properties: host: description: can be ip, ipv6, hostname example: 10.2.8.15 minLength: 1 type: string port: description: when `protocol`==`tcp` example: 80 type: integer protocol: enum: - arp - ping - tcp example: tcp minLength: 1 title: tuntern_monitoring_protocol type: string timeout: default: 300 example: 300 type: integer type: object tunterm_port_config: description: ethernet port configurations properties: downstream_ports: description: list of ports to be used for downstream (to AP) purpose example: - '2' - '3' items: type: string type: array separate_upstream_downstream: default: false description: weather to separate upstream / downstream ports. default is false where all ports will be used. type: boolean upstream_port_vlan_id: default: 1 description: native VLAN id for upstream ports example: 30 type: integer upstream_ports: description: list of ports to be used for upstrea purpose (to LAN) example: - '0' - '1' items: type: string type: array type: object two_factor: properties: two_factor: example: '123456' type: string required: - two_factor title: two_factor type: object two_factor_code: properties: two_factor: example: 123456 type: string required: - two_factor type: object ui_settings: description: UI Settings properties: created_time: example: 1508823803 readOnly: true type: number defaultScopeId: example: 67970e46-4e12-11e6-9188-0242ad112847 type: string defaultScopeType: example: site type: string defaultTimeRange: properties: end: example: 1508828400 type: integer endDate: example: 10/23/2017 type: string interval: example: 1d type: string name: example: This Week type: string shortName: example: thisWeek type: string start: example: 1508655600 type: integer usePreset: example: true type: boolean type: object description: example: Description of the databoard type: string for_site: example: true readOnly: true type: boolean id: example: 3bdcc7e8-c04d-4512-b4fc-093da9057eb0 format: uuid readOnly: true type: string isCustomDataboard: type: boolean isScopeLinked: type: boolean isTimeRangeLinked: type: boolean modified_time: example: 1508823803 readOnly: true type: number name: example: New Databoard type: string org_id: $ref: '#/components/schemas/org_id' purpose: example: databoard type: string site_id: $ref: '#/components/schemas/site_id' tiles: items: properties: chartBand: example: 2.4 ghz type: string chartColor: example: '#00B4AD' type: string chartDirection: example: tx + rx type: string chartRankBy: type: string chartType: example: timeSeries type: string colspan: example: 5 type: integer column: example: 1 type: integer hideEmptyRows: type: boolean id: example: 7a9ab38c-cfc3-483d-b51a-0aec571fadc0 format: uuid type: string metric: properties: apiName: example: client-dhcp-latency type: string type: object name: example: New Analysis type: string row: example: 1 type: integer rowspan: example: 2 type: integer scopeId: example: e0c767834b4c type: string scopeType: example: client type: string sortedColumns: {} timeRange: properties: end: example: 1508823743 type: number endDate: example: 10/23/2017 type: string interval: example: 1d type: string name: example: Past 7 Days type: string shortName: example: 7d type: string start: example: 1508223600 type: integer usePreset: example: true type: boolean type: object trendType: example: line type: string vizType: example: averageTimeSeriesChart type: string type: object minItems: 1 type: array uniqueItems: true required: - created_time - description - for_site - id - modified_time - org_id - purpose - site_id type: object unconnected_client_stats: description: Unconnected clients statistics properties: ap_mac: description: mac address of the AP that heard the client type: string last_seen: description: last seen timestamp type: number mac: description: mac address of the (unconnected) client type: string manufacture: description: device manufacture, through fingerprinting or OUI type: string map_id: description: map_id of the client (if known), or null format: uuid nullable: true type: string rssi: description: client RSSI observered by the AP that heard the client (in dBm) type: integer x: description: x (in pixels) of user location on the map (if known) type: integer y: description: y (in pixels) of user location on the map (if known) type: integer required: - mac - ap_mac - y - rssi - manufacture - last_seen type: object unconnected_client_stats_array: items: $ref: '#/components/schemas/unconnected_client_stats' type: array upgrade_bios: properties: reboot: default: false description: Reboot device immediately after upgrade is completed type: boolean version: description: specific bios version example: CDEN_P_EX1_00.20.01.00 type: string type: object upgrade_bios_multi: properties: device_ids: description: list of device id to upgrade bios items: example: 00000000-0000-0000-1000-5c5b35584a6f format: uuid type: string type: array models: description: list of device model to upgrade bios items: example: EX4400-48T type: string type: array reboot: default: false description: Reboot device immediately after upgrade is completed type: boolean version: description: specific bios version example: CDEN_P_EX1_00.15.01.00 type: string type: object use_auto_ap_values: properties: accept: default: false description: If accept is true, accepts placement for devices in list otherwise. If false, reject for devices in list. type: boolean for: default: placement description: The selector to choose auto placement or auto orientation. enum: - placement - orientation title: use_auto_ap_values_for type: string macs: description: A list of macs to accept/reject. If a list is not provided the API will accept/reject for the full map. items: type: string type: array type: object user_apitoken: description: User API Token properties: created_time: example: 1626875902 readOnly: true type: integer id: example: 864f351a-1377-4ad9-83f8-72f3fe6199ba format: uuid readOnly: true type: string key: example: 1qkb...QQCL readOnly: true type: string last_used: example: 1690115110 nullable: true readOnly: true type: integer name: description: name of the token example: org_token_xyz type: string type: object user_mac: properties: blacklisted: default: false type: boolean cross_site: description: For Guest type: boolean email: example: john@example.com format: email type: string expire_time: example: 1709336127 type: integer for_guest_wifi: description: For Guest type: boolean labels: example: - byod items: type: string type: array mac: description: only non-local-admin MAC is accepted example: 5684dae9ac8b type: string name: example: john's phone type: string site_id: description: For Guest, if `cross_site`==`false` example: 4ac1dcf4-9d8b-7211-65c4-057819f0862b format: uuid type: string vlan_id: example: 30 type: integer type: object user_mac_array: items: $ref: '#/components/schemas/user_mac' type: array username_password: properties: password: type: string username: type: string type: object utils_bounce_port: properties: port: description: the port to bounce type: string ports: description: list of ports to bounce items: type: string type: array type: object utils_cable_test: properties: port: description: the port to run the cable test type: string required: - port type: object utils_clear_arp: properties: ip: description: The IP address for which to clear an ARP entry. port_id must be specified. Both vlan and ip cannot be specified. example: 10.1.1.1 type: string node: $ref: '#/components/schemas/ha_cluster_node_enum' port_id: description: The device interface on which to clear the ARP cache. example: wan type: string vlan: description: The VLAN on which to clear the ARP cache. port_id must be specified. Both vlan and ip cannot be specified. example: 1000 type: integer type: object utils_clear_bgp: properties: neighbor: description: neighbor ip-address or 'all' type: string type: default: hard enum: - hard - soft - in - out title: utils_clear_bgp_type type: string vrf: description: vrf name type: string required: - neighbor - type type: object utils_clear_bpdu: properties: port: description: the port on which to clear the detected BPDU error, or `all` for all ports type: string type: object utils_clear_macs: properties: ports: description: a list of ports on which to clear mac addresses. must include logical unit number items: type: string type: array type: object utils_devices_restart: properties: member: description: optional for VC member type: string node: description: 'only for SSR: if node is not present, both nodes are restarted for other devices: node should not be present' type: string type: object utils_devices_restart_multi: properties: device_ids: items: format: uuid type: string type: array node: description: 'only for SSR: if node is not present, both nodes are restarted for other devices: node should not be present' type: string required: - device_ids type: object utils_ping: properties: count: default: 10 type: integer egress_interface: description: Interface through which packet needs to egress type: string host: example: 1.1.1.1 format: ipv4 type: string node: $ref: '#/components/schemas/ha_cluster_node_enum' size: default: 56 maximum: 65535 minimum: 56 type: integer required: - host type: object utils_release_dhcp: properties: node: $ref: '#/components/schemas/ha_cluster_node_enum' port: description: The nework interface on which to release the current DHCP release example: wan-interface minLength: 1 type: string required: - port type: object utils_reset_radio_config: properties: bands: description: list of bands items: type: string type: array force: default: false description: whether to reset those with radio disabled. default is false (i.e. if user intentionally disables a radio, honor it) type: boolean required: - bands type: object utils_rrm_optimize: properties: bands: description: list of bands items: type: string type: array macs: description: targeting AP (neighbor APs may get changed, too), default is empty for ALL APs items: example: 5c5b35000001 type: string type: array txpower_only: default: false description: only changng TX Power (will not disconnect clients) type: boolean required: - bands type: object utils_send_ble_beacon: properties: beacon_frame: example: 68b329da9893e34099c7d8ad5cb9c940 type: string beacon_freq: example: 100 type: integer duration: example: 10 maximum: 60 minimum: 1 type: integer macs: example: - 5c5b35584a6f - 5c5b350ea3b3 items: type: string type: array map_ids: example: - 845a23bf-bed9-e43c-4c86-6fa474be7ae5 items: type: string type: array type: object utils_send_support_logs: properties: info: default: full description: 'optional choice: process, outbound-ssh, and full (default)' enum: - process - outbound-ssh - messages - code-dumps - full - var-logs - jma-logs type: string node: description: 'optional: for SSR, if node is not present, both nodes support files are uploaded' type: string num_messages_files: default: 1 description: 'optional: number of most recent messages files to upload.' maximum: 10 minimum: 1 type: integer type: object utils_service_ping: properties: count: default: 10 type: integer host: format: ipv4 type: string service: description: ping packet takes the same path as the service type: string size: default: 56 maximum: 65535 minimum: 56 type: integer tenant: description: tenant context in which the packet is sent type: string required: - host - service type: object utils_show_arp: properties: ip: example: 192.168.30.7 type: string port: example: ge-0/0/0.0 type: string vrf: example: guest type: string type: object utils_show_evpn_database: properties: mac: description: client mac filter example: f8c1165c6400 type: string port_id: description: interface name example: ge-0/0/0.0 type: string type: object utils_show_mac_table: properties: mac_address: example: f8c1165c6400 type: string port: example: ge-0/0/0.0 type: string vlan_id: example: ge-0/0/0.0 type: string type: object utils_show_route: properties: neighbor: description: IP of the neighbor type: string node: $ref: '#/components/schemas/ha_cluster_node' prefix: description: route prefix type: string protocol: default: bgp description: only bgp is supported type: string route: description: 'if specified, dump bot received and advertised, if not specified, both will be shown * for SSR, show bgp neighbors 10.250.18.202 received-routes/advertised-routes * for SRX, show route receive-protocol/advertise-protocol bgp 192.168.255.12' type: string vrf: description: VRF name type: string type: object utils_show_service_path: description: The exact service name for which to display the service path properties: node: $ref: '#/components/schemas/ha_cluster_node_enum' service_name: example: any type: string type: object utils_show_session: properties: node: $ref: '#/components/schemas/ha_cluster_node_enum' service_name: description: The exact service name for which to display the active sessions example: any type: string type: object utils_traceroute: properties: host: description: host name type: string network: default: internal description: for SSR, optional, the source to initiate traceroute from type: string port: default: 33434 description: when `protocol`==`udp`, the udp port to use type: integer protocol: default: udp enum: - udp type: string timeout: default: 60 description: maximum time in seconds to wait for the response type: integer vrf: description: for SRX, optional, the source to initiate traceroute from. by default, master VRF/RI is assumed type: string type: object utils_tunterm_bounce_port: properties: hold_time: description: in milli seconds, hold time between multiple port bounces type: integer ports: description: list of ports to bounce items: type: string type: array required: - ports type: object utils_zeroise_fips: properties: password: description: FIPS zeroize password type: string required: - password type: object vars: additionalProperties: type: string description: a dictionary of name->value, the vars can then be used in Wlans. This can overwrite those from Site Vars example: RADIUS_IP1: 172.31.2.5 RADIUS_SECRET: 11s64632d type: object vbeacon: description: vBeacon properties: created_time: readOnly: true type: number for_site: readOnly: true type: boolean id: format: uuid readOnly: true type: string major: description: bluetooth tag major example: 1356 type: integer map_id: description: map where the device belongs to example: 63eda950-c6da-11e4-a628-60f81dd250cc format: uuid type: string message: description: a message that can be displayed when the sdkclient gets near the vbeacon example: Welcome to Mist type: string minor: description: bluetooth tag minor example: 21 type: integer modified_time: readOnly: true type: number name: description: name / label of the device example: conference room type: string org_id: $ref: '#/components/schemas/org_id' power: default: 4 description: required if `power_mode`==`custom`, -30 - 100, in dBm. For default power_mode, power = 4 dBm. maximum: 100 minimum: -30 type: integer power_mode: $ref: '#/components/schemas/ap_ble_power_mode' site_id: $ref: '#/components/schemas/site_id' url: description: URL to show, optional example: http://www.mist.com/any type: string uuid: description: bluetooth tag UUID example: 31375aeb-b8d3-1ea6-83bf-a31eb04e1c38 format: uuid type: string wayfinding_nodename: description: the name to be used in wayfinding_path or wayfinding_grid blob example: node1 type: string x: description: x in pixel example: 53.5 type: number y: description: y in pixel example: 173.1 type: number type: object version: properties: version: type: string type: object virtual_chassis_config: description: Virtual Chassis properties: members: items: properties: mac: description: fpc0, same as the mac of device_id type: string member: description: to create a preprovisionned virtual chassis type: integer vc_ports: items: type: string type: array vc_role: enum: - master - backup - linecard type: string required: - mac - vc_ports - vc_role title: virtual_chassis_member type: object type: array preprovisioned: default: false description: To create the Virtual Chassis in Pre-Provisioned mode type: boolean type: object virtual_chassis_port: properties: members: items: properties: member: type: number vc_ports: items: type: string type: array required: - member title: config_vc_port_member type: object minItems: 1 type: array uniqueItems: true op: enum: - set - delete minLength: 1 title: VC Port Operation type: string required: - op - members type: object virtual_chassis_update: description: Virtual Chassis properties: member: description: Only if `op`==`renumber` type: integer members: items: properties: mac: description: Required if `op`==`add` or `op`==`preprovision`. type: string member: description: Required if `op`==`remove` or `op`==`preprovision`. Optional if `op`==`add` type: integer vc_ports: description: Required if `op`==`add` or `op`==`preprovision` items: type: string type: array vc_role: description: Required if `op`==`add` or `op`==`preprovision` enum: - master - backup - linecard type: string title: virtual_chassis_member_update type: object type: array new-member: description: Only if `op`==`renumber` type: integer op: enum: - add - remove - renumber - preprovision type: string type: object vpn: properties: created_time: type: integer id: format: uuid readOnly: true type: string modified_time: readOnly: true type: integer name: minLength: 1 type: string org_id: $ref: '#/components/schemas/org_id' paths: additionalProperties: properties: bfd_profile: default: broadband enum: - broadband - lte title: vpn_path_bfd_profile type: string ip: description: if different from the wan port type: string pod: default: 1 example: 2 maximum: 128 minimum: 1 type: integer type: object title: vpn_path type: object required: - name - paths type: object vrf_extra_routes: additionalProperties: properties: via: description: Next-hop address format: ipv4 type: string type: object description: Property key is the destination CIDR (e.g. "10.0.0.0/8") example: 0.0.0.0/0: via: 192.168.1.10 type: object wantunnel_stats: properties: auth_algo: description: authentication algorithm type: string encrypt_algo: description: encryption algorithm type: string ike_version: description: ike version type: string ip: description: ip address type: string last_event: description: reason of why the tunnel is down type: string mac: description: router mac address type: string node: description: node0/node1 type: string org_id: $ref: '#/components/schemas/org_id' peer_host: description: peer host type: string peer_ip: description: peer ip address type: string priority: enum: - primary - secondary type: string protocol: enum: - ipsec - gre title: wan_tunnel_protocol type: string rx_bytes: type: integer rx_pkts: type: integer site_id: $ref: '#/components/schemas/site_id' tunnel_name: description: Mist Tunnel Name type: string tx_bytes: type: integer tx_pkts: type: integer up: type: boolean uptime: description: duration from first (or last) SA was established type: integer wan_name: description: wan interface name example: wan type: string type: object wayfinding_import_json: oneOf: - $ref: '#/components/schemas/map_jibestream' - $ref: '#/components/schemas/map_micello' webhook: properties: created_time: readOnly: true type: number enabled: default: true description: whether webhook is enabled type: boolean for_site: readOnly: true type: boolean headers: description: 'if `type`=`http-post`, additional custom HTTP headers to add the headers name and value must be string, total bytes of headers name and value must be less than 1000' nullable: true type: object id: format: uuid readOnly: true type: string modified_time: readOnly: true type: number name: description: name of the webhook nullable: true type: string org_id: $ref: '#/components/schemas/org_id' secret: description: "only if `type`=`http-post`\nwhen `secret` is provided, two\ \ HTTP headers will be added:\n * X-Mist-Signature-v2: HMAC_SHA256(secret,\ \ body)\n * X-Mist-Signature: HMAC_SHA1(secret, body)" nullable: true type: string site_id: $ref: '#/components/schemas/site_id' splunk_token: description: 'required if `type`=`splunk` If splunk_token is not defined for a type Splunk webhook, it will not send, regardless if the webhook receiver is configured to accept it.''' nullable: true type: string topics: description: N.B. For org webhooks, only device-events/alarms/audits/client-join/client-sessions/nac-sessions/nac-events topics are supported. items: enum: - alarms - audits - client-info - client-join - client-latency - client-sessions - device-events - device-updowns - mxedge-events - nac-accounting - nac-events - occupancy-alerts - rssizone - sdkclient-scan-data - site-sle - vbeacon - zone - location - location-asset - location-client - location-sdk - asset-raw - asset-raw-rssi - discovered-raw-rssi - wifi-conn-raw - wifi-unconn-raw title: webhook_topic type: string type: array type: default: http-post enum: - http-post - splunk - google-pubsub - aws-sns title: webhook_type type: string url: nullable: true type: string verify_cert: default: true description: when url uses HTTPS, whether to verify the certificate type: boolean type: object webhook_alarms: description: "**N.B.**: Fields like `aps`, `bssids`, `ssids` are event specific.\ \ They are relevant to this event type ( rogue-ap-detected). For a different\ \ event type, different fields may be sent. These don\u2019t contain all affected\ \ entities and are representative samples of entities (capped at 10). For\ \ marvis action related events, we expose `details` to include more event\ \ specific details.\n\nEvents specific fields for other alarm event type can\ \ be found with API https://api.mist.com/api/v1/const/alarm_defs, under \u201C\ fields\u201D array of /alarm_defs response object." properties: events: description: list of events items: properties: aps: items: type: string readOnly: true type: array bssids: items: type: string readOnly: true type: array count: description: If present, represents number of events of given type occurred in current interval, default=1 readOnly: true type: integer event_id: description: event id format: uuid readOnly: true type: string for_site: readOnly: true type: boolean id: format: uuid readOnly: true type: string last_seen: readOnly: true type: number org_id: $ref: '#/components/schemas/org_id' site_id: $ref: '#/components/schemas/site_id' ssids: items: type: string readOnly: true type: array timestamp: readOnly: true type: integer type: description: event type readOnly: true type: string update: description: If presents, represents that this is an update to event with given id sent earlier. default=false readOnly: true type: boolean required: - id - last_seen - org_id - site_id - timestamp - type title: webhook_alarm_event type: object minItems: 1 type: array uniqueItems: true topic: default: alarms description: topic subscribed to type: string required: - events - topic type: object webhook_asset_raw: description: asset raw webhook sample properties: events: description: list of events items: properties: asset_id: description: asset id format: uuid type: string beam: description: antenna index, from 1-8, clock-wise starting from the LED type: integer device_id: description: device where the asset reading is from format: uuid type: string ibeacon_major: description: iBeacon major type: integer ibeacon_minor: description: iBeacon minor type: integer ibeacon_uuid: description: iBeacon UUID format: uuid type: string mac: description: MAC of the beacon type: string map_id: description: map id format: uuid type: string mfg_company_id: description: optional, BLE manufacturing company ID type: number mfg_data: description: "optional, BLE manufacturing data in hex byte-string\ \ format (ie: \u201C112233AABBCC\u201D)" type: string rssi: description: signal strength type: number service_data_data: description: optional, data from service data type: string service_data_last_rx_time: description: optional, last data transmit time from service data type: integer service_data_rx_cnt: description: optional, data transmit count from service data type: integer service_data_uuid: description: optional, UUID from service data format: uuid type: string service_packets: $ref: '#/components/schemas/service_packets' site_id: $ref: '#/components/schemas/site_id' timestamp: type: number required: - asset_id - beam - device_id - mac - map_id - mfg_company_id - mfg_data - rssi - site_id - timestamp title: webhook_asset_raw_event type: object minItems: 1 type: array uniqueItems: true topic: default: asset-raw description: topic subscribed to type: string required: - events - topic type: object webhook_audits: description: audit webhook sample properties: events: items: properties: admin_name: type: string device_id: format: uuid type: string id: format: uuid type: string message: type: string org_id: $ref: '#/components/schemas/org_id' site_id: $ref: '#/components/schemas/site_id' src_ip: type: string timestamp: type: number required: - admin_name - device_id - id - message - org_id - site_id - src_ip - timestamp title: webhook_audit_event type: object minItems: 1 type: array uniqueItems: true topic: default: audits type: string required: - events - topic type: object webhook_client_info: properties: events: items: properties: ip: description: IP address of client type: string mac: description: "the client\u2019s mac" type: string org_id: $ref: '#/components/schemas/org_id' site_id: $ref: '#/components/schemas/site_id' timestamp: description: time at which IP address was assigned E.g. 1703003956 type: number title: webhook_client_info_event type: object type: array topic: enum: - client-info type: string type: object webhook_client_join: description: client join webhook sample properties: events: items: properties: ap: description: mac address of the AP the client connected to type: string ap_name: description: user-friendly name of the AP the client connected to. type: string band: description: 5GHz or 2.4GHz band type: string bssid: type: string connect: description: time when the user connects type: integer connect_float: description: floating point connect timestamp with millisecond precision type: number mac: description: "the client\u2019s mac" type: string org_id: $ref: '#/components/schemas/org_id' rssi: description: RSSI when the client associated type: number site_id: $ref: '#/components/schemas/site_id' site_name: type: string ssid: description: ESSID type: string timestamp: type: number version: description: schema version of this message type: number wlan_id: format: uuid type: string required: - ap - ap_name - band - bssid - connect - connect_float - mac - org_id - rssi - site_id - site_name - ssid - timestamp - version - wlan_id title: webhook_client_join_event type: object minItems: 1 type: array uniqueItems: true topic: default: client-join type: string required: - events - topic type: object webhook_client_latency: properties: events: items: properties: avg_auth: example: 0.17170219 type: number avg_dhcp: example: 0.017828934 type: number avg_dns: example: 0.024532124 type: number max_auth: example: 0.18170219 type: number max_dhcp: example: 0.027828934 type: number max_dns: example: 0.022532124 type: number min_auth: example: 0.16050219 type: number min_dhcp: example: 0.015828934 type: number min_dns: example: 0.029532124 type: number org_id: $ref: '#/components/schemas/org_id' site_id: $ref: '#/components/schemas/site_id' timestamp: example: 1696401600 type: integer title: webhook_client_latency_event type: object type: array topic: example: client-latency type: string type: object webhook_client_sessions: description: client session webhook sample properties: events: items: properties: ap: description: mac address of the AP the client roamed or disconnected from type: string ap_name: description: user-friendly name of the AP the client roamed or disconnected from. type: string band: description: 5GHz or 2.4GHz band type: string bssid: type: string client_family: description: "device family E.g. \u201CMac\u201D, \u201CiPhone\u201D\ , \u201CApple watch\u201D" type: string client_manufacture: description: "device manufacturer E.g. \u201CApple\u201D" type: string client_model: description: "device model E.g. \u201C8+\u201D, \u201CXS\u201D" type: string client_os: description: "device operating system E.g. \u201CMojave\u201D, \u201C\ Windows 10\u201D, \u201CLinux\u201D" type: string connect: description: time when the user connects type: integer connect_float: description: floating point connect timestamp with millisecond precision type: number disconnect: description: time when the user disconnects type: integer disconnect_float: description: floating point disconnect timestamp with millisecond precision type: number duration: description: the duration of the roamed or complete session indicated by termination_reason field. type: integer mac: description: "the client\u2019s mac" type: string next_ap: description: the AP the client has roamed to. type: string org_id: $ref: '#/components/schemas/org_id' rssi: description: latest average RSSI before the user disconnects type: number site_id: $ref: '#/components/schemas/site_id' site_name: type: string ssid: type: string termination_reason: description: 1 disassociate - when the client disassociates. 2 inactive - when the client is timeout. 3 roamed - when the client is roamed between APs type: integer timestamp: type: number version: description: schema version of this message type: number wlan_id: format: uuid type: string required: - ap - ap_name - band - bssid - client_family - client_manufacture - client_model - client_os - connect - connect_float - disconnect - disconnect_float - duration - mac - next_ap - org_id - rssi - site_id - site_name - ssid - termination_reason - timestamp - version - wlan_id title: webhook_client_sessions_event type: object minItems: 1 type: array uniqueItems: true topic: default: client-sessions type: string required: - events - topic type: object webhook_delivery: properties: error: description: error message, if there is one type: string id: description: delivery ID example: 55b0f02f-ebf6-4ad2-8b10-200508a97581 format: uuid type: string org_id: $ref: '#/components/schemas/org_id' req_headers: description: HTTP request headers example: '{"Content-Type":["application/json"],"User-Agent":["Mist-webhook"]}' type: string req_payload: description: HTTP request payload example: '{"topic":"audits","events":[{"admin_name":"John Doe john.doe@juniper.net","after":"{\"radio_config\": {\"band_24\": {\"disabled\": false, \"allow_rrm_disable\": false, \"power_min\": null, \"power_max\": null, \"power\": 10, \"preamble\": \"short\", \"channels\": [1, 10], \"bandwidth\": 20}}}","before":"{\"radio_config\": {\"band_24\": {\"disabled\": false, \"allow_rrm_disable\": false, \"power_min\": 8, \"power_max\": 18, \"power\": null, \"preamble\": \"long\", \"channels\": [1, 10], \"bandwidth\": 20}}}","id":"737909a2-04ff-4aeb-b9da-cc924e74a4dd","message":"Update Site Settings","org_id":"fc7e2967-e7ef-41e6-b007-1217713de05a","site_id":"256c3a35-9cb7-436e-bc6d-314972645d95","site_name":"Test Site","src_ip":"1.2.3.4","timestamp":1685956576.923601,"user_agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"}]}' type: string req_url: description: HTTP request URL example: http://example.com type: string resp_body: description: HTTP response body example: Ok type: string resp_headers: description: HTTP response headers type: string site_id: $ref: '#/components/schemas/site_id' status: $ref: '#/components/schemas/webhook_delivery_status' status_code: example: 200 type: integer timestamp: example: 1687962508.583656 type: number topic: $ref: '#/components/schemas/webhook_delivery_topic' webhook_id: example: 7a11b901-f719-4c91-8aef-deb8699a6364 format: uuid type: string type: object webhook_delivery_status: description: webhook delivery status enum: - success - failure example: failure type: string webhook_delivery_topic: description: webhook topic enum: - alarms - audits - device-updowns - occupancy-alerts - ping example: audits type: string webhook_device_events: description: device event webhook sample properties: events: description: list of events items: properties: ap: description: (will be deprecated soon; please use mac instead) ap mac type: string ap_name: description: (will be deprecated soon; please use device_name instead) ap name type: string audit_id: description: (optional) audit id format: uuid type: string device_name: description: device name type: string device_type: enum: - ap - switch - gateway type: string ev_type: description: (optional) event advisory (notice/warn) enum: - notice - warn type: string mac: description: device mac type: string org_id: $ref: '#/components/schemas/org_id' reason: description: (optional) event reason type: string site_id: $ref: '#/components/schemas/site_id' site_name: description: site name type: string text: description: (optional) event description type: string timestamp: description: time the event occurred e.g. 1565987313 type: integer type: description: event type type: string required: - device_name - device_type - ev_type - mac - org_id - timestamp - type title: webhook_device_event_event type: object minItems: 1 type: array uniqueItems: true topic: default: device-events description: topic subscribed to type: string required: - events - topic type: object webhook_device_updowns: description: device up/down webhook sample properties: events: items: properties: ap: readOnly: true type: string ap_name: readOnly: true type: string for_site: readOnly: true type: boolean org_id: $ref: '#/components/schemas/org_id' site_id: $ref: '#/components/schemas/site_id' site_name: readOnly: true type: string timestamp: type: number type: readOnly: true type: string required: - ap - ap_name - org_id - site_id - site_name - timestamp - type title: webhook_device_updowns_event type: object minItems: 1 type: array uniqueItems: true topic: default: device-updowns type: string required: - events - topic type: object webhook_discovered_raw_rssi: properties: events: items: properties: ap_loc: description: coordinates (if any) of reporting AP (updated once in 60s per client) items: type: number type: array beam: description: antenna index, from 1-8, clock-wise starting from the LED type: integer device_id: description: device id of the reporting AP format: uuid type: string ibeacon_major: type: integer ibeacon_minor: type: integer ibeacon_uuid: format: uuid type: string is_asset: type: boolean mac: description: MAC of the asset/ beacon type: string map_id: format: uuid type: string mfg_company_id: description: BLE manufacturing company ID type: string mfg_data: description: "BLE manufacturing data in hex byte-string format (ie:\ \ \u201C112233AABBCC\u201D)" type: string org_id: $ref: '#/components/schemas/org_id' rssi: description: signal strength type: number service_packets: $ref: '#/components/schemas/service_packets' site_id: $ref: '#/components/schemas/site_id' timestamp: type: integer required: - beam - device_id - mac - map_id - org_id - rssi - site_id title: webhook_discovered_raw_rssi_event type: object type: array topic: type: string required: - topic type: object webhook_location: description: location webhook sample properties: events: description: list of events items: properties: battery_voltage: type: integer eddystone_uid_instance: type: string eddystone_uid_namespace: type: string eddystone_url_url: type: string ibeacon_major: type: integer ibeacon_minor: type: integer ibeacon_uuid: format: uuid type: string id: description: unique id of the client (a client would have different id for different org) format: uuid type: string mac: type: string map_id: description: map id format: uuid type: string mfg_company_id: description: optional, BLE manufacturing company ID type: integer mfg_data: description: optional, BLE manufacturing data in hex byte-string format (ie "112233AABBCC") type: string name: description: name of the client, may be empty type: string site_id: $ref: '#/components/schemas/site_id' timestamp: description: timestamp of the event, epoch type: integer type: type: string wifi_beacon_extended_info: description: optional, list of extended beacon info packets heard from the client, frame and sequence control included with the payload items: properties: frame_ctrl: description: frame control field of 802.11 header type: integer payload: description: Extended Info Payload associated with frame type: string seq_ctrl: description: sequence control field of 802.11 header type: integer type: object type: array x: description: x, in meter type: integer y: description: y, in meter type: integer required: - id - map_id - site_id - timestamp - type - x - y title: webhook_location_event type: object minItems: 1 type: array uniqueItems: true topic: default: location description: topic subscribed to type: string required: - events - topic type: object webhook_location_asset: description: Location Asset sample properties: events: description: list of events items: properties: battery_voltage: example: 3370 type: integer eddystone_uid_instance: example: 5c5b35000001 type: string eddystone_uid_namespace: example: 2818e3868dec25629ede type: string eddystone_url_url: example: https://www.abc.com type: string ibeacon_major: example: 13 type: integer ibeacon_minor: example: 138 type: integer ibeacon_uuid: example: f3f17139-704a-f03a-2786-0400279e37c3 format: uuid type: string mac: example: 7fc2936fd243 type: string map_id: example: 845a23bf-bed9-e43c-4c86-6fa474be7ae5 format: uuid type: string mfg_company_id: description: optional, BLE manufacturing company ID example: 935 type: integer mfg_data: description: "optional, BLE manufacturing data in hex byte-string\ \ format (ie: \u201C112233AABBCC\u201D)" example: 648520a1020000 type: string site_id: example: 4ac1dcf4-9d8b-7211-65c4-057819f0862b format: uuid type: string timestamp: example: 1461220784 type: integer type: default: asset type: string x: description: x, in meter example: 13.5 type: number y: description: y, in meter example: 3.2 type: number topic: default: location-asset description: topic subscribed to type: string required: - events - topic type: object webhook_location_client: description: Location Client sample properties: events: description: list of events items: properties: mac: example: 5684dae9ac8b type: string map_id: example: 845a23bf-bed9-e43c-4c86-6fa474be7ae5 format: uuid type: string site_id: example: 4ac1dcf4-9d8b-7211-65c4-057819f0862b format: uuid type: string timestamp: example: 1461220784 type: integer type: default: wifi type: string wifi_beacon_extended_info: description: optional, list of extended beacon info packets heard from the client, frame and sequence control included with the payload items: properties: frame_ctrl: description: subfield of `wifi_beacon_extended_info`. frame control field of 802.11 header example: 776 type: integer payload: description: subfield of `wifi_beacon_extended_info`. Extended Info Payload associated with frame type: string seq_ctrl: description: subfield of `wifi_beacon_extended_info`. sequence control field of 802.11 header example: 776 type: integer type: object type: array x: description: x, in meter example: 13.5 type: number y: description: y, in meter example: 3.2 type: number topic: default: location-client description: topic subscribed to type: string required: - events - topic type: object webhook_location_sdk: description: Location SDK sample properties: events: description: list of events items: properties: id: example: de87bf9d-183f-e383-cc68-6ba43947d403 format: uuid type: string map_id: example: 845a23bf-bed9-e43c-4c86-6fa474be7ae5 format: uuid type: string name: example: optional type: string site_id: example: 4ac1dcf4-9d8b-7211-65c4-057819f0862b format: uuid type: string timestamp: example: 1461220784 type: integer type: default: sdk type: string x: description: x, in meter example: 13.5 type: number y: description: y, in meter example: 3.2 type: number topic: default: location-sdk description: topic subscribed to type: string required: - events - topic type: object webhook_location_unclient: description: Location Unconnected Client sample properties: events: description: list of events items: properties: mac: example: 5684dae9ac8b type: string map_id: example: 845a23bf-bed9-e43c-4c86-6fa474be7ae5 format: uuid type: string site_id: example: 4ac1dcf4-9d8b-7211-65c4-057819f0862b format: uuid type: string timestamp: example: 1461220784 type: integer type: default: wifi type: string wifi_beacon_extended_info: description: optional, list of extended beacon info packets heard from the client, frame and sequence control included with the payload items: properties: frame_ctrl: description: subfield of `wifi_beacon_extended_info`. frame control field of 802.11 header example: 776 type: integer payload: description: subfield of `wifi_beacon_extended_info`. Extended Info Payload associated with frame type: string seq_ctrl: description: subfield of `wifi_beacon_extended_info`. sequence control field of 802.11 header example: 776 type: integer type: object type: array x: description: x, in meter example: 13.5 type: number y: description: y, in meter example: 3.2 type: number topic: default: location-unclient description: topic subscribed to type: string required: - events - topic type: object webhook_nac_accounting: description: nac-accounting webhook sample properties: events: items: properties: ap: description: mac address of the AP the client roamed or disconnected from example: 5c5b355005be type: string auth_type: description: radius authentication type example: eap-tls type: string bssid: description: "it\u2019s the MAC physical address of the access point" example: 5c5b35546bb4 type: string client_ip: description: IP Address of client example: 172.16.87.4 type: string client_type: description: "client type E.g. \u201Cwired\u201D, \u201Cwireless\u201D\ , \u201Cvty\u201D" example: wireless type: string mac: description: "the client\u2019s mac" example: 6e795836d5f9 type: string nas_vendor: description: "NAS Device vendor name E.g. \u201CJuniper\u201D, \u201C\ Cisco\u201D" example: juniper-mist type: string org_id: $ref: '#/components/schemas/org_id' rx_pkts: description: number of packets received example: 9523 type: integer site_id: $ref: '#/components/schemas/site_id' ssid: description: ESSID example: Test-CMR SSID type: string timestamp: description: sampling time (in epoch) example: 1547235620.89 type: number tx_pkts: description: number of packets sent example: 5233 type: integer type: description: "type of event. E.g. \u201CACCOUNTING_START\u201D, \u201C\ ACCOUNTING_UPDATE\u201D, \u201CACCOUNTING_STOP\u201D" example: NAC_ACCOUNTING_STOP type: string username: description: username authenticated with example: hi type: string title: webhook_nac_accounting_event type: object type: array topic: default: nac-accounting type: string type: object webhook_nac_events: properties: events: items: properties: ap: description: random mac example: 5c5b35513227 type: string auth_type: description: authentication type, e.g. "eap-tls", "eap-ttls", "eap-teap", "mab", "device-auth" example: 802.1X type: string bssid: description: BSSID example: 5c5b355fafcc type: string dryrun_nacrule_id: description: NAC Policy Dry Run Rule ID, if present and matched example: 32f27e7d-ff26-4a9b-b3d1-ff9bcb264012 format: uuid type: string dryrun_nacrule_matched: description: True - if dryrun rule present and matched with priority, False - if not matched or not present type: boolean idp_id: description: SSO ID, if present and used example: 912ef72e-2239-4996-b81e-469e87a27cd6 format: uuid type: string idp_role: description: IDP returned roles/groups for the user example: - itsuperusers - vip items: type: string type: array mac: description: MAC address example: ac3eb179e535 type: string nacrule_id: description: NAC Policy Rule ID, if matched example: 32f27e7d-ff26-4a9b-b3d1-ff9bcb264c62 format: uuid type: string nacrule_matched: description: NAC Policy Rule Matched type: boolean nas_vendor: description: vendor of NAS device example: juniper-mist type: string org_id: $ref: '#/components/schemas/org_id' random_mac: description: AP MAC type: boolean resp_attrs: description: Radius attributes returned by NAC to NAS Devive example: - Tunnel-Type=VLAN - Tunnel-Medium-Type=IEEE-802 - Tunnel-Private-Group-Id=750 - User-Name=anonymous items: type: string type: array site_id: description: site id if assigned, null if not assigned example: 441a1214-6928-442a-8e92-e1d34b8ec6a6 format: uuid type: string ssid: description: SSID example: '##mist_nac' type: string timestamp: description: start time, in epoch example: 1691512031.358188 type: number type: description: event type, e.g. NAC_CLIENT_PERMIT example: NAC_CLIENT_PERMIT type: string username: description: Username presented by the client example: user@deaflyz.net type: string vlan: description: Vlan ID example: '750' type: string title: webhook_nac_events_event type: object type: array topic: default: nac-events type: string type: object webhook_occupancy_alerts: description: occupancy alert webhook sample properties: events: items: properties: alert_events: description: list of occupancy alerts for non-compliance zones within the site detected around the same time items: properties: current_occupancy: type: integer map_id: format: uuid type: string occupancy_limit: type: integer org_id: $ref: '#/components/schemas/org_id' timestamp: type: number type: description: event type (COMPLIANCE-VIOLATION / COMPLIANCE-OK) enum: - COMPLIANCE-VIOLATION - COMPLIANCE-OK title: webhook_occupancy_alert_type type: string zone_id: format: uuid type: string zone_name: type: string required: - current_occupancy - map_id - occupancy_limit - org_id - timestamp - type - zone_id - zone_name type: object minItems: 1 readOnly: true type: array uniqueItems: true for_site: readOnly: true type: boolean site_id: $ref: '#/components/schemas/site_id' site_name: readOnly: true type: string required: - site_id - site_name title: webhook_occupancy_alerts_event type: object minItems: 1 type: array uniqueItems: true topic: default: occupancy-alerts type: string required: - events - topic type: object webhook_ping: description: ping webhook properties: events: items: properties: id: format: uuid type: string name: type: string site_id: $ref: '#/components/schemas/site_id' timestamp: type: number required: - id - name - site_id - timestamp title: webhook_ping_event type: object minItems: 1 type: array uniqueItems: true topic: default: ping type: string required: - events - topic type: object webhook_sdkclient-scan-data: properties: events: items: properties: connection_ap: description: mac address of the AP the client is connected to minLength: 1 type: string connection_band: description: 5GHz or 2.4GHz band, of the BSSID the client is connected to minLength: 1 type: string connection_bssid: description: BSSID of the AP the client is connected to minLength: 1 type: string connection_channel: description: channel of the band the client is connected to type: integer connection_rssi: description: "RSSI of the client\u2019s connection to the AP/BSSID" type: number last_seen: description: time client last seen with scan data type: number mac: description: "the client\u2019s mac" minLength: 1 type: string scan_data: items: properties: ap: description: mac address of the AP associated with the BSSID scanned minLength: 1 type: string band: description: 5GHz or 2.4GHz band, associated with the BSSID scanned enum: - '2.4' - '5' minLength: 1 type: string bssid: description: "BSSID found during client\u2019s background scan\ \ for wifi" minLength: 1 type: string channel: description: channel of the band found in the scan type: integer rssi: description: "client\u2019s RSSI relative to the BSSID scanned" type: number ssid: description: ESSID containing the BSSID scanned minLength: 1 type: string timestamp: description: time the scan of the particular BSSID occurred type: number required: - ap - bssid - band - channel - rssi - ssid - timestamp type: object minItems: 1 type: array uniqueItems: true site_id: $ref: '#/components/schemas/site_id' required: - connection_ap - connection_band - connection_channel - connection_bssid - mac - connection_rssi - site_id - last_seen title: webhook_sdkclient-scan-data_event type: object minItems: 1 readOnly: true type: array uniqueItems: true topic: default: sdkclient-scan-data enum: - sdkclient-scan-data minLength: 1 type: string required: - topic - events type: object webhook_site_sle: properties: events: items: properties: org_id: $ref: '#/components/schemas/org_id' site_id: $ref: '#/components/schemas/site_id' sle: properties: ap-availability: example: 0.6 type: number successful-connect: example: 0.7 type: number time-to-connect: example: 0.9 type: number title: webhook_site_sle_event_sle type: object timestamp: example: 1694620800 type: integer title: webhook_site_sle_event type: object type: array topic: example: site-sle type: string type: object webhook_zone: description: zone webhook sample properties: events: description: list of events items: properties: asset_id: description: uuid of named asset format: uuid type: string id: description: uuid of SDK-client format: uuid type: string mac: description: mac address of wifi client or asset type: string map_id: description: map id format: uuid type: string name: description: name of the client, may be empty type: string site_id: $ref: '#/components/schemas/site_id' timestamp: description: timestamp of the event, epoch type: integer trigger: description: enter / exit enum: - enter - exit type: string type: type: string zone_id: description: zone id format: uuid type: string required: - id - map_id - site_id - timestamp - trigger - type - zone_id title: webhook_zone_event type: object minItems: 1 type: array uniqueItems: true topic: default: zone description: topic subscribed to type: string required: - events - topic type: object wired_client.response: properties: device_mac: items: readOnly: true type: string readOnly: true type: array device_mac_port: items: properties: device_mac: minLength: 1 type: string ip: readOnly: true type: string port_id: readOnly: true type: string port_parent: type: string start: readOnly: true type: string vlan: readOnly: true type: integer when: readOnly: true type: string readOnly: true type: object minItems: 1 readOnly: true type: array uniqueItems: true ip: items: readOnly: true type: string readOnly: true type: array mac: readOnly: true type: string org_id: $ref: '#/components/schemas/org_id' port_id: items: readOnly: true type: string readOnly: true type: array site_id: $ref: '#/components/schemas/site_id' timestamp: readOnly: true type: number vlan: items: readOnly: true type: integer readOnly: true type: array type: object wlan: description: 'WLAN **Note**: portal_template will be forked out of wlan objects soon. To fetch portal_template, please query portal_template_url. To update portal_template, use Wlan Portal Template.' properties: acct_immediate_update: default: false description: enable coa-immediate-update and address-change-immediate-update on the access profile. type: boolean acct_interim_interval: default: 0 description: how frequently should interim accounting be reported, 60-65535. default is 0 (use one specified in Access-Accept request from RADIUS Server). Very frequent messages can affect the performance of the radius server, 600 and up is recommended when enabled example: 0 maximum: 65535 minimum: 0 type: integer acct_servers: description: list of RADIUS accounting servers, optional, order matters where the first one is treated as primary items: $ref: '#/components/schemas/radius_acct_server' type: array airwatch: $ref: '#/components/schemas/wlan_airwatch' allow_ipv6_ndp: default: true description: only applicable when limit_bcast==true, which allows or disallows ipv6 Neighbor Discovery packets to go through type: boolean allow_mdns: default: false description: only applicable when limit_bcast==true, which allows mDNS / Bonjour packets to go through type: boolean allow_ssdp: default: false description: only applicable when `limit_bcast`==`tru`e, which allows SSDP type: boolean ap_ids: description: list of device ids items: format: uuid type: string nullable: true type: array app_limit: description: bandwidth limiting for apps (applies to up/down) properties: apps: additionalProperties: type: integer description: "Map from app key to bandwidth in kbps. \nProperty key\ \ is the app key, defined in Get Application List" example: dropbox: 300 netflix: 60 type: object enabled: default: false type: boolean wxtag_ids: additionalProperties: type: integer description: 'Map from wxtag_id of Hostname Wxlan Tags to bandwidth in kbps Property key is the wxtag id' example: f99862d9-2726-931f-7559-3dfdf5d070d3: 30 type: object title: wlan_app_limit type: object app_qos: $ref: '#/components/schemas/wlan_app_qos' apply_to: enum: - site - wxtags - aps title: wlan_apply_to type: string arp_filter: default: false description: whether to enable smart arp filter type: boolean auth: $ref: '#/components/schemas/wlan_auth' auth_server_selection: default: ordered description: When ordered, AP will prefer and go back to the first server if possible enum: - ordered - unordered example: ordered title: wlan_auth_server_selection type: string auth_servers: description: list of RADIUS authentication servers, at least one is needed if `auth type`==`eap`, order matters where the first one is treated as primary items: $ref: '#/components/schemas/radius_auth_server' type: array auth_servers_nas_id: description: optional, up to 48 bytes, will be dynamically generated if not provided. used only for authentication servers example: 5c5b350e0101-nas nullable: true type: string auth_servers_nas_ip: description: optional, NAS-IP-ADDRESS to use example: 15.3.1.5 nullable: true type: string auth_servers_retries: default: 2 description: "radius auth session retries. Following fast timers are set\ \ if \u201Cfast_dot1x_timers\u201D knob is enabled. \u2018retries\u2019\ \ are set to value of auth_servers_retries. \u2018max-requests\u2019 is\ \ also set when setting auth_servers_retries and is set to default value\ \ to 3." example: 5 type: integer auth_servers_timeout: default: 5 description: "radius auth session timeout. Following fast timers are set\ \ if \u201Cfast_dot1x_timers\u201D knob is enabled. \u2018quite-period\u2019\ \ and \u2018transmit-period\u2019 are set to half the value of auth_servers_timeout.\ \ \u2018supplicant-timeout\u2019 is also set when setting auth_servers_timeout\ \ and is set to default value of 10." type: integer band: deprecated: true description: '`band` is deprecated and kept for backward compability. Use bands instead' type: string band_steer: default: false description: whether to enable band_steering, this works only when band==both type: boolean band_steer_force_band5: default: false description: force dual-band capable client to connect to 5G type: boolean bands: default: - '24' - '5' description: list of radios that the wlan should apply to items: $ref: '#/components/schemas/dot11_band' type: array block_blacklist_clients: default: false description: whether to block the clients in the blacklist (up to first 256 macs) type: boolean bonjour: $ref: '#/components/schemas/wlan_bonjour' cisco_cwa: $ref: '#/components/schemas/wlan_cisco_cwa' client_limit_down: description: kbps type: integer client_limit_down_enabled: default: false description: if downlink limiting per-client is enabled type: boolean client_limit_up: description: kbps type: integer client_limit_up_enabled: default: false description: if uplink limiting per-client is enabled type: boolean coa_servers: $ref: '#/components/schemas/coa_servers' created_time: readOnly: true type: number disable_11ax: default: false description: some old WLAN drivers may not be compatible type: boolean disable_ht_vht_rates: default: false description: to disable ht or vht rates type: boolean disable_uapsd: default: false description: whether to disable U-APSD type: boolean disable_v1_roam_notify: default: false description: disable sending v2 roam notification messages type: boolean disable_v2_roam_notify: default: false description: disable sending v2 roam notification messages type: boolean disable_wmm: default: false description: whether to disable WMM type: boolean dns_server_rewrite: description: for radius_group-based DNS server (rewrite DNS request depending on the Group RADIUS server returns) nullable: true properties: enabled: default: false type: boolean radius_groups: additionalProperties: type: string description: 'map between radius_group and the desired DNS server (IPv4 only) Property key is the RADIUS group, property value is the desired DNS Server' example: contractor: 172.1.1.1 guest: 8.8.8.8 type: object type: object dtim: default: 2 type: integer dynamic_psk: description: 'for dynamic PSK where we get per-user PSK from Radius dynamic_psk allows PSK to be selected at runtime depending on context (wlan/site/user/...) thus following configurations are assumed (currently) - PSK will come from RADIUS server - AP sends client MAC as username ans password (i.e. `enable_mac_auth` is assumed) - AP sends BSSID:SSID as Caller-Station-ID - `auth_servers` is required - PSK will come from cloud WLC if source is cloud_psks - default_psk will be used if cloud WLC is not available - `multi_psk_only` and `psk` is ignored - `pairwise` can only be wpa2-ccmp (for now, wpa3 support on the roadmap)' nullable: true properties: default_psk: description: default PSK to use if cloud WLC is not available, 8-63 characters example: foryoureyesonly maxLength: 63 minLength: 8 type: string default_vlan_id: example: 999 nullable: true type: integer enabled: default: false type: boolean force_lookup: default: false description: 'when 11r is enabled, we''ll try to use the cached PMK, this can be disabled `false` means auto' type: boolean source: default: radius enum: - radius - cloud_psks example: cloud_psks title: dynamic_psk_source type: string vlan_ids: items: maximum: 4094 minimum: 1 nullable: true type: integer type: array type: object dynamic_vlan: description: for 802.1x nullable: true properties: default_vlan_id: default: 999 description: "vlan_id to use when there\u2019s no match from RADIUS" example: 999 maximum: 4094 minimum: 1 nullable: true type: integer enabled: default: false description: whether to enable dynamic vlan type: boolean local_vlan_ids: description: vlan_ids to be locally bridged items: maximum: 4094 minimum: 1 nullable: true type: integer type: array type: default: standard description: standard (using Tunnel-Private-Group-ID, widely supported), airespace-interface-name (Airespace/Cisco) enum: - standard - airespace-interface-name example: airespace-interface-name title: wlan_dynamic_vlan_type type: string vlans: additionalProperties: type: string description: "map between vlan_id (as string) to airespace interface\ \ names (comma-separated) or null for stndard mapping\n * if `dynamic_vlan.type`==`standard`,\ \ property key is the Vlan ID and property value is \"\"\n * if `dynamic_vlan.type`==`airespace-interface-name`,\ \ property key is the Vlan ID and property value is the Airespace\ \ Interface Name" example: '131': default '322': fast,video type: object title: wlan_dynamic_vlan type: object enable_local_keycaching: default: false description: enable AP-AP keycaching via multicast type: boolean enable_wireless_bridging: default: false description: by default, we'd inspect all DHCP packets and drop those unrelated to the wireless client itself in the case where client is a wireless bridge (DHCP packets for other MACs will need to be orwarded), wireless_bridging can be enabled type: boolean enable_wireless_bridging_dhcp_tracking: default: false description: if the client bridge is doing DHCP on behalf of other devices (L2-NAT), enable dhcp_tracking will cut down DHCP response packets to be forwarded to wireless type: boolean enabled: default: true description: if this wlan is enabled type: boolean fast_dot1x_timers: default: false description: "if set to true, sets default fast-timers with values calculated\ \ from \u2018auth_servers_timeout\u2019 and \u2018auth_server_retries\u2019\ ." type: boolean for_site: readOnly: true type: boolean hide_ssid: default: false description: whether to hide SSID in beacon type: boolean hostname_ie: default: false description: include hostname inside IE in AP beacons / probe responses type: boolean hotspot20: $ref: '#/components/schemas/wlan_hotspot_20' id: format: uuid readOnly: true type: string inject_dhcp_option_82: properties: circuit_id: example: '{{SSID}}:{{AP_MAC}}' type: string enabled: default: false description: whether to inject option 82 when forwarding DHCP packets type: boolean type: object interface: default: all description: where this WLAN will be connected to enum: - all - eth0 - eth1 - eth2 - eth3 - wxtunnel - mxtunnel - site_mxedge example: all title: wlan_interface type: string isolation: default: false description: whether to stop clients to talk to each other type: boolean l2_isolation: default: false description: if isolation is enabled, whether to deny clients to talk to L2 on the LAN type: boolean legacy_overds: default: false description: "legacy devices requires the Over-DS (for Fast BSS Transition)\ \ bit set (while our chip doesn\u2019t support it). Warning! Enabling\ \ this will cause problem for iOS devices." type: boolean limit_bcast: default: false description: whether to limit broadcast packets going to wireless (i.e. only allow certain bcast packets to go through) type: boolean limit_probe_response: description: limit probe response base on some heuristic rules type: boolean max_idletime: default: 1800 description: max idle time in seconds example: 1800 maximum: 86400 minimum: 60 type: integer mist_nac: $ref: '#/components/schemas/wlan_mist_nac' modified_time: readOnly: true type: number msp_id: format: uuid readOnly: true type: string mxtunnel: description: when `interface`=`site_medge`, the definition of the Mist Tunnels (key is the name) type: object mxtunnel_id: deprecated: true description: (deprecated, use mxtunnel_ids instead) when `interface`==`mxtunnel`, id of the Mist Tunnel format: uuid type: string mxtunnel_ids: description: when `interface`=`mxtunnel`, id of the Mist Tunnel format: uuid items: example: 08cd7499-5841-51c8-e663-fb16b6f3b45e type: string type: array mxtunnel_name: description: when `interface`=`site_medge`, name of the mxtunnel that in mxtunnels under Site Setting items: default: default example: default type: string type: array no_static_dns: default: false description: "whether to only allow client to use DNS that we\u2019ve learned\ \ from DHCP response" type: boolean no_static_ip: default: false description: "whether to only allow client that we\u2019ve learned from\ \ DHCP exchange to talk" type: boolean org_id: $ref: '#/components/schemas/org_id' portal: $ref: '#/components/schemas/wlan_portal' portal_allowed_hostnames: description: list of hostnames without http(s):// (matched by substring) example: - snapchat.com - ibm.com items: type: string type: array portal_allowed_subnets: description: list of CIDRs example: - 63.5.3.0/24 items: type: string type: array portal_api_secret: description: api secret (auto-generated) that can be used to sign guest authorization requests example: EIfPMOykI3lMlDdNPub2WcbqT6dNOtWwmYHAd6bY nullable: true type: string portal_denied_hostnames: description: list of hostnames without http(s):// (matched by substring), this takes precedence over portal_allowed_hostnames example: - msg.snapchat.com items: type: string type: array portal_image: description: Url of portal background image format: uri nullable: true type: string portal_sso_url: nullable: true type: string portal_template_url: description: N.B portal_template will be forked out of wlan objects soon. To fetch portal_template, please query portal_template_url. To update portal_template, use Wlan Portal Template. nullable: true readOnly: true type: string qos: properties: class: default: best_effort enum: - background - best_effort - video - voice example: best_effort type: string overwrite: default: false description: whether to overwrite QoS type: boolean type: object radsec: $ref: '#/components/schemas/radsec' rateset: properties: '24': $ref: '#/components/schemas/wlan_datarates' '5': $ref: '#/components/schemas/wlan_datarates' type: object roam_mode: default: none enum: - none - NONE - OKC - 11r example: none type: string schedule: description: WLAN operating schedule, default is disabled properties: enabled: default: false type: boolean hours: additionalProperties: type: string description: "Property keyis mon / tue / wed / thu / fri / sat / sun\n\ Property value is time range in \u201CHH:MM-HH:MM\u201D (24-hour format),\ \ the minimum resolution is 30 minute is the 3 letters\ \ week day (\"mon\", \"tue\", ...)" example: fri: 09:00-17:00 mon: 09:00-17:00 type: object type: object site_id: $ref: '#/components/schemas/site_id' sle_excluded: default: false description: whether to exclude this WLAN from SLE metrics type: boolean ssid: description: the name of the SSID example: corporate type: string template_id: format: uuid nullable: true type: string thumbnail: description: Url of portal background image thumbnail format: uri nullable: true type: string use_eapol_v1: default: false description: "if `auth.type`==\u2019eap\u2019 or \u2018psk\u2019, should\ \ only be set for legacy client, such as pre-2004, 802.11b devices" type: boolean vlan_enabled: default: false description: if vlan tagging is enabled type: boolean vlan_id: maximum: 4094 minimum: 1 nullable: true type: integer vlan_ids: description: "vlan_ids to use when there\u2019s no match from RA" example: - 3 - 4 - 5 items: default: 999 maximum: 4094 minimum: 1 nullable: true type: integer type: array vlan_pooling: default: false description: vlan pooling allows AP to place client on different VLAN using a deterministic algorithm type: boolean wlan_limit_down: description: kbps type: integer wlan_limit_down_enabled: default: false description: if downlink limiting for whole wlan is enabled type: boolean wlan_limit_up: description: kbps type: integer wlan_limit_up_enabled: default: false description: if uplink limiting for whole wlan is enabled type: boolean wxtag_ids: description: list of wxtag_ids items: format: uuid type: string nullable: true type: array wxtunnel_id: description: when `interface`=`wxtunnel`, id of the WXLAN Tunnel nullable: true type: string wxtunnel_remote_id: description: when `interface`=`wxtunnel`, remote tunnel identifier nullable: true type: string required: - ssid type: object wlan_airwatch: description: airwatch wlan settings properties: api_key: description: API Key example: aHhlbGxvYXNkZmFzZGZhc2Rmc2RmCg==" type: string console_url: description: console URL example: https://hs1.airwatchportals.com type: string enabled: type: boolean password: description: password example: user1 type: string username: description: username example: test123 type: string type: object wlan_app_qos: description: app qos wlan settings properties: apps: additionalProperties: properties: dscp: type: integer dst_subnet: description: subnet filter is not required but helps AP to only inspect certain traffic (thus reducing AP load) type: string src_subnet: description: subnet filter is not required but helps AP to only inspect certain traffic (thus reducing AP load) type: string type: object example: skype-business-video: dscp: 32 dst_subnet: 10.2.0.0/16 src_subnet: 10.2.0.0/16 type: object enabled: type: boolean others: items: properties: dscp: example: 32 type: integer dst_subnet: example: 10.2.0.0/16 type: string port_ranges: example: 80,1024-6553 type: string protocol: example: udp type: string src_subnet: example: 10.2.0.0/16 type: string type: object minItems: 1 type: array uniqueItems: true type: object wlan_auth: description: authentication wlan settings properties: anticlog_threshold: default: 16 description: SAE anti-clogging token threshold example: 16 maximum: 32 minimum: 16 type: integer eap_reauth: default: false description: whether to trigger EAP reauth when the session ends type: boolean enable_mac_auth: default: false description: whether to enable MAC Auth, uses the same auth_servers type: boolean key_idx: default: 1 description: when type=wep maximum: 4 minimum: 1 type: integer keys: description: when type=wep, four 10-character or 26-character hex string, null can be used. All keys, if provided, have to be in the same length items: nullable: true type: string type: array multi_psk_only: default: false description: whether to only use multi_psk type: boolean owe: type: string pairwise: default: - wpa2-ccmp description: when type=psk / eap, one or more of wpa2-ccmp / wpa1-tkip / wpa1-ccmp / wpa2-tkip items: enum: - wpa1-ccmp - wpa2-tkip - wpa1-tkip - wpa2-ccmp - wpa3 example: wpa3 nullable: true type: string title: wlan_auth_pairwise type: array private_wlan: description: whether private wlan is enabled. only applicable to multi_psk mode type: boolean psk: description: when type=psk, 8-64 characters, or 64 hex characters example: foryoureyesonly maxLength: 64 minLength: 8 nullable: true type: string type: default: open enum: - open - psk - wep - eap - eap192 - psk-tkip - psk-wpa2-tkip example: psk title: wlan_auth_type type: string wep_as_secondary_auth: description: enable WEP as secondary auth type: boolean required: - type type: object wlan_bonjour: description: bonjour gateway wlan settings properties: additional_vlan_ids: description: additional VLAN IDs (on the LAN side or from other WLANs) should we be forwarding bonjour queries/responses items: type: integer type: array enabled: default: false description: whether to enable bonjour for this WLAN. Once enabled, limit_bcast is assumed true, allow_mdns is assumed false type: boolean services: additionalProperties: properties: disable_local: default: false description: whether to prevent wireless clients to discover bonjour devices on the same WLAN type: boolean radius_groups: description: optional, if the service is further restricted for certain RADIUS groups items: type: string type: array scope: default: same_site description: how bonjour services should be discovered for the same WLAN enum: - same_site - same_map - same_ap title: bonjour_scope type: string type: object description: "what services are allowed. \nProperty key is the service name" example: airplay: radius_groups: - teachers scope: same_ap title: bonjour_service type: object required: - services - additional_vlan_ids type: object wlan_cisco_cwa: description: 'Cisco CWA (central web authentication) required RADIUS with COA in order to work. See CWA: https://www.cisco.com/c/en/us/support/docs/security/identity-services-engine/115732-central-web-auth-00.html' properties: allowed_hostnames: description: list of hostnames without http(s):// (matched by substring) items: example: snapchat.com type: string type: array allowed_subnets: description: list of CIDRs items: example: 63.5.3.0/24 type: string type: array blocked_subnets: description: list of blocked CIDRs items: example: 192.168.0.0/16 type: string type: array enabled: default: false type: boolean type: object wlan_datarates: description: data rates wlan settings properties: ht: description: MCS bitmasks for 4 streams (16-bit for each stream, MCS0 is least significant bit), e.g. 00ff 00f0 001f limits HT rates to MCS 0-7 for 1 stream, MCS 4-7 for 2 stream (i.e. MCS 12-15), MCS 1-5 for 3 stream (i.e. MCS 16-20) example: 00ff00ff00ff nullable: true type: string legacy: description: "list of supported rates (IE=1) and extended supported rates\ \ (IE=50) for custom template, append \u2018b\u2019 at the end to indicate\ \ a rate being basic/mandatory. If `template`==`custom` is configured\ \ and legacy does not define at least one basic rate, it will use `no-legacy`\ \ default values" example: - '6' - '9' - '12' - '18' - 24b - '36' - '48' - '54' items: enum: - '1' - 1b - '2' - 2b - '5.5' - 5.5b - '11' - 11b - '6' - 6b - '9' - 9b - '12' - 12b - '18' - 18b - '24' - 24b - '36' - 36b - '48' - 48b - '54' - 54b type: string type: array min_rssi: description: Minimum RSSI for client to connect, 0 means not enforcing example: -70 type: integer template: description: "* `no-legacy`: no 11b\n* `compatible`: all, like before, default\ \ setting that Broadcom/Atheros used\n* `legacy-only`: disable 802.11n\ \ and 802.11ac \n* `high-density`: no 11b, no low rates\n* `custom`: user\ \ defined" nullable: true type: string vht: description: MCS bitmasks for 4 streams (16-bit for each stream, MCS0 is least significant bit), e.g. 03ff 01ff 00ff limits VHT rates to MCS 0-9 for 1 stream, MCS 0-8 for 2 streams, and MCS 0-7 for 3 streams. example: 03ff03ff03ff01ff type: string type: object wlan_hotspot_20: description: hostspot 2.0 wlan settings properties: domain_name: example: - mist.com items: type: string type: array enabled: description: whether to enable hotspot 2.0 config type: boolean nai_realms: items: type: string type: array operators: description: list of operators to support example: - google - att items: enum: - ameriband - att - boingo - charter - eduroam - global_reach - google - hughes_systique - openroaming_legacy - openroaming_settled - openroaming_settlement_free - single_digits - tmobile - verizon type: string type: array rcoi: example: - 5A03BA0000 items: type: string type: array venue_name: description: venue name, default is site name example: some_name type: string type: object wlan_mist_nac: properties: enabled: default: false description: 'when enabled: * `auth_servers` is ignored * `acct_servers` is ignored * `auth_servers_*` are ignored * `coa_servers` is ignored * `radsec` is ignored * `coa_enabled` is assumed' type: boolean type: object wlan_portal: description: portal wlan settings properties: amazon_client_id: description: amazon OAuth2 client id. This is optional. If not provided, it will use a default one. nullable: true type: string amazon_client_secret: description: amazon OAuth2 client secret. If amazon_client_id was provided, provide a correspoinding value. Else leave blank. nullable: true type: string amazon_email_domains: description: Matches authenticated user email against provided domains. If null or [], all authenticated emails will be allowed. items: type: string type: array amazon_enabled: default: false description: whether amazon is enabled as a login method type: boolean amazon_expire: default: null description: interval for which guest remains authorized using amazon auth (in minutes), if not provided, uses expire` nullable: true type: number auth: default: none description: authentication scheme enum: - none - external - sso example: none title: wlan_portal_auth type: string azure_client_id: description: 'Required if `azure_enabled`==`true`. Azure active directory app client id' nullable: true type: string azure_client_secret: description: 'Required if `azure_enabled`==`true`. Azure active directory app client secret' nullable: true type: string azure_enabled: default: false description: whether Azure Active Directory is enabled as a login method type: boolean azure_expire: default: null description: interval for which guest remains authorized using azure auth (in minutes), if not provided, uses expire` nullable: true type: number azure_tenant_id: description: 'Required if `azure_enabled`==`true`. Azure active directory tenant id.' nullable: true type: string broadnet_password: description: when `sms_provider`==`broadnet` example: password type: string broadnet_sid: default: MIST description: when `sms_provider`==`broadnet` example: MIST type: string broadnet_user_id: description: when `sms_provider`==`broadnet` example: juniper type: string bypass_when_cloud_down: default: false description: whether to bypass the guest portal when cloud not reachable (and apply the default policies) type: boolean clickatell_api_key: description: when `sms_provider`==`clickatell` type: string cross_site: default: false description: whether to allow guest to roam between WLANs (with same `WLAN.ssid`, regardless of variables) of different sites of same org without reauthentication (disable random_mac for seamless roaming) type: boolean email_enabled: description: whether email (access code verification) is enabled as a login method type: boolean enabled: default: false description: whether guest portal is enabled type: boolean expire: default: 1440 description: how long to remain authorized, in minutes example: 1440 type: number external_portal_url: description: external portal URL (e.g. https://host/url) where we can append our query parameters to type: string facebook_client_id: description: 'Required if `facebook_enabled`==`true`. Facebook OAuth2 app id. This is optional. If not provided, it will use a default one.' nullable: true type: string facebook_client_secret: description: 'Required if `facebook_enabled`==`true`. Facebook OAuth2 app secret. If facebook_client_id was provided, provide a correspoinding value. Else leave blank.' nullable: true type: string facebook_email_domains: description: Matches authenticated user email against provided domains. If null or [], all authenticated emails will be allowed. items: type: string type: array facebook_enabled: default: false description: whether facebook is enabled as a login method type: boolean facebook_expire: default: null description: interval for which guest remains authorized using facebook auth (in minutes), if not provided, uses expire` nullable: true type: number forward: default: false description: whether to forward the user to another URL after authorized type: boolean forward_url: description: the URL to forward the user to example: http://abc.com/promotions nullable: true type: string google_client_id: description: Google OAuth2 app id. This is optional. If not provided, it will use a default one. nullable: true type: string google_client_secret: description: Google OAuth2 app secret. If google_client_id was provided, provide a correspoinding value. Else leave blank. nullable: true type: string google_email_domains: description: Matches authenticated user email against provided domains. If null or [], all authenticated emails will be allowed. example: - mydomain.edu - mydomain.org items: type: string type: array google_enabled: default: false description: whether google is enabled as login method type: boolean google_expire: default: null description: interval for which guest remains authorized using google auth (in minutes), if not provided, uses expire` nullable: true type: number gupshup_password: description: when `sms_provider`==`gupshup` type: string gupshup_userid: description: when `sms_provider`==`gupshup` type: string microsoft_client_id: description: microsoft 365 OAuth2 client id. This is optional. If not provided, it will use a default one. nullable: true type: string microsoft_client_secret: description: microsoft 365 OAuth2 client secret. If microsoft_client_id was provided, provide a correspoinding value. Else leave blank. nullable: true type: string microsoft_email_domains: description: Matches authenticated user email against provided domains. If null or [], all authenticated emails will be allowed. items: type: string type: array microsoft_enabled: default: false description: whether microsoft 365 is enabled as a login method type: boolean microsoft_expire: default: null description: interval for which guest remains authorized using microsoft auth (in minutes), if not provided, uses expire` nullable: true type: number passphrase_enabled: default: false description: whether password is enabled type: boolean passphrase_expire: default: null description: interval for which guest remains authorized using passphrase auth (in minutes), if not provided, uses `expire` nullable: true type: number password: description: passphrase example: let me in nullable: true type: string portal_allowed_hostnames: description: list of hostnames without http(s):// (matched by substring) type: string portal_allowed_subnets: description: list of CIDRs type: string portal_api_secret: description: api secret (auto-generated) that can be used to sign guest authorization requests type: string portal_denied_hostnames: description: list of hostnames without http(s):// (matched by substring), this takes precedence over portal_allowed_hostnames type: string portal_image: description: Url of portal background image example: https://url/to/image.png type: string portal_sso_url: description: for SAML, this is used as the ACS URL type: string predefined_sponsors_enabled: default: true description: whether to show list of sponsor emails mentioned in `sponsors` object as a dropdown. If both `sponsor_notify_all` and `predefined_sponsors_enabled` are false, behaviour is acc to `sponsor_email_domains` type: boolean privacy: default: true type: boolean puzzel_password: description: when `sms_provider`==`puzzel` type: string puzzel_service_id: description: when `sms_provider`==`puzzel` type: string puzzel_username: description: when `sms_provider`==`puzzel` type: string smsMessageFormat: type: string sms_enabled: default: false description: whether sms is enabled as a login method type: boolean sms_expire: default: null description: interval for which guest remains authorized using sms auth (in minutes), if not provided, uses expire` nullable: true type: number sms_provider: default: manual enum: - manual - twilio - broadnet - clickatell - puzzel - gupshup - telstra example: twilio type: string sponsor_auto_approve: default: false description: whether to automatically approve guest and allow sponsor to revoke guest access, needs predefined_sponsors_enabled enabled and sponsor_notify_all disabled type: boolean sponsor_email_domains: description: list of domain allowed for sponsor email. Required if `sponsor_enabled` is `true` and `sponsors` is empty. example: - reserved.net - reserved.org items: type: string type: array sponsor_enabled: default: false description: whether sponsor is enabled type: boolean sponsor_expire: default: null description: interval for which guest remains authorized using sponsor auth (in minutes), if not provided, uses expire` nullable: true type: number sponsor_link_validity_duration: default: 60 description: how long to remain valid sponsored guest request approve/deny link received in email, in minutes. example: 30 type: integer sponsor_notify_all: default: false description: whether to notify all sponsors that are mentioned in `sponsors` object. Both `sponsor_notify_all` and `predefined_sponsors_enabled` should be true in order to notify sponsors. If true, email sent to 10 sponsors in no particular order. type: boolean sponsor_status_notify: default: false description: if enabled, guest will get email about sponsor's action (approve/deny) type: boolean sponsors: additionalProperties: type: string description: 'object of allowed sponsors email with name. Required if `sponsor_enabled` is `true` and `sponsor_email_domains` is empty. Property key is the sponsor email, Property value is the sponsor name' example: sponsor1@company.com: FirstName1 LastName1 sponsor2@company.com: FirstName2 LastName2 type: object sso_default_role: description: "default role to assign if there\u2019s no match. By default,\ \ an assertion is treated as invalid when there\u2019s no role matched" type: string sso_forced_role: type: string sso_idp_cert: description: IDP Cert (used to verify the signed response) type: string sso_idp_sign_algo: description: signing algorithm for SAML Assertion type: string sso_idp_sso_url: description: IDP Single-Sign-On URL type: string sso_issuer: description: IDP issuer URL type: string sso_nameid_format: default: email enum: - email - unspecified type: string telstra_client_id: description: when `sms_provider`==`telstra`, Client ID provided by Telstra type: string telstra_client_secret: description: when `sms_provider`==`telstra`, Client secret provided by Telstra type: string thumbnail: description: Url of portal background image thumbnail type: string twilio_auth_token: description: when `sms_provider`==`twilio`, Auth token account with twilio account example: af9dac44c344a875ab5d31cb7abcdefg nullable: true type: string twilio_phone_number: description: when `sms_provider`==`twilio`, Twilio phone number associated with the account. See example for accepted format. example: '+18548888888' nullable: true type: string twilio_sid: description: when `sms_provider`==`twilio`, Account SID provided by Twilio example: AC72ec6ba0ec5af30e6731c5e47abcdefgh nullable: true type: string type: object wlan_portal_template: description: portal template wlan settings properties: accessCodeAlternateEmail: description: "\u201CPlease provide valid alternate email\u201D" type: string alignment: description: "defines alignment on portal. \u201Cleft\u201D is default." type: string authButtonAmazon: description: label for Amazon auth button type: string authButtonAzure: description: label for Azure auth button type: string authButtonEmail: description: label for Email auth button type: string authButtonFacebook: description: label for Facebook auth button type: string authButtonGoogle: description: label for Google auth button type: string authButtonMicrosoft: description: label for Microsoft auth button type: string authButtonPassphrase: description: label for passphrase auth button type: string authButtonSms: description: label for SMS auth button type: string authButtonSponsor: description: label for Sponsor auth button type: string authLabel: description: "\u201CConnect to WiFi with\u201D" type: string backLink: description: label of the link to go back to /logon type: string color: description: "\u201C#1074bc\u201D" type: string colorDark: description: "\u201C#0b5183\u201D" type: string colorLight: description: "\u201C#3589c6\u201D" type: string company: default: false description: whether company field is required type: boolean companyError: description: error message when company not provided type: string companyLabel: description: label of company field type: string email: default: false description: whether email field is required type: boolean emailAccessDomainError: description: "error message when a user has valid social login but doesn\u2019\ t match specified email domains." type: string emailCancel: description: Label for cancel confirmation code submission using email auth type: string emailCodeCancel: type: string emailCodeError: description: "\u201CPlease provide valid alternate email\u201D" type: string emailCodeFieldLabel: description: "\u201CConfirmation Code\u201D" type: string emailCodeMessage: description: "\u201CEnter the access number that was sent to your email\ \ address.\u201D" type: string emailCodeSubmit: description: "\u201CSign In" type: string emailCodeTitle: description: "\u201CAccess Code\u201D" type: string emailError: description: error message when email not provided type: string emailFieldLabel: description: "\u201CEnter your email address\u201D" type: string emailLabel: description: label of email field type: string emailMessage: description: "\u201CWe will email you an authentication code which you can\ \ use to connect to the WiFi network.\u201D" type: string emailSubmit: description: Label for confirmation code submit button using email auth type: string emailTitle: description: "\u201CSign in with Email\u201D" type: string field1: description: whether to ask field1 type: boolean field1Error: description: error message when field1 not provided type: string field1Label: description: label of field1 type: string field1Required: description: whether field1 is required field type: boolean field2: description: whether to ask field2 type: boolean field2Error: description: error message when field2 not provided type: string field2Label: description: label of field2 type: string field2Required: description: whether field2 is required field type: boolean field3: description: whether to ask field3 type: boolean field3Error: description: error message when field3 not provided type: string field3Label: description: label of field3 type: string field3Required: description: whether field3 is required field type: boolean field4: description: whether to ask field4 type: boolean field4Error: description: error message when field4 not provided type: string field4Label: description: label of field4 type: string field4Required: description: whether field4 is required field type: boolean message: description: "\u201CPlease enjoy the complimentary Wifi\u201D" type: string name: default: false description: whether name field is required type: boolean nameError: description: error message when name not provided type: string nameLabel: description: label of name field type: string optout: default: false description: "whether to display \u201CDo Not Store My Personal Information\u201D" type: boolean optoutDefault: default: true description: Default value for the \"Do not store\" checkbox" type: boolean optoutLabel: default: Do not store description: "label for \u201CDo Not Store My Personal Information\u201D" type: string pageTitle: description: "\u201CWelcome\u201D" type: string passphraseCancel: description: "\u201CCancel\u201D" type: string passphraseError: description: error message when invalid passphrase is provided type: string passphraseLabel: description: Passphrase type: string passphraseMessage: description: "\u201CLogin using passphrase\u201D" type: string passphraseSubmit: description: "\u201CSign in\u201D" type: string passphraseTitle: description: Title for passphrase details page type: string poweredBy: default: true description: "whether to show \u201CPowered by Mist\u201D" type: boolean requiredFieldLabel: description: label to denote required field type: string signInLabel: description: label of the button to /signin type: string smsCarrierDefault: description: "\u201CPlease Select\u201D" type: string smsCarrierError: description: "\u201CPlease select a mobile carrier\u201D" type: string smsCarrierFieldLabel: description: label for mobile carrier drop-down list type: string smsCodeCancel: description: Label for cancel confirmation code submission type: string smsCodeError: description: error message when confirmation code is invalid type: string smsCodeFieldLabel: description: "\u201CConfirmation Code\u201D" type: string smsCodeMessage: description: "\u201CEnter the confirmation code\u201D" type: string smsCodeSubmit: description: Label for confirmation code submit button type: string smsCodeTitle: description: "\u201CAccess Code\u201D" type: string smsCountryFieldLabel: description: "\u201CCountry Code\u201D" type: string smsCountryFormat: description: "\u201C+1\u201D" type: string smsHaveAccessCode: description: Label for checkbox to specify that the user has access code type: string smsMessageFormat: description: format of access code sms message. {{code}} and {{duration}} are place holders and should be retained as is. type: string smsNumberCancel: description: label for canceling mobile details for SMS auth type: string smsNumberError: description: "\u201CInvalid Mobile Number\u201D" type: string smsNumberFieldLabel: description: label for field to provide mobile number type: string smsNumberFormat: description: "\u201C2125551212 (digits only)\u201D" type: string smsNumberMessage: description: "\u201CWe will send an access code to your mobile number which\ \ you can use to connect to the WiFi network. Message and data rates may\ \ apply.\u201D" type: string smsNumberSubmit: description: label for submit button for code generation type: string smsNumberTitle: description: Title for phone number details type: string smsUsernameFormat: description: "\u201Cusername\u201D" type: string smsValidityDuration: description: how long confirmation code should be considered valid (in minutes) type: integer sponsorBackLink: description: "\u201CGo back and edit request form\u201D" type: string sponsorCancel: description: "\u201CCancel\u201D" type: string sponsorEmail: description: label for Sponsor Email type: string sponsorEmailError: description: "\u201CPlease provide valid sponsor email\u201D" type: string sponsorEmailTemplate: description: "html template to replace/override default sponsor email template\n\ \nSponsor Email Template supports following template variables: \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 * `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)\n" type: string sponsorInfoApproved: description: "\u201CYour request was approved by\u201D" type: string sponsorInfoDenied: description: "\u201CYour request was denied by\u201D" type: string sponsorInfoPending: description: "\u201CYour notification has been sent to\u201D" type: string sponsorName: description: label for Sponsor Name type: string sponsorNameError: description: "\u201CPlease provide sponsor\u2019s name\u201D" type: string sponsorNotePending: description: "\u201CPlease wait for them to acknowledge.\u201D" type: string sponsorRequestAccess: description: "\u2018submit button label request Wifi Access and notify sponsor\ \ about guest request" type: string sponsorSelectEmail: description: "\u201CSelect Sponsor\u201D" type: string sponsorStatusApproved: description: text to display if sponsor approves request type: string sponsorStatusDenied: description: text to display when sponsor denies request type: string sponsorStatusPending: description: text to display if request is still pending type: string sponsorSubmit: description: submit button label to notify sponsor about guest request type: string sponsorsError: description: "\u201CPlease select a sponsor\u201D" type: string sponsorsInfoApproved: description: "\u201CYour request was approved\u201D" type: string sponsorsInfoDenied: description: "\u201CYour request was denied\u201D" type: string sponsorsInfoPending: description: "\u201CYour notification has been sent to the sponsors\u201D" type: string tos: default: true type: boolean tosAcceptLabel: description: prefix of the label of the link to go to /tos type: string tosError: description: error message when tos not accepted type: string tosLink: description: label of the link to go to /tos type: string tosText: description: text of the Terms of Service type: string required: - pageTitle type: object wxlan_rule: description: WXlan properties: action: description: type of action, allow / block enum: - allow - block example: allow title: wxlan_rule_action type: string apply_tags: items: example: c049dfcd-0c73-5014-1c64-062e9903f1e5 type: string type: array blocked_apps: description: blocked apps (always blocking, ignoring action), the key of Get Application List example: - mist - all-videos items: type: string type: array created_time: readOnly: true type: number dst_allow_wxtags: description: tag list to indicate these tags are allowed access example: - fff34466-eec0-3756-6765-381c728a6037 - eee2c7b0-d1d0-5a30-f349-e35fa43dc3b3 items: type: string type: array dst_deny_wxtags: description: tag list to indicate these tags are blocked access example: - aaa34466-eec0-3756-6765-381c728a6037 - bbb2c7b0-d1d0-5a30-f349-e35fa43dc3b3 items: type: string type: array enabled: default: true type: boolean for_site: readOnly: true type: boolean id: format: uuid readOnly: true type: string modified_time: readOnly: true type: number order: description: the order how rules would be looked up, > 0 and bigger order got matched first, -1 means LAST, uniqueness not checked example: 1 minimum: 1 type: number org_id: $ref: '#/components/schemas/org_id' site_id: $ref: '#/components/schemas/site_id' src_wxtags: description: tag list to determine if this rule would match example: - 8bfc2490-d726-3587-038d-cb2e71bd2330 - 3aa8e73f-9f46-d827-8d6a-567bb7e67fc9 items: type: string type: array required: - order - src_wxtags type: object wxlan_tag: description: "WxLAN Tag\n* type:\n** client: created manually (e.g. on wireless\ \ client table, when they spot a device of interest, they can create a wxlan\ \ tag for it\n** resource: created automatically when we discover a network\ \ resource\n** subnet: create automatically when a subnet is discovered\n\n\ * match:\n** wlan_id, ap_id: values are a list of Wlan / Device ids\n** client_mac:\ \ values are a list of MAC addresses\n\n* radius_group: this is a smart tag\ \ that matches RADIUS-Filter-ID, Airespace-ACL-Name (VendorID=14179, VendorType=6)\ \ / Aruba-User-Role (VendorID=14823, VendorType=1)\n* radius_username: this\ \ matches the ATTR-User-Name(1)\n* radius_class: thie matches the ATTR-Class(25)\n\ * radius_attr: the values are [ \u201C6=1\u201D, \u201C26=10.2.3.4\u201D ],\ \ this support other RADIUS attributes where we know the type\n* radius_vendor:\ \ the values are [ \u201C14179.10=1\u201D, \u201C14178.16=1.2.3.4\u201D ],\ \ this matches vendor attributes and will be dynamically evaluated" properties: created_time: readOnly: true type: number for_site: readOnly: true type: boolean id: format: uuid readOnly: true type: string last_ips: items: type: string type: array mac: nullable: true type: string match: enum: - ap_id - app - asset_mac - client_mac - hostname - ip_range_subnet - port - radius_attr - radius_group - radius_username - wlan_id - psk_name - psk_role title: wxlan_tag_match type: string modified_time: readOnly: true type: number name: description: The name type: string op: default: in enum: - in - not_in title: wxlan_tag_operation type: string org_id: $ref: '#/components/schemas/org_id' resource_mac: nullable: true type: string services: items: type: string type: array site_id: $ref: '#/components/schemas/site_id' specs: description: if `type`==`specs` items: properties: port_range: default: '0' description: matched dst port, "0" means any type: string protocol: default: any description: tcp / udp / icmp / gre / any / ":protocol_number", `protocol_number` is between 1-254 type: string subnets: default: - 0.0.0.0/0 description: matched dst subnet items: type: string type: array title: wxlan_tag_spec type: object type: array subnet: type: string type: enum: - match - client - resource - subnet - spec - vlan title: wxlan_tag_type type: string values: description: if `type`!=`vlan_id` and `type`!=`specs`, list of values to match items: type: string type: array vlan_id: description: if `type`==`vlan_id` example: 1055 type: integer required: - type - name type: object wxlan_tunnel: description: WxLAn Tunnel properties: created_time: readOnly: true type: number dmvpn: description: Dynamic Multipoint VPN configurations properties: enabled: default: false description: whether DMVPN is enabled type: boolean holding_time: description: "optional; the holding time for NHRP \u2018registration\ \ requests\u2019 and \u2018resolution replies\u2019 sent from the\ \ Mist AP (in seconds); default 600" type: integer host_routes: description: optional; list of IPv4 DMVPN peer host ip-addresses to which traffic is forwarded items: type: string type: array type: object for_mgmt: default: false description: determined during creation time and cannot be toggled. A management tunnel cannot be used by wxlan rule or by wlan type: boolean for_site: readOnly: true type: boolean hello_interval: default: 60 description: in seconds, used as heartbeat to detect if a tunnel is alive. AP will try another peer after missing N hellos specified by hello_retries. maximum: 300 minimum: 1 type: integer hello_retries: default: 7 maximum: 30 minimum: 2 type: integer hostname: description: "optional, overwrite the hostname in SCCRQ control message,\ \ default is \u201C\u201D or null, %H and %M can be used, which will be\ \ replace with corresponding values:\n* %H: name of the ap if provided\ \ (and will be stripped so it can be used for hostname) and fallbacks\ \ to MAC\n* %M: MAC (e.g. 5c5b350e0060)" type: string id: format: uuid readOnly: true type: string ipsec: description: IPSec-related configurations; requires DMVPN be enabled properties: enabled: default: false description: whether ipsec is enabled, requires DMVPN be enabled type: boolean psk: description: ipsec pre-shared key type: string required: - psk type: object is_static: default: false description: "whether it\u2019s static/unmanaged (i.e. no control session).\ \ As the session configurations are not compatible, cannot be toggled." type: boolean modified_time: readOnly: true type: number mtu: default: 0 description: 0 to enable PMTU, 552-1500 to start PMTU with a lower MTU maximum: 1500 minimum: 0 type: integer name: description: The name of the tunnel type: string org_id: $ref: '#/components/schemas/org_id' peers: description: "list of remote peers\u2019 IP or hostname" items: type: string type: array router_id: description: "optional, overwrite the router-id in SCCRQ control message,\ \ default is \u201C0\u201D or null, can also be an IPv4 address" type: string secret: description: "secret, \u2018\u2019 if no auth is used" type: string sessions: description: sessions to be established with the tunnel. Has to be >= 1 in order for this tunnel to be useful. For management tunnel, it can only have 1 items: properties: ap_as_session_id: description: if `use_ap_as_session_ids`==`true`, only apmac is supported right now. This is the name WLAN should use for wxtunnel_remote_id type: string comment: description: optional, user-specified string for display purpose type: string enable_cookie: type: boolean ethertype: enum: - ethernet - vlan type: string local_session_id: description: 1-4294967295 maximum: 4294967295 minimum: 1 type: integer pseudo_802.1ad_enabled: default: false description: "optional. Enables the pseudo 802.1ad QinQ mode where\ \ the AP device drops the outer vlan tag (QinQ). This mode is useful\ \ when tunneling Mist AP\u2019s to some aggregation routers." type: boolean remote_id: description: remote-id of the session, has to be unique in the same tunnel type: string remote_session_id: description: 1-4294967295 maximum: 4294967295 minimum: 1 type: integer use_ap_as_session_ids: default: false description: whether to use AP (last 4 bytes of MAC currently) as session ids type: boolean title: wxlan_tunnel_sessio type: object minItems: 1 type: array uniqueItems: true site_id: $ref: '#/components/schemas/site_id' udp_port: description: udp port if `use_udp`==`true` type: integer use_udp: default: false description: whether to use UDP instead of IP (proto=115, which is default of L2TPv3) type: boolean required: - name type: object wxrule_stats: description: Wxrule statistics properties: action: enum: - allow - block example: allow type: string client_mac: example: - 3bbbf819bb6f - bd96cbc4910f items: type: string type: array dst_allow_wxtags: example: - fff34466-eec0-3756-6765-381c728a6037 - eee2c7b0-d1d0-5a30-f349-e35fa43dc3b3 items: format: uuid type: string type: array dst_deny_wxtags: example: - aaa34466-eec0-3756-6765-381c728a6037 - bbb2c7b0-d1d0-5a30-f349-e35fa43dc3b3 items: format: uuid type: string type: array dst_wxtags: example: - d4134466-eec0-3756-6765-381c728a6037 - 1a42c7b0-d1d0-5a30-f349-e35fa43dc3b3 items: format: uuid type: string type: array name: example: Guest type: string order: example: 1 type: integer src_wxtags: example: - 8bfc2490-d726-3587-038d-cb2e71bd2330 - 3aa8e73f-9f46-d827-8d6a-567bb7e67fc9 items: format: uuid type: string type: array usage: additionalProperties: properties: num_flows: type: integer type: object example: 1a42c7b0-d1d0-5a30-f349-e35fa43dc3b3: num_flows: 60 d4134466-eec0-3756-6765-381c728a6037: num_flows: 60 title: wxrule_stats_usage type: object required: - name - order - src_wxtags - dst_wxtags - dst_allow_wxtags - dst_deny_wxtags - client_mac - usage - action type: object wxtag_client: properties: mac: example: 5684dae9ac8b type: string since: example: 1428939600 type: number required: - mac - since type: object wxtag_clients: items: $ref: '#/components/schemas/wxtag_client' minItems: 1 type: array uniqueItems: true zone: description: Zone properties: created_time: readOnly: true type: number for_site: readOnly: true type: boolean id: format: uuid readOnly: true type: string map_id: description: map where this zone is defined format: uuid type: string modified_time: readOnly: true type: number name: description: The name of the zone type: string org_id: $ref: '#/components/schemas/org_id' site_id: $ref: '#/components/schemas/site_id' vertices: $ref: '#/components/schemas/zone_vertices' required: - name - map_id - vertices type: object zone_stats: description: Zone statistics properties: assets_waits: description: ble asset wait time right now properties: avg: description: average wait time in seconds example: 0 type: number max: description: longest wait time in seconds example: 0 type: number min: description: shortest wait time in seconds example: 0 type: number p95: description: 95th percentile of all the wait time(s) example: 0 type: number type: object clients_waits: description: client wait time right now properties: avg: description: average wait time in seconds example: 1200 type: number max: description: longest wait time in seconds example: 3610 type: number min: description: shortest wait time in seconds example: 600 type: number p95: description: 95th percentile of all the wait time(s) example: 2800 type: number type: object created_time: example: 1616625211 type: integer id: description: id of the zone example: 123470c7-5d9d-424a-8475-8b344c621234 format: uuid type: string map_id: description: map_id of the zone example: 123449d4-d12f-4feb-b40f-5be0e2ae1234 format: uuid type: string modified_time: example: 1616625211 type: integer name: description: name of the zone example: Zone A type: string num_assets: description: number of assets example: 0 type: integer num_clients: description: number of wifi clients (unconnected + connected) example: 80 type: integer num_sdkclients: description: number of sdk clients example: 10 type: integer occupancy_limit: example: 4 type: integer org_id: $ref: '#/components/schemas/org_id' sdkclients_waits: description: sdkclient wait time right now properties: avg: description: average wait time in seconds example: 1200 type: number max: description: longest wait time in seconds example: 3610 type: number min: description: shortest wait time in seconds example: 600 type: number p95: description: 95th percentile of all the wait time(s) example: 2800 type: number type: object site_id: $ref: '#/components/schemas/site_id' vertices: $ref: '#/components/schemas/zone_vertices' vertices_m: $ref: '#/components/schemas/zone_vertices_m' required: - id - map_id - name type: object zone_stats_details: description: Zone details statistics properties: assets: description: list of ble assets currently in the zone and when they entered items: example: df8dff06ae90 type: string type: array client_waits: description: client wait time right now properties: avg: description: average wait time in seconds example: 1200 type: integer max: description: longest wait time in seconds example: 3610 type: integer min: description: shortest wait time in seconds example: 600 type: integer p95: description: 95th percentile of all the wait time(s) example: 2800 type: integer required: - avg - max - min - p95 type: object clients: description: list of clients currently in the zone and when they entered items: example: 5684dae9ac8b type: string type: array id: description: id of the zone example: 8ac84899-32db-6327-334c-9b6d58544cfe format: uuid type: string map_id: description: map_id of the zone example: 63eda950-c6da-11e4-a628-60f81dd250cc format: uuid type: string name: description: name of the zone example: Board Room type: string num_clients: example: 80 type: integer num_sdkclients: description: sdkclient wait time right now example: 0 type: integer sdkclients: description: list of sdkclients currently in the zone and when they entered items: example: 7e2b463d-c91c-ff7d-f3c0-6eccc6949ff8 type: string type: array required: - client_waits - id - map_id - name - num_clients - num_sdkclients type: object zone_vertices: description: "vertices used to define an area. It\u2019s assumed that the last\ \ point connects to the first point and forms an closed area" example: - x: 732 y: 1821 - x: 732.5 y: 1731 - x: 837.5 y: 1731.5 - x: 839 y: 1821 items: properties: x: description: x in pixel type: number y: description: y in pixel type: number required: - x - y title: zone_vertex type: object uniqueItems: true type: array zone_vertices_m: example: - x: 24.1983341951072 y: 60.198314985369144 - x: 24.21486311190714 y: 57.22310996138056 - x: 27.685935639893827 y: 57.23963887818049 - x: 27.73552239029364 y: 60.198314985369144 items: properties: x: description: x in pixel type: number y: description: y in pixel type: number required: - x - y title: zone_vertex_m type: object uniqueItems: true type: array securitySchemes: apiToken: description: "Like many other API providers, it\u2019s also possible to generate\ \ API Tokens to be used (in HTTP Header) for authentication. An API token\ \ ties to a Admin with equal or less privileges.\n\n**Format**:\n API Token\ \ value format is `Token {apitoken}`\n\n**Notes**:\n* an API token generated\ \ for a specific admin has the same privilege as the user\n* an API token\ \ will be automatically removed if not used for > 90 days\n* SSO admins cannot\ \ generate these API tokens. Refer Org level API tokens which can have privileges\ \ of a specific Org/Site for more information." in: header name: Authorization type: apiKey basicAuth: description: "While our current UI uses Session / Cookie-based authentication,\ \ it\u2019s also possible to do Basic Auth." scheme: basic type: http x-tagGroups: - name: Login tags: - Login - Login With OAuth2 - name: Self tags: - Self Account - Self OAuth2 - Self MFA - Self API Token - Recover Password - Self Alarms - Self Audit Logs - name: Sites tags: - Sites - Sites Alarms - Sites AP Templates - Sites Applications - Sites Anomaly - Sites Asset Filters - Sites Assets - Sites Beacons - Sites Calls - Sites Clients - NAC - Sites Clients - Wan - Sites Clients - Wired - Sites Clients - Wireless - Sites Devices - Sites Devices - Wireless - Sites Devices - Wired - Sites Devices - Wired Virtual Chassis - Sites Devices - WAN Cluster - Sites Devices Others - Sites Devices Stats - Sites Device Profiles - Sites Events - Sites EVPN Topologies - Sites Gateway Templates - Sites Guests - Sites Insights - Sites JSE - Sites Licenses - Sites Location - Sites Maps - Sites Maps Auto-orientation - Sites Maps Auto-placement - Sites MxEdges - Sites Network Templates - Sites Networks - Sites Psks - Sites Rfdiags - Sites Rogues - Sites RF Templates - Sites RRM - Sites RSSI Zones - Sites Services - Sites Service Policies - Sites Setting - Sites Site Templates - Sites Skyatp - Sites SLEs - Sites Stats - Synthetic Tests - Sites UI Settings - Sites vBeacons - Sites VPNs - Sites Webhooks - Sites Wlans - Sites WxRules - Sites WxTags - Sites WxTunnels - Sites Zones - name: Orgs tags: - Orgs - Orgs 128T - Orgs Admins - Orgs Alarms - Orgs Alarm Templates - Orgs AP Templates - Orgs API Tokens - Orgs Assets - Orgs Asset Filters - Orgs Cert - Orgs Clients - NAC - Orgs Clients - Wan - Orgs Clients - Wired - Orgs Clients - Wireless - Orgs Cradlepoint - Orgs CRL - Orgs Devices - Orgs Devices - WAN Cluster - Orgs Devices Others - Orgs Devices Stats - Utilities Upgrade - Orgs Devices Zscaler - Orgs Device Profiles - Orgs EVPN Topologies - Orgs Gateway Templates - Orgs Guests - Orgs IDP Profiles - Orgs Inventory - Orgs JSE - Orgs JSI - Orgs Licenses - Orgs Linked Applications - Orgs Logs - Orgs Maps - Orgs Marvis - Orgs MxClusters - Orgs MxEdges - Orgs MxTunnels - Orgs NAC CRL - Orgs NAC Portals - Orgs NAC Rules - Orgs NAC Tags - Orgs Network Templates - Orgs Networks - Orgs Premium Analytics - Orgs Psks - Orgs Psk Portals - Orgs RF Templates - Orgs SDK Clients - Orgs SDK Invites - Orgs SDK Templates - Orgs SecPolicies - Orgs Services - Orgs Service Policies - Orgs Setting - Orgs Sitegroups - Orgs Sites - Orgs Site Templates - Orgs SLEs - Orgs SSO Roles - Orgs SSO - Orgs Stats - Orgs Subscriptions - Orgs WLAN Templates - Orgs Tickets - Orgs Tunnels Stats - Orgs User MACs - Orgs Vars - Orgs VPNs - Orgs Webhooks - Orgs Wlans - Orgs WxRules - Orgs WxTags - Orgs WxTunnels - name: MSPs tags: - Msps - Msps Admins - Msps Inventory - Msps Logo - Msps Invites - Msps Logs - Msps Licenses - Msps Marvis - Msps Org Groups - Msps Orgs - Msps SLEs - Msps SSO Roles - Msps SSO - Msps Stats - Msps Tickets - name: Utilities tags: - Utilities Common - Utilities LAN - Utilities Location - Utilities MxEdge - Utilities PCAPs - Utilities Upgrade - Utilities WAN - Utilities Wi-Fi - name: Installer tags: - Installer - name: Webhook Samples tags: - Webhook Samples - name: Constants tags: - Constants Definitions - Constants Events - Constants Models - Constants Misc - name: Others tags: - Admins - Mobile