diff --git a/changelog/changelog-config.json b/changelog/changelog-config.json index a3c1690..219d569 100644 --- a/changelog/changelog-config.json +++ b/changelog/changelog-config.json @@ -8,6 +8,9 @@ { "title": "Generally Available", "items": [ + { + "content": "v1.49.0.md" + }, { "content": "v1.48.0.md" }, diff --git a/changelog/v1-beta.md b/changelog/v1-beta.md index 0f247a7..724b432 100644 --- a/changelog/v1-beta.md +++ b/changelog/v1-beta.md @@ -10,14 +10,6 @@ - [List per-port VLAN settings for all ports of a MX.](#list-per-port-vlan-settings-for-all-ports-of-a-mx) - [Return per-port VLAN settings for a single MX port.](#return-per-port-vlan-settings-for-a-single-mx-port) - [Update the per-port VLAN settings for a single MX port.](#update-the-per-port-vlan-settings-for-a-single-mx-port) - * [\[ networks \]](#-networks-) - + [settings](#settings) - - [Update the settings for a network](#update-the-settings-for-a-network) - + [firmwareUpgrades](#firmwareupgrades) - - [Get firmware upgrade information for a network](#get-firmware-upgrade-information-for-a-network) - - [Update firmware upgrade information for a network](#update-firmware-upgrade-information-for-a-network) - + [devices](#devices) - - [Claim devices into a network. (Note: for recently claimed devices, it may take a few minutes for API requests against that device to succeed)](#claim-devices-into-a-network-note-for-recently-claimed-devices-it-may-take-a-few-minutes-for-api-requests-against-that-device-to-succeed) * [\[ switch \]](#-switch-) + [stacks](#stacks) - [Update a layer 3 interface for a switch stack](#update-a-layer-3-interface-for-a-switch-stack) @@ -33,25 +25,57 @@ - [Updates specified RF profile for this network](#updates-specified-rf-profile-for-this-network) - [Creates new RF profile for this network](#creates-new-rf-profile-for-this-network) * [\[ organizations \]](#-organizations-) - + [devices](#devices-1) + + [devices](#devices) - [List the availability history information for devices in an organization.](#list-the-availability-history-information-for-devices-in-an-organization) - [List the status of every Meraki device in the organization](#list-the-status-of-every-meraki-device-in-the-organization) + * [\[ networks \]](#-networks-) + + [settings](#settings) + - [Update the settings for a network](#update-the-settings-for-a-network) + + [firmwareUpgrades](#firmwareupgrades) + - [Get firmware upgrade information for a network](#get-firmware-upgrade-information-for-a-network) + - [Update firmware upgrade information for a network](#update-firmware-upgrade-information-for-a-network) + + [devices](#devices-1) + - [Claim devices into a network. (Note: for recently claimed devices, it may take a few minutes for API requests against that device to succeed)](#claim-devices-into-a-network-note-for-recently-claimed-devices-it-may-take-a-few-minutes-for-api-requests-against-that-device-to-succeed) * [\[ insight \]](#-insight-) + [applications](#applications) - [Add an Insight tracked application](#add-an-insight-tracked-application) - [Add an Insight tracked application](#add-an-insight-tracked-application-1) - [What's New](#whats-new) - * [\[ networks \]](#-networks--1) - + [locationScanning](#locationscanning) - - [Return scanning API settings](#return-scanning-api-settings) - - [Change scanning API settings](#change-scanning-api-settings) - - [Return list of scanning API receivers](#return-list-of-scanning-api-receivers) - - [Set the list of scanning API receivers. Old receivers will be removed](#set-the-list-of-scanning-api-receivers-old-receivers-will-be-removed) + * [\[ appliance \]](#-appliance--1) + + [sdwan](#sdwan) + - [Get the SDWAN internet traffic preferences for an MX network](#get-the-sdwan-internet-traffic-preferences-for-an-mx-network) * [\[ switch \]](#-switch--1) + + [configTemplates](#configtemplates) + - [list the port mirror configurations in an organization by switch profile](#list-the-port-mirror-configurations-in-an-organization-by-switch-profile) + - [Update a port mirror](#update-a-port-mirror) + + [stacks](#stacks-1) + - [Update switch port mirrors for switch stacks](#update-switch-port-mirrors-for-switch-stacks) + - [List the port mirror configurations in an organization by switch](#list-the-port-mirror-configurations-in-an-organization-by-switch) + [ports](#ports-2) + - [Update a port mirror](#update-a-port-mirror-1) + - [List the port profiles in a network](#list-the-port-profiles-in-a-network) + - [Create a port profile in a network](#create-a-port-profile-in-a-network) + - [Update a port profile in a network](#update-a-port-profile-in-a-network) + - [Delete a port profile from a network](#delete-a-port-profile-from-a-network) - [Return all connectivity events for each switch port in the given organization, within a given time range.](#return-all-connectivity-events-for-each-switch-port-in-the-given-organization-within-a-given-time-range) + - [list the port mirror configurations in an organization by switch](#list-the-port-mirror-configurations-in-an-organization-by-switch) + - [List the port profiles in an organization](#list-the-port-profiles-in-an-organization) + - [Create a port profile in an organization](#create-a-port-profile-in-an-organization) + - [list the automation port profiles in an organization](#list-the-automation-port-profiles-in-an-organization) + - [Create a port profile automation for an organization](#create-a-port-profile-automation-for-an-organization) + - [Update a port profile automation in an organization](#update-a-port-profile-automation-in-an-organization) + - [Delete an automation port profile from an organization](#delete-an-automation-port-profile-from-an-organization) + - [Get detailed information about a port profile](#get-detailed-information-about-a-port-profile) + - [Update a port profile in an organization](#update-a-port-profile-in-an-organization) + - [Delete a port profile from an organization](#delete-a-port-profile-from-an-organization) - [List the switchports in an organization](#list-the-switchports-in-an-organization) + - [Return time-series digital optical monitoring (DOM) readings for ports on each DOM-enabled switch in an organization, in addition to thresholds for each relevant Small Form Factor Pluggable (SFP) module.](#return-time-series-digital-optical-monitoring-dom-readings-for-ports-on-each-dom-enabled-switch-in-an-organization-in-addition-to-thresholds-for-each-relevant-small-form-factor-pluggable-sfp-module) * [\[ wireless \]](#-wireless--1) + + [clients](#clients) + - [Fetch the health scores for all clients on this network](#fetch-the-health-scores-for-all-clients-on-this-network) + - [Return counts of distinct wireless clients connecting to a network over time](#return-counts-of-distinct-wireless-clients-connecting-to-a-network-over-time) + - [Fetch the health scores for a given client on this network. Clients are identified by their MAC or ID](#fetch-the-health-scores-for-a-given-client-on-this-network-clients-are-identified-by-their-mac-or-id) + - [List access point client count at the moment in an organization](#list-access-point-client-count-at-the-moment-in-an-organization) + [zigbee](#zigbee) - [Enqueue a job to start enrolling doorlocks on zigbee configured MRs](#enqueue-a-job-to-start-enrolling-doorlocks-on-zigbee-configured-mrs) - [Return an enrollment job](#return-an-enrollment-job) @@ -62,20 +86,20 @@ - [Return a disenrollment job](#return-a-disenrollment-job) - [Return the list of doorlocks for a network](#return-the-list-of-doorlocks-for-a-network) - [Endpoint to bulk update door locks params](#endpoint-to-bulk-update-door-locks-params) - + [clients](#clients) - - [Fetch the health scores for all clients on this network](#fetch-the-health-scores-for-all-clients-on-this-network) - - [Return counts of distinct wireless clients connecting to a network over time](#return-counts-of-distinct-wireless-clients-connecting-to-a-network-over-time) - - [Fetch the health scores for a given client on this network. Clients are identified by their MAC or ID](#fetch-the-health-scores-for-a-given-client-on-this-network-clients-are-identified-by-their-mac-or-id) - - [List access point client count at the moment in an organization](#list-access-point-client-count-at-the-moment-in-an-organization) + + [radio](#radio) + - [Return the positioning for a wireless device](#return-the-positioning-for-a-wireless-device) + - [Update the positioning attributes for this device](#update-the-positioning-attributes-for-this-device) + - [Return the AFC power limits for a wireless device](#return-the-afc-power-limits-for-a-wireless-device) + - [Update the AutoRF settings for a wireless network](#update-the-autorf-settings-for-a-wireless-network) + - [List the AFC power limits of an organization by device](#list-the-afc-power-limits-of-an-organization-by-device) + - [List the AFC power limits of an organization by device](#list-the-afc-power-limits-of-an-organization-by-device-1) + - [List the AutoRF settings of an organization by network](#list-the-autorf-settings-of-an-organization-by-network) + - [List the channel planning activities of an organization](#list-the-channel-planning-activities-of-an-organization) + [healthScores](#healthscores) - [Fetch the health scores for a given AP on this network](#fetch-the-health-scores-for-a-given-ap-on-this-network) + [devices](#devices-2) - [Fetch the health scores of all APs on this network](#fetch-the-health-scores-of-all-aps-on-this-network) - [List of Catalyst access points information](#list-of-catalyst-access-points-information) - + [radio](#radio) - - [Update the AutoRF settings for a wireless network](#update-the-autorf-settings-for-a-wireless-network) - - [List the AutoRF settings of an organization by network](#list-the-autorf-settings-of-an-organization-by-network) - - [List the channel planning activities of an organization](#list-the-channel-planning-activities-of-an-organization) * [\[ organizations \]](#-organizations--1) + [auth](#auth) - [List the organization-wide RADIUS servers in the organization](#list-the-organization-wide-radius-servers-in-the-organization) @@ -108,6 +132,13 @@ - [Create a ThousandEyes test based on a provided test template. Only valid for networks with access to Meraki Insight. Organization must have a ThousandEyes account connected to perform this action.](#create-a-thousandeyes-test-based-on-a-provided-test-template-only-valid-for-networks-with-access-to-meraki-insight-organization-must-have-a-thousandeyes-account-connected-to-perform-this-action) + [policies](#policies) - [Get policies for all clients with policies](#get-policies-for-all-clients-with-policies) + + [devices](#devices-3) + - [Returns the history of device boots in reverse chronological order (most recent first). Currently supported for MS devices only.](#returns-the-history-of-device-boots-in-reverse-chronological-order-most-recent-first-currently-supported-for-ms-devices-only) + - [List Packet Captures](#list-packet-captures) + - [Perform a packet capture on a device and store in Meraki Cloud. Only a single switch may be chosen per request, while multiple access points are allowed at once.](#perform-a-packet-capture-on-a-device-and-store-in-meraki-cloud-only-a-single-switch-may-be-chosen-per-request-while-multiple-access-points-are-allowed-at-once) + - [Delete packet capture from cloud](#delete-packet-capture-from-cloud) + - [Get presigned download URL for given packet capture id](#get-presigned-download-url-for-given-packet-capture-id) + - [Stop a specific packet capture](#stop-a-specific-packet-capture) + [support](#support) - [Returns the organization's sales representatives](#returns-the-organizations-sales-representatives) + [webhooks](#webhooks) @@ -135,18 +166,14 @@ - [List wireless LAN controller layer 3 interfaces history usage in an organization](#list-wireless-lan-controller-layer-3-interfaces-history-usage-in-an-organization) - [List the failover events of wireless LAN controllers in an organization](#list-the-failover-events-of-wireless-lan-controllers-in-an-organization) - [List redundancy details of wireless LAN controllers in an organization. The failover count refers to the total failovers system happens from the moment of this device onboarding to Dashboard](#list-redundancy-details-of-wireless-lan-controllers-in-an-organization-the-failover-count-refers-to-the-total-failovers-system-happens-from-the-moment-of-this-device-onboarding-to-dashboard) + - [List cpu utilization data of wireless LAN controllers in an organization](#list-cpu-utilization-data-of-wireless-lan-controllers-in-an-organization) - [List the overview information of wireless LAN controllers in an organization and it is updated every minute.](#list-the-overview-information-of-wireless-lan-controllers-in-an-organization-and-it-is-updated-every-minute) - * [\[ insight \]](#-insight--1) - + [speedTestResults](#speedtestresults) - - [List the speed tests for the given devices under this organization. Only valid for organizations with Meraki Insight.](#list-the-speed-tests-for-the-given-devices-under-this-organization-only-valid-for-organizations-with-meraki-insight) - + [webApps](#webapps) - - [Lists all default web applications rules with counter set rule ids](#lists-all-default-web-applications-rules-with-counter-set-rule-ids) - - [Add a custom web application for Insight to be able to track](#add-a-custom-web-application-for-insight-to-be-able-to-track) - - [Update a custom web application for Insight to be able to track](#update-a-custom-web-application-for-insight-to-be-able-to-track) - - [Delete a custom web application by counter set rule id.](#delete-a-custom-web-application-by-counter-set-rule-id) - + [applications](#applications-1) - - [Update an Insight tracked application](#update-an-insight-tracked-application) - - [Delete an Insight tracked application](#delete-an-insight-tracked-application) + * [\[ networks \]](#-networks--1) + + [locationScanning](#locationscanning) + - [Return scanning API settings](#return-scanning-api-settings) + - [Change scanning API settings](#change-scanning-api-settings) + - [Return list of scanning API receivers](#return-list-of-scanning-api-receivers) + - [Set the list of scanning API receivers. Old receivers will be removed](#set-the-list-of-scanning-api-receivers-old-receivers-will-be-removed) * [\[ devices \]](#-devices-) + [traceRoute](#traceroute) - [Enqueue a job to run trace route in the device. This endpoint has a sustained rate limit of one request every five seconds per device, with an allowed burst of five requests.](#enqueue-a-job-to-run-trace-route-in-the-device-this-endpoint-has-a-sustained-rate-limit-of-one-request-every-five-seconds-per-device-with-an-allowed-burst-of-five-requests) @@ -176,6 +203,18 @@ - [Return a list of sensor alert events](#return-a-list-of-sensor-alert-events) + [readings](#readings) - [Return all reported readings from sensors in a given timespan, summarized as a series of intervals, sorted by interval start time in descending order](#return-all-reported-readings-from-sensors-in-a-given-timespan-summarized-as-a-series-of-intervals-sorted-by-interval-start-time-in-descending-order) + * [\[ cellularGateway \]](#-cellulargateway-) + + [esims](#esims) + - [The eSIM inventory of a given organization.](#the-esim-inventory-of-a-given-organization) + - [Toggle the status of an eSIM](#toggle-the-status-of-an-esim) + - [Inventory of service provider accounts tied to the organization.](#inventory-of-service-provider-accounts-tied-to-the-organization) + - [Add a service provider account.](#add-a-service-provider-account) + - [Edit service provider account info stored in Meraki's database.](#edit-service-provider-account-info-stored-in-merakis-database) + - [Remove a service provider account's integration with the Dashboard.](#remove-a-service-provider-accounts-integration-with-the-dashboard) + - [The communication and rate plans available for a given provider.](#the-communication-and-rate-plans-available-for-a-given-provider) + - [Service providers customers can add accounts for.](#service-providers-customers-can-add-accounts-for) + - [Swap which profile an eSIM uses.](#swap-which-profile-an-esim-uses) + - [Get the status of a profile swap.](#get-the-status-of-a-profile-swap) * [\[ secureConnect \]](#-secureconnect-) + [privateApplicationGroups](#privateapplicationgroups) - [Provides a list of private application groups for an Organization](#provides-a-list-of-private-application-groups-for-an-organization) @@ -214,20 +253,31 @@ - [Update a PccBulkEnrollmentToken](#update-a-pccbulkenrollmenttoken) - [Delete a PccBulkEnrollmentToken](#delete-a-pccbulkenrollmenttoken) - [List all BulkEnrollmentTokens for an organization.](#list-all-bulkenrollmenttokens-for-an-organization) + * [\[ insight \]](#-insight--1) + + [speedTestResults](#speedtestresults) + - [List the speed tests for the given devices under this organization. Only valid for organizations with Meraki Insight.](#list-the-speed-tests-for-the-given-devices-under-this-organization-only-valid-for-organizations-with-meraki-insight) + + [webApps](#webapps) + - [Lists all default web applications rules with counter set rule ids](#lists-all-default-web-applications-rules-with-counter-set-rule-ids) + - [Add a custom web application for Insight to be able to track](#add-a-custom-web-application-for-insight-to-be-able-to-track) + - [Update a custom web application for Insight to be able to track](#update-a-custom-web-application-for-insight-to-be-able-to-track) + - [Delete a custom web application by counter set rule id.](#delete-a-custom-web-application-by-counter-set-rule-id) + + [applications](#applications-1) + - [Update an Insight tracked application](#update-an-insight-tracked-application) + - [Delete an Insight tracked application](#delete-an-insight-tracked-application) -Version **1.48.0** _to_ **1.48.0-beta.0** +Version **1.49.0** _to_ **1.49.0-beta.0** * * * **Summary of Changes** -**96 - New** +**127 - New** -**51 - Updated** +**45 - Updated** -**857 - Total Endpoints** +**903 - Total Endpoints** -**574 - Total Paths** +**608 - Total Paths** * * * @@ -319,51 +369,6 @@ PUT _`/networks/{networkId}/appliance/ports/{portId}`_ * * * -\[ networks \] --------------- - -### settings - -#### Update the settings for a network - -PUT _`/networks/{networkId}/settings`_ - -> \- Optional property `fips` Added - -* * * - -### firmwareUpgrades - -#### Get firmware upgrade information for a network - -GET _`/networks/{networkId}/firmwareUpgrades`_ - -> \- Optional property `upgradeStrategy` Added - -> \- Response property `upgradeStrategy` value added - -* * * - -#### Update firmware upgrade information for a network - -PUT _`/networks/{networkId}/firmwareUpgrades`_ - -> \- Optional property `upgradeStrategy` Added - -> \- Optional property `upgradeStrategy` Added - -* * * - -### devices - -#### Claim devices into a network. (Note: for recently claimed devices, it may take a few minutes for API requests against that device to succeed) - -POST _`/networks/{networkId}/devices/claim`_ - -> \- Optional property `detailsByDevice` Added - -* * * - \[ switch \] ------------ @@ -414,13 +419,9 @@ PUT _`/networks/{networkId}/wireless/ssids/{number}`_ GET _`/networks/{networkId}/wireless/rfProfiles`_ -> \- Optional property `isIndoorDefault` Added - -> \- Optional property `isOutdoorDefault` Added +> \- Optional property `afcEnabled` Added -> \- Response property `isIndoorDefault` value added - -> \- Response property `isOutdoorDefault` value added +> \- Response property `afcEnabled` value added * * * @@ -428,13 +429,9 @@ GET _`/networks/{networkId}/wireless/rfProfiles`_ GET _`/networks/{networkId}/wireless/rfProfiles/{rfProfileId}`_ -> \- Optional property `isIndoorDefault` Added - -> \- Optional property `isOutdoorDefault` Added +> \- Optional property `afcEnabled` Added -> \- Response property `isIndoorDefault` value added - -> \- Response property `isOutdoorDefault` value added +> \- Response property `afcEnabled` value added * * * @@ -442,13 +439,9 @@ GET _`/networks/{networkId}/wireless/rfProfiles/{rfProfileId}`_ PUT _`/networks/{networkId}/wireless/rfProfiles/{rfProfileId}`_ -> \- Optional property `isIndoorDefault` Added - -> \- Optional property `isOutdoorDefault` Added +> \- Optional property `afcEnabled` Added -> \- Optional property `isIndoorDefault` Added - -> \- Optional property `isOutdoorDefault` Added +> \- Optional property `afcEnabled` Added * * * @@ -456,9 +449,9 @@ PUT _`/networks/{networkId}/wireless/rfProfiles/{rfProfileId}`_ POST _`/networks/{networkId}/wireless/rfProfiles`_ -> \- Optional property `isIndoorDefault` Added +> \- Optional property `afcEnabled` Added -> \- Optional property `isOutdoorDefault` Added +> \- Optional property `afcEnabled` Added * * * @@ -499,6 +492,51 @@ GET _`/organizations/{organizationId}/devices/statuses`_ * * * +\[ networks \] +-------------- + +### settings + +#### Update the settings for a network + +PUT _`/networks/{networkId}/settings`_ + +> \- Optional property `fips` Added + +* * * + +### firmwareUpgrades + +#### Get firmware upgrade information for a network + +GET _`/networks/{networkId}/firmwareUpgrades`_ + +> \- Optional property `upgradeStrategy` Added + +> \- Response property `upgradeStrategy` value added + +* * * + +#### Update firmware upgrade information for a network + +PUT _`/networks/{networkId}/firmwareUpgrades`_ + +> \- Optional property `upgradeStrategy` Added + +> \- Optional property `upgradeStrategy` Added + +* * * + +### devices + +#### Claim devices into a network. (Note: for recently claimed devices, it may take a few minutes for API requests against that device to succeed) + +POST _`/networks/{networkId}/devices/claim`_ + +> \- Optional property `detailsByDevice` Added + +* * * + \[ insight \] ------------- @@ -536,155 +574,1621 @@ POST _`/organizations/{organizationId}/insight/applications`_ What's New ========== -\[ networks \] --------------- +\[ appliance \] +--------------- -### locationScanning +### sdwan -PATH _`/networks/{networkId}/locationScanning`_ +PATH _`/organizations/{organizationId}/appliance/sdwan/internetPolicies`_ > \- Path added > > \- New endpoint > -> #### Return scanning API settings +> #### Get the SDWAN internet traffic preferences for an MX network > -> **GET** `/networks/{networkId}/locationScanning` +> **GET** `/organizations/{organizationId}/appliance/sdwan/internetPolicies` > > { -> "analyticsEnabled": true, -> "scanningApiEnabled": true, -> "validator": "xxyzzy" +> "wanTrafficUplinkPreferences": [ +> { +> "preferredUplink": "wan1", +> "failOverCriterion": "poorPerformance", +> "performanceClass": { +> "type": "custom", +> "builtinPerformanceClassName": "VoIP", +> "customPerformanceClassId": "123456" +> }, +> "trafficFilters": [ +> { +> "type": "custom", +> "value": { +> "protocol": "tcp", +> "source": { +> "port": "1-1024", +> "cidr": "192.168.1.0/24", +> "vlan": 10, +> "host": 254 +> }, +> "destination": { +> "port": "any", +> "cidr": "any", +> "applications": [ +> { +> "id": "meraki:layer7/application/3", +> "name": "DNS", +> "type": "major" +> } +> ] +> } +> } +> } +> ] +> } +> ] > } > > * * * -> + +* * * + +\[ switch \] +------------ + +### configTemplates + +PATH _`/organizations/{organizationId}/configTemplates/switch/profiles/ports/mirrors/bySwitchProfile`_ + +> \- Path added > > \- New endpoint > -> #### Change scanning API settings +> #### list the port mirror configurations in an organization by switch profile > -> **PUT** `/networks/{networkId}/locationScanning` +> **GET** `/organizations/{organizationId}/configTemplates/switch/profiles/ports/mirrors/bySwitchProfile` > > { -> "analyticsEnabled": true, -> "scanningApiEnabled": true, -> "validator": "xxyzzy" +> "items": [ +> { +> "profileId": "1098", +> "configTemplate": { +> "id": "N_23952905", +> "name": "Main Office" +> }, +> "mirror": { +> "source": { +> "ports": [ +> { +> "number": 2, +> "module": { +> "type": "C9800-2X40GE", +> "slot": 1 +> } +> } +> ], +> "filter": { +> "vlans": "100, 200-210", +> "hasTransitVlan": true +> } +> }, +> "destination": { +> "port": { +> "number": 7, +> "module": { +> "type": "C9800-2X40GE", +> "slot": 1 +> } +> }, +> "vlan": "10" +> }, +> "role": "source", +> "comment": "My pretty comment", +> "tags": [ +> "tag1", +> "tag2" +> ] +> }, +> "warnings": [ +> "sample warning message" +> ] +> } +> ], +> "meta": { +> "counts": { +> "items": { +> "total": 1 +> } +> } +> } > } > > * * * * * * -PATH _`/networks/{networkId}/locationScanning/httpServers`_ +PATH _`/organizations/{organizationId}/configTemplates/{configTemplateId}/switch/profiles/{profileId}/ports/mirror`_ > \- Path added > > \- New endpoint > -> #### Return list of scanning API receivers +> #### Update a port mirror > -> **GET** `/networks/{networkId}/locationScanning/httpServers` +> **PUT** `/organizations/{organizationId}/configTemplates/{configTemplateId}/switch/profiles/{profileId}/ports/mirror` > -> [ -> { -> "endpoints": [ -> { -> "httpServer": { -> "id": "aHR0cHM6Ly93d3cuZXhhbXBsZS5jb20vbXlfY3VzdG9tX3dlYmhvb2s=", -> "name": "Example Webhook Server", -> "networkId": "N_12345678", -> "url": "https://www.example.com/my_custom_webhook", -> "sharedSecret": "******", -> "validator": "xxx", -> "validatedAt": "2018-02-11T00:00:00Z" -> }, -> "scanningApiVersion": 123, -> "radioType": "WiFi", -> "successAt": "2018-05-12T00:00:00Z", -> "errorAt": "2018-02-11T00:00:00Z", -> "postErrors": "[{\"code\":200,\"delay\":{\"inMillis\":612},\"timestamp\":{\"millisFromEpoch\":1597255325467}}]" +> { +> "profileId": "1098", +> "configTemplate": { +> "id": "N_23952905", +> "name": "Main Office" +> }, +> "mirror": { +> "source": { +> "ports": [ +> { +> "number": 2, +> "module": { +> "type": "C9800-2X40GE", +> "slot": 1 +> } +> } +> ], +> "filter": { +> "vlans": "100, 200-210", +> "hasTransitVlan": true > } -> ] +> }, +> "destination": { +> "port": { +> "number": 7, +> "module": { +> "type": "C9800-2X40GE", +> "slot": 1 +> } +> }, +> "vlan": "10" +> }, +> "role": "source", +> "comment": "My pretty comment", +> "tags": [ +> "tag1", +> "tag2" +> ] +> }, +> "warnings": [ +> "sample warning message" +> ] +> } +> +> * * * + +* * * + +### stacks + +PATH _`/networks/{networkId}/switch/stacks/{switchStackId}/ports/mirror`_ + +> \- Path added +> +> \- New endpoint +> +> #### Update switch port mirrors for switch stacks +> +> **PUT** `/networks/{networkId}/switch/stacks/{switchStackId}/ports/mirror` +> +> { +> "switchStackId": "123456", +> "network": { +> "id": "N_24329156", +> "name": "Main Office" +> }, +> "mirror": { +> "source": { +> "ports": [ +> { +> "serial": "Q234-ABCD-5678", +> "number": 2, +> "module": { +> "type": "C9800-2X40GE", +> "slot": 1 +> } +> } +> ], +> "filter": { +> "vlans": "100, 200-210", +> "hasTransitVlan": true +> } +> }, +> "destination": { +> "port": { +> "serial": "Q234-ABCD-5670", +> "number": 7, +> "module": { +> "type": "C9800-2X40GE", +> "slot": 2 +> } +> }, +> "vlan": "10" +> }, +> "role": "source", +> "comment": "My pretty comment", +> "tags": [ +> "tag1", +> "tag2" +> ] +> }, +> "warnings": [ +> "Warnings from traffic mirror configuration changes" +> ] +> } +> +> * * * + +* * * + +PATH _`/organizations/{organizationId}/switch/stacks/ports/mirrors/byStack`_ + +> \- Path added +> +> \- New endpoint +> +> #### List the port mirror configurations in an organization by switch +> +> **GET** `/organizations/{organizationId}/switch/stacks/ports/mirrors/byStack` +> +> [ +> { +> "items": [ +> { +> "switchStackId": "123456", +> "network": { +> "id": "N_24329156", +> "name": "Main Office" +> }, +> "mirror": { +> "source": { +> "ports": [ +> { +> "serial": "Q234-ABCD-5678", +> "number": 2, +> "module": { +> "type": "C9800-2X40GE", +> "slot": 1 +> } +> } +> ], +> "filter": { +> "vlans": "100, 200-210", +> "hasTransitVlan": true +> } +> }, +> "destination": { +> "port": { +> "serial": "Q234-ABCD-5670", +> "number": 7, +> "module": { +> "type": "C9800-2X40GE", +> "slot": 2 +> } +> }, +> "vlan": "10" +> }, +> "role": "source", +> "comment": "My pretty comment", +> "tags": [ +> "tag1", +> "tag2" +> ] +> }, +> "warnings": [ +> "Warnings from traffic mirror configuration changes" +> ] +> } +> ], +> "meta": { +> "counts": { +> "items": { +> "total": 1 +> } +> } +> } +> } +> ] +> +> * * * + +* * * + +### ports + +PATH _`/devices/{serial}/switch/ports/mirror`_ + +> \- Path added +> +> \- New endpoint +> +> #### Update a port mirror +> +> **PUT** `/devices/{serial}/switch/ports/mirror` +> +> { +> "serial": "Q234-ABCD-5678", +> "network": { +> "id": "N_24329156", +> "name": "Main Office" +> }, +> "mirror": { +> "source": { +> "ports": [ +> { +> "number": 2, +> "module": { +> "type": "C9800-2X40GE", +> "slot": 2 +> } +> } +> ], +> "filter": { +> "vlans": "100, 200-210", +> "hasTransitVlan": true +> } +> }, +> "destination": { +> "port": { +> "number": 7, +> "module": { +> "type": "C9800-2X40GE", +> "slot": 1 +> } +> }, +> "vlan": "10" +> }, +> "role": "source", +> "comment": "My pretty comment", +> "tags": [ +> "tag1", +> "tag2" +> ] +> }, +> "warnings": [ +> "Warnings from traffic mirror configuration changes" +> ] +> } +> +> * * * + +* * * + +PATH _`/networks/{networkId}/switch/ports/profiles`_ + +> \- Path added +> +> \- New endpoint +> +> #### List the port profiles in a network +> +> **GET** `/networks/{networkId}/switch/ports/profiles` +> +> [ +> { +> "profileId": "1284392014819", +> "networkId": "N_24329156", +> "name": "Phone", +> "description": "IP Phones for all office workers", +> "tags": [ +> "tag1", +> "tag2" +> ], +> "associatedPorts": [ +> { +> "portId": "8", +> "portNum": 8, +> "portName": "Dev - Cheshire Cat / 8", +> "serial": "Q234-ABCD-5678", +> "profile": { +> "enabled": true, +> "id": "1284392014819" +> } +> } +> ], +> "associatedSwitches": [ +> { +> "switchId": 247165647951894, +> "name": "Dev - Cheshire Cat", +> "mac": "e0:cb:bc:a5:98:16", +> "serial": "Q234-ABCD-5678", +> "model": "MS120-48FP" +> } +> ], +> "createdAt": "2022-09-16T09:18:38Z", +> "updatedAt": "2022-09-16T09:18:38Z", +> "port": { +> "type": "access", +> "vlan": 10, +> "voiceVlan": 20, +> "allowedVlans": "1-100", +> "poeEnabled": true, +> "isolationEnabled": false, +> "rstpEnabled": true, +> "stpGuard": "disabled", +> "udld": "Alert only", +> "accessPolicyType": "Sticky MAC allow list", +> "accessPolicyNumber": 3, +> "macAllowList": [ +> "34:56:fe:ce:8e:b0", +> "34:56:fe:ce:8e:b1" +> ], +> "stickyMacAllowList": [ +> "34:56:fe:ce:8e:b0", +> "34:56:fe:ce:8e:b1" +> ], +> "stickyMacAllowListLimit": 5, +> "stormControlEnabled": true, +> "adaptivePolicyGroupId": "1284392014819", +> "peerSgtCapable": false, +> "daiTrusted": false +> } +> } +> ] +> +> * * * +> +> +> \- New endpoint +> +> #### Create a port profile in a network +> +> **POST** `/networks/{networkId}/switch/ports/profiles` +> +> { +> "profileId": "1284392014819", +> "networkId": "N_24329156", +> "name": "Phone", +> "description": "IP Phones for all office workers", +> "tags": [ +> "tag1", +> "tag2" +> ], +> "associatedPorts": [ +> { +> "portId": "8", +> "portNum": 8, +> "portName": "Dev - Cheshire Cat / 8", +> "serial": "Q234-ABCD-5678", +> "profile": { +> "enabled": true, +> "id": "1284392014819" +> } +> } +> ], +> "associatedSwitches": [ +> { +> "switchId": 247165647951894, +> "name": "Dev - Cheshire Cat", +> "mac": "e0:cb:bc:a5:98:16", +> "serial": "Q234-ABCD-5678", +> "model": "MS120-48FP" +> } +> ], +> "createdAt": "2022-09-16T09:18:38Z", +> "updatedAt": "2022-09-16T09:18:38Z", +> "port": { +> "type": "access", +> "vlan": 10, +> "voiceVlan": 20, +> "allowedVlans": "1-100", +> "poeEnabled": true, +> "isolationEnabled": false, +> "rstpEnabled": true, +> "stpGuard": "disabled", +> "udld": "Alert only", +> "accessPolicyType": "Sticky MAC allow list", +> "accessPolicyNumber": 3, +> "macAllowList": [ +> "34:56:fe:ce:8e:b0", +> "34:56:fe:ce:8e:b1" +> ], +> "stickyMacAllowList": [ +> "34:56:fe:ce:8e:b0", +> "34:56:fe:ce:8e:b1" +> ], +> "stickyMacAllowListLimit": 5, +> "stormControlEnabled": true, +> "adaptivePolicyGroupId": "1284392014819", +> "peerSgtCapable": false, +> "daiTrusted": false +> } +> } +> +> * * * + +* * * + +PATH _`/networks/{networkId}/switch/ports/profiles/{id}`_ + +> \- Path added +> +> \- New endpoint +> +> #### Update a port profile in a network +> +> **PUT** `/networks/{networkId}/switch/ports/profiles/{id}` +> +> { +> "profileId": "1284392014819", +> "networkId": "N_24329156", +> "name": "Phone", +> "description": "IP Phones for all office workers", +> "tags": [ +> "tag1", +> "tag2" +> ], +> "associatedPorts": [ +> { +> "portId": "8", +> "portNum": 8, +> "portName": "Dev - Cheshire Cat / 8", +> "serial": "Q234-ABCD-5678", +> "profile": { +> "enabled": true, +> "id": "1284392014819" +> } +> } +> ], +> "associatedSwitches": [ +> { +> "switchId": 247165647951894, +> "name": "Dev - Cheshire Cat", +> "mac": "e0:cb:bc:a5:98:16", +> "serial": "Q234-ABCD-5678", +> "model": "MS120-48FP" +> } +> ], +> "createdAt": "2022-09-16T09:18:38Z", +> "updatedAt": "2022-09-16T09:18:38Z", +> "port": { +> "type": "access", +> "vlan": 10, +> "voiceVlan": 20, +> "allowedVlans": "1-100", +> "poeEnabled": true, +> "isolationEnabled": false, +> "rstpEnabled": true, +> "stpGuard": "disabled", +> "udld": "Alert only", +> "accessPolicyType": "Sticky MAC allow list", +> "accessPolicyNumber": 3, +> "macAllowList": [ +> "34:56:fe:ce:8e:b0", +> "34:56:fe:ce:8e:b1" +> ], +> "stickyMacAllowList": [ +> "34:56:fe:ce:8e:b0", +> "34:56:fe:ce:8e:b1" +> ], +> "stickyMacAllowListLimit": 5, +> "stormControlEnabled": true, +> "adaptivePolicyGroupId": "1284392014819", +> "peerSgtCapable": false, +> "daiTrusted": false +> } +> } +> +> * * * +> +> +> \- New endpoint +> +> #### Delete a port profile from a network +> +> **DELETE** `/networks/{networkId}/switch/ports/profiles/{id}` +> +> * * * + +* * * + +PATH _`/organizations/{organizationId}/switch/ports/connectivity/history/byDevice`_ + +> \- Path added +> +> \- New endpoint +> +> #### Return all connectivity events for each switch port in the given organization, within a given time range. +> +> **GET** `/organizations/{organizationId}/switch/ports/connectivity/history/byDevice` +> +> { +> "items": [ +> { +> "serial": "Q234-ABCD-0001", +> "ports": [ +> { +> "id": "123_1", +> "events": [ +> { +> "startTs": "2018-02-11T00:00:00.090210Z", +> "endTs": "2018-02-11T00:00:00.090210Z", +> "status": "Optimal speed and connectivity" +> } +> ] +> } +> ], +> "network": { +> "id": "N_12345678", +> "name": "San Francisco Office" +> } +> } +> ], +> "meta": { +> "counts": { +> "items": { +> "total": 4, +> "remaining": 2 +> } +> } +> } +> } +> +> * * * + +* * * + +PATH _`/organizations/{organizationId}/switch/ports/mirrors/bySwitch`_ + +> \- Path added +> +> \- New endpoint +> +> #### list the port mirror configurations in an organization by switch +> +> **GET** `/organizations/{organizationId}/switch/ports/mirrors/bySwitch` +> +> { +> "items": [ +> { +> "serial": "Q234-ABCD-5678", +> "network": { +> "id": "N_24329156", +> "name": "Main Office" +> }, +> "mirror": { +> "source": { +> "ports": [ +> { +> "number": 2, +> "module": { +> "type": "C9800-2X40GE", +> "slot": 2 +> } +> } +> ], +> "filter": { +> "vlans": "100, 200-210", +> "hasTransitVlan": true +> } +> }, +> "destination": { +> "port": { +> "number": 7, +> "module": { +> "type": "C9800-2X40GE", +> "slot": 1 +> } +> }, +> "vlan": "10" +> }, +> "role": "source", +> "comment": "My pretty comment", +> "tags": [ +> "tag1", +> "tag2" +> ] +> }, +> "warnings": [ +> "Warnings from traffic mirror configuration changes" +> ] +> } +> ], +> "meta": { +> "counts": { +> "items": { +> "total": 1 +> } +> } +> } +> } +> +> * * * + +* * * + +PATH _`/organizations/{organizationId}/switch/ports/profiles`_ + +> \- Path added +> +> \- New endpoint +> +> #### List the port profiles in an organization +> +> **GET** `/organizations/{organizationId}/switch/ports/profiles` +> +> [ +> { +> "profileId": "1284392014819", +> "name": "Phone", +> "description": "IP Phones for all office workers", +> "createdAt": "2018-02-11T00:00:00.090210Z", +> "updatedAt": "2018-02-11T00:00:00.090210Z", +> "network": { +> "id": "N_24329156" +> }, +> "counts": { +> "assigned": { +> "ports": 4, +> "switches": 2 +> } +> } +> } +> ] +> +> * * * +> +> +> \- New endpoint +> +> #### Create a port profile in an organization +> +> **POST** `/organizations/{organizationId}/switch/ports/profiles` +> +> { +> "profileId": "1284392014819", +> "networkId": "N_24329156", +> "name": "Phone", +> "description": "IP Phones for all office workers", +> "tags": [ +> "tag1", +> "tag2" +> ], +> "associatedPorts": [ +> { +> "portId": "8", +> "portNum": 8, +> "portName": "Dev - Cheshire Cat / 8", +> "serial": "Q234-ABCD-5678", +> "profile": { +> "enabled": true, +> "id": "1284392014819" +> } +> } +> ], +> "associatedSwitches": [ +> { +> "switchId": 247165647951894, +> "name": "Dev - Cheshire Cat", +> "mac": "e0:cb:bc:a5:98:16", +> "serial": "Q234-ABCD-5678", +> "model": "MS120-48FP" +> } +> ], +> "createdAt": "2022-09-16T09:18:38Z", +> "updatedAt": "2022-09-16T09:18:38Z", +> "port": { +> "type": "access", +> "vlan": 10, +> "voiceVlan": 20, +> "allowedVlans": "1-100", +> "poeEnabled": true, +> "isolationEnabled": false, +> "rstpEnabled": true, +> "stpGuard": "disabled", +> "udld": "Alert only", +> "accessPolicyType": "Sticky MAC allow list", +> "accessPolicyNumber": 3, +> "macAllowList": [ +> "34:56:fe:ce:8e:b0", +> "34:56:fe:ce:8e:b1" +> ], +> "stickyMacAllowList": [ +> "34:56:fe:ce:8e:b0", +> "34:56:fe:ce:8e:b1" +> ], +> "stickyMacAllowListLimit": 5, +> "stormControlEnabled": true, +> "adaptivePolicyGroupId": "1284392014819", +> "peerSgtCapable": false, +> "daiTrusted": false +> } +> } +> +> * * * + +* * * + +PATH _`/organizations/{organizationId}/switch/ports/profiles/automations`_ + +> \- Path added +> +> \- New endpoint +> +> #### list the automation port profiles in an organization +> +> **GET** `/organizations/{organizationId}/switch/ports/profiles/automations` +> +> { +> "items": [ +> { +> "id": "1284392014819", +> "name": "Automation 1", +> "description": "A full length description of the automation.", +> "types": [ +> "Custom", +> "Built-in" +> ], +> "fallbackProfile": { +> "id": "1284392014819" +> }, +> "rules": [ +> { +> "priority": 1, +> "conditions": [ +> { +> "attribute": "LLDP system description", +> "values": [ +> "Meraki MR*", +> "*Wireless*" +> ] +> } +> ], +> "profile": { +> "id": "32" +> } +> } +> ], +> "assignedSwitchPorts": [ +> { +> "portIds": [ +> "1", +> "2", +> "3", +> "1_C3850-NM-8-10G_1", +> "1_C3850-NM-8-10G_2" +> ], +> "switch": { +> "serial": "Q234-ABCD-5678" +> } +> } +> ], +> "counts": { +> "assigned": { +> "devices": 2, +> "ports": 51, +> "networks": 1 +> } +> } +> } +> ], +> "meta": { +> "counts": { +> "items": { +> "total": 1 +> } +> } +> } +> } +> +> * * * +> +> +> \- New endpoint +> +> #### Create a port profile automation for an organization +> +> **POST** `/organizations/{organizationId}/switch/ports/profiles/automations` +> +> { +> "id": "1284392014819", +> "name": "Automation 1", +> "description": "A full length description of the automation.", +> "types": [ +> "Custom", +> "Built-in" +> ], +> "fallbackProfile": { +> "id": "1284392014819" +> }, +> "rules": [ +> { +> "priority": 1, +> "conditions": [ +> { +> "attribute": "LLDP system description", +> "values": [ +> "Meraki MR*", +> "*Wireless*" +> ] +> } +> ], +> "profile": { +> "id": "32" +> } +> } +> ], +> "assignedSwitchPorts": [ +> { +> "portIds": [ +> "1", +> "2", +> "3", +> "1_C3850-NM-8-10G_1", +> "1_C3850-NM-8-10G_2" +> ], +> "switch": { +> "serial": "Q234-ABCD-5678" +> } +> } +> ], +> "counts": { +> "assigned": { +> "devices": 2, +> "ports": 51, +> "networks": 1 +> } +> } +> } +> +> * * * + +* * * + +PATH _`/organizations/{organizationId}/switch/ports/profiles/automations/{id}`_ + +> \- Path added +> +> \- New endpoint +> +> #### Update a port profile automation in an organization +> +> **PUT** `/organizations/{organizationId}/switch/ports/profiles/automations/{id}` +> +> { +> "id": "1284392014819", +> "name": "Automation 1", +> "description": "A full length description of the automation.", +> "types": [ +> "Custom", +> "Built-in" +> ], +> "fallbackProfile": { +> "id": "1284392014819" +> }, +> "rules": [ +> { +> "priority": 1, +> "conditions": [ +> { +> "attribute": "LLDP system description", +> "values": [ +> "Meraki MR*", +> "*Wireless*" +> ] +> } +> ], +> "profile": { +> "id": "32" +> } +> } +> ], +> "assignedSwitchPorts": [ +> { +> "portIds": [ +> "1", +> "2", +> "3", +> "1_C3850-NM-8-10G_1", +> "1_C3850-NM-8-10G_2" +> ], +> "switch": { +> "serial": "Q234-ABCD-5678" +> } +> } +> ], +> "counts": { +> "assigned": { +> "devices": 2, +> "ports": 51, +> "networks": 1 +> } +> } +> } +> +> * * * +> +> +> \- New endpoint +> +> #### Delete an automation port profile from an organization +> +> **DELETE** `/organizations/{organizationId}/switch/ports/profiles/automations/{id}` +> +> * * * + +* * * + +PATH _`/organizations/{organizationId}/switch/ports/profiles/{id}`_ + +> \- Path added +> +> \- New endpoint +> +> #### Get detailed information about a port profile +> +> **GET** `/organizations/{organizationId}/switch/ports/profiles/{id}` +> +> { +> "profileId": "1284392014819", +> "networkId": "N_24329156", +> "name": "Phone", +> "description": "IP Phones for all office workers", +> "tags": [ +> "tag1", +> "tag2" +> ], +> "associatedPorts": [ +> { +> "portId": "8", +> "portNum": 8, +> "portName": "Dev - Cheshire Cat / 8", +> "serial": "Q234-ABCD-5678", +> "profile": { +> "enabled": true, +> "id": "1284392014819" +> } +> } +> ], +> "associatedSwitches": [ +> { +> "switchId": 247165647951894, +> "name": "Dev - Cheshire Cat", +> "mac": "e0:cb:bc:a5:98:16", +> "serial": "Q234-ABCD-5678", +> "model": "MS120-48FP" +> } +> ], +> "createdAt": "2022-09-16T09:18:38Z", +> "updatedAt": "2022-09-16T09:18:38Z", +> "port": { +> "type": "access", +> "vlan": 10, +> "voiceVlan": 20, +> "allowedVlans": "1-100", +> "poeEnabled": true, +> "isolationEnabled": false, +> "rstpEnabled": true, +> "stpGuard": "disabled", +> "udld": "Alert only", +> "accessPolicyType": "Sticky MAC allow list", +> "accessPolicyNumber": 3, +> "macAllowList": [ +> "34:56:fe:ce:8e:b0", +> "34:56:fe:ce:8e:b1" +> ], +> "stickyMacAllowList": [ +> "34:56:fe:ce:8e:b0", +> "34:56:fe:ce:8e:b1" +> ], +> "stickyMacAllowListLimit": 5, +> "stormControlEnabled": true, +> "adaptivePolicyGroupId": "1284392014819", +> "peerSgtCapable": false, +> "daiTrusted": false +> } +> } +> +> * * * +> +> +> \- New endpoint +> +> #### Update a port profile in an organization +> +> **PUT** `/organizations/{organizationId}/switch/ports/profiles/{id}` +> +> { +> "profileId": "1284392014819", +> "networkId": "N_24329156", +> "name": "Phone", +> "description": "IP Phones for all office workers", +> "tags": [ +> "tag1", +> "tag2" +> ], +> "associatedPorts": [ +> { +> "portId": "8", +> "portNum": 8, +> "portName": "Dev - Cheshire Cat / 8", +> "serial": "Q234-ABCD-5678", +> "profile": { +> "enabled": true, +> "id": "1284392014819" +> } +> } +> ], +> "associatedSwitches": [ +> { +> "switchId": 247165647951894, +> "name": "Dev - Cheshire Cat", +> "mac": "e0:cb:bc:a5:98:16", +> "serial": "Q234-ABCD-5678", +> "model": "MS120-48FP" +> } +> ], +> "createdAt": "2022-09-16T09:18:38Z", +> "updatedAt": "2022-09-16T09:18:38Z", +> "port": { +> "type": "access", +> "vlan": 10, +> "voiceVlan": 20, +> "allowedVlans": "1-100", +> "poeEnabled": true, +> "isolationEnabled": false, +> "rstpEnabled": true, +> "stpGuard": "disabled", +> "udld": "Alert only", +> "accessPolicyType": "Sticky MAC allow list", +> "accessPolicyNumber": 3, +> "macAllowList": [ +> "34:56:fe:ce:8e:b0", +> "34:56:fe:ce:8e:b1" +> ], +> "stickyMacAllowList": [ +> "34:56:fe:ce:8e:b0", +> "34:56:fe:ce:8e:b1" +> ], +> "stickyMacAllowListLimit": 5, +> "stormControlEnabled": true, +> "adaptivePolicyGroupId": "1284392014819", +> "peerSgtCapable": false, +> "daiTrusted": false +> } +> } +> +> * * * +> +> +> \- New endpoint +> +> #### Delete a port profile from an organization +> +> **DELETE** `/organizations/{organizationId}/switch/ports/profiles/{id}` +> +> * * * + +* * * + +PATH _`/organizations/{organizationId}/switch/ports/statuses/bySwitch`_ + +> \- Path added +> +> \- New endpoint +> +> #### List the switchports in an organization +> +> **GET** `/organizations/{organizationId}/switch/ports/statuses/bySwitch` +> +> [ +> { +> "name": "Example Switch", +> "serial": "Q555-5555-5555", +> "mac": "01:23:45:67", +> "network": { +> "name": "Example Network", +> "id": "N_12345" +> }, +> "model": "MS120-8", +> "ports": [ +> { +> "portId": "1", +> "enabled": true, +> "status": "Connected", +> "spanningTree": { +> "statuses": [ +> "Learning" +> ] +> }, +> "isUplink": false, +> "errors": [ +> "PoE overload", +> "Very high proportion of CRC errors" +> ], +> "warnings": [ +> "SecurePort authentication in progress", +> "PoE port was denied power", +> "High proportion of CRC errors" +> ], +> "speed": "10 Gbps", +> "duplex": "full", +> "usageInKb": { +> "total": 40867, +> "sent": 23008, +> "recv": 17859 +> }, +> "cdp": { +> "systemName": "", +> "platform": "MS350-24X", +> "deviceId": "0c8ddbddee:ff", +> "portId": "Port 20", +> "nativeVlan": 1, +> "address": "10.0,0.1", +> "managementAddress": "10.0.0.100", +> "version": "1", +> "vtpManagementDomain": "", +> "capabilities": "Switch" +> }, +> "lldp": { +> "systemName": "MS350-24X - Test", +> "systemDescription": "MS350-24X Cloud Managed PoE Switch", +> "chassisId": "0c:8d:db:dd:ee:ff", +> "portId": "20", +> "managementVlan": 1, +> "portVlan": 1, +> "managementAddress": "10.0.0.100", +> "portDescription": "Port 20", +> "systemCapabilities": "switch" +> }, +> "clientCount": 10, +> "powerUsageInWh": 55.9, +> "trafficInKbps": { +> "total": 2.2, +> "sent": 1.2, +> "recv": 1 +> }, +> "securePort": { +> "enabled": true, +> "active": true, +> "authenticationStatus": "Authentication in progress", +> "configOverrides": { +> "type": "trunk", +> "vlan": 12, +> "voiceVlan": 34, +> "allowedVlans": "all" +> } +> }, +> "poe": { +> "isAllocated": false +> } +> } +> ] +> } +> ] +> +> * * * + +* * * + +PATH _`/organizations/{organizationId}/switch/ports/transceivers/readings/history/bySwitch`_ + +> \- Path added +> +> \- New endpoint +> +> #### Return time-series digital optical monitoring (DOM) readings for ports on each DOM-enabled switch in an organization, in addition to thresholds for each relevant Small Form Factor Pluggable (SFP) module. +> +> **GET** `/organizations/{organizationId}/switch/ports/transceivers/readings/history/bySwitch` +> +> { +> "items": [ +> { +> "serial": "Q234-ABCD-0001", +> "ports": [ +> { +> "portId": "1", +> "readings": [ +> { +> "startTs": "2018-02-11T00:00:00.090210Z", +> "endTs": "2018-02-11T00:00:00.090210Z", +> "sfpProductId": "PRODUCT1", +> "thresholdSetId": "ABC123", +> "byMetric": { +> "power": { +> "transmit": { +> "minimum": 4, +> "maximum": 5, +> "median": 4.5 +> }, +> "receive": { +> "minimum": 4, +> "maximum": 5, +> "median": 4.5 +> } +> }, +> "temperature": { +> "fahrenheit": { +> "minimum": 30, +> "maximum": 33, +> "median": 32 +> }, +> "celsius": { +> "minimum": -1.1, +> "maximum": 0.6, +> "median": 0 +> } +> }, +> "supplyVoltage": { +> "level": { +> "minimum": 3, +> "maximum": 3.33, +> "median": 3.11 +> } +> }, +> "laserBiasCurrent": { +> "draw": { +> "minimum": 5, +> "maximum": 7, +> "median": 5.5 +> } +> } +> } +> } +> ] +> } +> ], +> "network": { +> "id": "N_12345678", +> "name": "San Francisco Office" +> } +> } +> ], +> "meta": { +> "counts": { +> "items": { +> "total": 4, +> "remaining": 2 +> } +> }, +> "units": { +> "power": { +> "name": "decibel milliwatts", +> "symbol": "dBm" +> }, +> "supplyVoltage": { +> "name": "volts", +> "symbol": "V" +> }, +> "laserBiasCurrent": { +> "name": "milliamps", +> "symbol": "mA" +> } +> }, +> "thresholds": [ +> { +> "thresholdSetId": "ABC123", +> "power": { +> "transmit": { +> "error": { +> "upper": 1.8, +> "lower": 0.3 +> }, +> "warning": { +> "upper": 1.5, +> "lower": 0.6 +> } +> }, +> "receive": { +> "error": { +> "upper": 1.8, +> "lower": 0.3 +> }, +> "warning": { +> "upper": 1.5, +> "lower": 0.6 +> } +> } +> }, +> "temperature": { +> "fahrenheit": { +> "error": { +> "upper": 59, +> "lower": 23 +> }, +> "warning": { +> "upper": 50, +> "lower": 14 +> } +> }, +> "celsius": { +> "error": { +> "upper": 15, +> "lower": -5 +> }, +> "warning": { +> "upper": 10, +> "lower": -10 +> } +> } +> }, +> "supplyVoltage": { +> "level": { +> "error": { +> "upper": 7, +> "lower": 2 +> }, +> "warning": { +> "upper": 6, +> "lower": 3 +> } +> } +> }, +> "laserBiasCurrent": { +> "draw": { +> "error": { +> "upper": 6, +> "lower": 1 +> }, +> "warning": { +> "upper": 5, +> "lower": 2 +> } +> } +> } +> } +> ] +> } +> } +> +> * * * + +* * * + +\[ wireless \] +-------------- + +### clients + +PATH _`/networks/{networkId}/wireless/clients/healthScores`_ + +> \- Path added +> +> \- New endpoint +> +> #### Fetch the health scores for all clients on this network +> +> **GET** `/networks/{networkId}/wireless/clients/healthScores` +> +> [ +> { +> "mac": "22:33:44:55:66:77", +> "clientId": "k74272e", +> "performance": { +> "latest": 80, +> "currentConnection": 100 +> }, +> "onboarding": { +> "latest": 100 +> } +> }, +> { +> "mac": "22:33:44:55:66:77", +> "clientId": "k74272e", +> "performance": { +> "latest": 30, +> "currentConnection": 50 +> }, +> "onboarding": { +> "latest": 70 +> } > } > ] > > * * * + +* * * + +PATH _`/networks/{networkId}/wireless/clients/onboardingHistory`_ + +> \- Path added +> +> \- New endpoint +> +> #### Return counts of distinct wireless clients connecting to a network over time +> +> **GET** `/networks/{networkId}/wireless/clients/onboardingHistory` +> +> [ +> { +> "startTs": "2020-01-01T00:00:00Z", +> "endTs": "2020-01-01T00:05:00Z", +> "clientCounts": { +> "summary": { +> "prospective": 100, +> "successful": 75, +> "failed": 25 +> }, +> "connectionSteps": { +> "association": { +> "prospective": 100, +> "successful": 97, +> "failed": 3 +> }, +> "authentication": { +> "prospective": 97, +> "successful": 81, +> "failed": 16 +> }, +> "dhcp": { +> "prospective": 81, +> "successful": 75, +> "failed": 6 +> }, +> "dns": { +> "prospective": 75, +> "successful": 75, +> "failed": 0 +> } +> } +> } +> } +> ] > +> * * * + +* * * + +PATH _`/networks/{networkId}/wireless/clients/{clientId}/healthScores`_ + +> \- Path added > > \- New endpoint > -> #### Set the list of scanning API receivers. Old receivers will be removed +> #### Fetch the health scores for a given client on this network. Clients are identified by their MAC or ID > -> **PUT** `/networks/{networkId}/locationScanning/httpServers` +> **GET** `/networks/{networkId}/wireless/clients/{clientId}/healthScores` > > { -> "endpoints": [ -> { -> "httpServer": { -> "id": "aHR0cHM6Ly93d3cuZXhhbXBsZS5jb20vbXlfY3VzdG9tX3dlYmhvb2s=", -> "name": "Example Webhook Server", -> "networkId": "N_12345678", -> "url": "https://www.example.com/my_custom_webhook", -> "sharedSecret": "******", -> "validator": "xxx", -> "validatedAt": "2018-02-11T00:00:00Z" -> }, -> "scanningApiVersion": 123, -> "radioType": "WiFi", -> "successAt": "2018-05-12T00:00:00Z", -> "errorAt": "2018-02-11T00:00:00Z", -> "postErrors": "[{\"code\":200,\"delay\":{\"inMillis\":612},\"timestamp\":{\"millisFromEpoch\":1597255325467}}]" -> } -> ] +> "mac": "22:33:44:55:66:77", +> "clientId": "k74272e", +> "performance": { +> "latest": 80, +> "currentConnection": 100 +> }, +> "onboarding": { +> "latest": 100 +> } > } > > * * * * * * -\[ switch \] ------------- - -### ports - -PATH _`/organizations/{organizationId}/switch/ports/connectivity/history/byDevice`_ +PATH _`/organizations/{organizationId}/wireless/clients/overview/byDevice`_ > \- Path added > > \- New endpoint > -> #### Return all connectivity events for each switch port in the given organization, within a given time range. +> #### List access point client count at the moment in an organization > -> **GET** `/organizations/{organizationId}/switch/ports/connectivity/history/byDevice` +> **GET** `/organizations/{organizationId}/wireless/clients/overview/byDevice` > > { > "items": [ > { -> "serial": "Q234-ABCD-0001", -> "ports": [ -> { -> "id": "123_1", -> "events": [ -> { -> "startTs": "2018-02-11T00:00:00.090210Z", -> "endTs": "2018-02-11T00:00:00.090210Z", -> "status": "Optimal speed and connectivity" -> } -> ] -> } -> ], > "network": { -> "id": "N_12345678", -> "name": "San Francisco Office" +> "id": "N_24329156" +> }, +> "serial": "Q234-ABCD-5678", +> "counts": { +> "byStatus": { +> "online": 1 +> } > } > } > ], > "meta": { > "counts": { > "items": { -> "total": 4, -> "remaining": 2 +> "total": 10, +> "remaining": 0 > } > } > } @@ -694,109 +2198,6 @@ PATH _`/organizations/{organizationId}/switch/ports/connectivity/history/byDevic * * * -PATH _`/organizations/{organizationId}/switch/ports/statuses/bySwitch`_ - -> \- Path added -> -> \- New endpoint -> -> #### List the switchports in an organization -> -> **GET** `/organizations/{organizationId}/switch/ports/statuses/bySwitch` -> -> [ -> { -> "name": "Example Switch", -> "serial": "Q555-5555-5555", -> "mac": "01:23:45:67", -> "network": { -> "name": "Example Network", -> "id": "N_12345" -> }, -> "model": "MS120-8", -> "ports": [ -> { -> "portId": "1", -> "enabled": true, -> "status": "Connected", -> "spanningTree": { -> "statuses": [ -> "Learning" -> ] -> }, -> "isUplink": false, -> "errors": [ -> "PoE overload", -> "Very high proportion of CRC errors" -> ], -> "warnings": [ -> "SecurePort authentication in progress", -> "PoE port was denied power", -> "High proportion of CRC errors" -> ], -> "speed": "10 Gbps", -> "duplex": "full", -> "usageInKb": { -> "total": 40867, -> "sent": 23008, -> "recv": 17859 -> }, -> "cdp": { -> "systemName": "", -> "platform": "MS350-24X", -> "deviceId": "0c8ddbddee:ff", -> "portId": "Port 20", -> "nativeVlan": 1, -> "address": "10.0,0.1", -> "managementAddress": "10.0.0.100", -> "version": "1", -> "vtpManagementDomain": "", -> "capabilities": "Switch" -> }, -> "lldp": { -> "systemName": "MS350-24X - Test", -> "systemDescription": "MS350-24X Cloud Managed PoE Switch", -> "chassisId": "0c:8d:db:dd:ee:ff", -> "portId": "20", -> "managementVlan": 1, -> "portVlan": 1, -> "managementAddress": "10.0.0.100", -> "portDescription": "Port 20", -> "systemCapabilities": "switch" -> }, -> "clientCount": 10, -> "powerUsageInWh": 55.9, -> "trafficInKbps": { -> "total": 2.2, -> "sent": 1.2, -> "recv": 1 -> }, -> "securePort": { -> "enabled": true, -> "active": true, -> "authenticationStatus": "Authentication in progress", -> "configOverrides": { -> "type": "trunk", -> "vlan": 12, -> "voiceVlan": 34, -> "allowedVlans": "all" -> } -> }, -> "poe": { -> "isAllocated": false -> } -> } -> ] -> } -> ] -> -> * * * - -* * * - -\[ wireless \] --------------- - ### zigbee PATH _`/devices/{serial}/wireless/zigbee/enrollments`_ @@ -1110,116 +2511,100 @@ PATH _`/organizations/{organizationId}/wireless/zigbee/doorLocks/bulkUpdate`_ * * * -### clients - -PATH _`/networks/{networkId}/wireless/clients/healthScores`_ - -> \- Path added -> -> \- New endpoint -> -> #### Fetch the health scores for all clients on this network -> -> **GET** `/networks/{networkId}/wireless/clients/healthScores` -> -> [ -> { -> "mac": "22:33:44:55:66:77", -> "clientId": "k74272e", -> "performance": { -> "latest": 80, -> "currentConnection": 100 -> }, -> "onboarding": { -> "latest": 100 -> } -> }, -> { -> "mac": "22:33:44:55:66:77", -> "clientId": "k74272e", -> "performance": { -> "latest": 30, -> "currentConnection": 50 -> }, -> "onboarding": { -> "latest": 70 -> } -> } -> ] -> -> * * * - -* * * +### radio -PATH _`/networks/{networkId}/wireless/clients/onboardingHistory`_ +PATH _`/devices/{serial}/wireless/radio/afc/positioning`_ > \- Path added > > \- New endpoint -> -> #### Return counts of distinct wireless clients connecting to a network over time -> -> **GET** `/networks/{networkId}/wireless/clients/onboardingHistory` -> -> [ -> { -> "startTs": "2020-01-01T00:00:00Z", -> "endTs": "2020-01-01T00:05:00Z", -> "clientCounts": { -> "summary": { -> "prospective": 100, -> "successful": 75, -> "failed": 25 -> }, -> "connectionSteps": { -> "association": { -> "prospective": 100, -> "successful": 97, -> "failed": 3 -> }, -> "authentication": { -> "prospective": 97, -> "successful": 81, -> "failed": 16 -> }, -> "dhcp": { -> "prospective": 81, -> "successful": 75, -> "failed": 6 -> }, -> "dns": { -> "prospective": 75, -> "successful": 75, -> "failed": 0 -> } -> } +> +> #### Return the positioning for a wireless device +> +> **GET** `/devices/{serial}/wireless/radio/afc/positioning` +> +> { +> "name": "Some MR", +> "network": { +> "id": "N_24329156" +> }, +> "serial": "Q234-ABCD-5678", +> "elevation": { +> "height": 10, +> "uncertainty": 1 +> }, +> "gps": { +> "antenna": { +> "cableLength": 10 > } > } -> ] +> } +> +> * * * +> +> +> \- New endpoint +> +> #### Update the positioning attributes for this device +> +> **PUT** `/devices/{serial}/wireless/radio/afc/positioning` +> +> { +> "name": "Some MR", +> "network": { +> "id": "N_24329156" +> }, +> "serial": "Q234-ABCD-5678", +> "elevation": { +> "height": 10, +> "uncertainty": 1 +> }, +> "gps": { +> "antenna": { +> "cableLength": 10 +> } +> } +> } > > * * * * * * -PATH _`/networks/{networkId}/wireless/clients/{clientId}/healthScores`_ +PATH _`/devices/{serial}/wireless/radio/afc/powerLimits`_ > \- Path added > > \- New endpoint > -> #### Fetch the health scores for a given client on this network. Clients are identified by their MAC or ID +> #### Return the AFC power limits for a wireless device > -> **GET** `/networks/{networkId}/wireless/clients/{clientId}/healthScores` +> **GET** `/devices/{serial}/wireless/radio/afc/powerLimits` > > { -> "mac": "22:33:44:55:66:77", -> "clientId": "k74272e", -> "performance": { -> "latest": 80, -> "currentConnection": 100 +> "name": "Device_name", +> "network": { +> "id": "N_12345" > }, -> "onboarding": { -> "latest": 100 +> "serial": "Q2KN-6CN7-EC4X", +> "expiresAt": "2023-01-27T19:36:32Z", +> "lastUpdatedAt": "2023-01-26T19:36:32Z", +> "lastSuccessAt": "2023-01-26T19:36:32Z", +> "powerLimits": [ +> { +> "channel": 11, +> "channelWidth": 20, +> "limit": { +> "inPsd": 23, +> "inDbm": 30 +> } +> } +> ], +> "status": "0", +> "location": { +> "lat": 37.4180951010362, +> "lng": -122.098531723022, +> "uncertainty": 10, +> "type": "gps" > } > } > @@ -1227,36 +2612,39 @@ PATH _`/networks/{networkId}/wireless/clients/{clientId}/healthScores`_ * * * -PATH _`/organizations/{organizationId}/wireless/clients/overview/byDevice`_ +PATH _`/networks/{networkId}/wireless/radio/autoRf`_ > \- Path added > > \- New endpoint > -> #### List access point client count at the moment in an organization +> #### Update the AutoRF settings for a wireless network > -> **GET** `/organizations/{organizationId}/wireless/clients/overview/byDevice` +> **PUT** `/networks/{networkId}/wireless/radio/autoRf` > > { -> "items": [ -> { -> "network": { -> "id": "N_24329156" +> "networkId": "L_12345", +> "name": "My Network", +> "timeZone": "America/Los_Angeles", +> "busyHour": { +> "schedule": { +> "mode": "automatic", +> "automatic": { +> "start": "08:00", +> "end": "17:00" > }, -> "serial": "Q234-ABCD-5678", -> "counts": { -> "byStatus": { -> "online": 1 -> } +> "manual": { +> "start": "10:00", +> "end": "15:00" > } +> }, +> "minimizeChanges": { +> "enabled": true > } -> ], -> "meta": { -> "counts": { -> "items": { -> "total": 10, -> "remaining": 0 -> } +> }, +> "channel": { +> "avoidance": { +> "enabled": true > } > } > } @@ -1265,56 +2653,75 @@ PATH _`/organizations/{organizationId}/wireless/clients/overview/byDevice`_ * * * -### healthScores - -PATH _`/devices/{serial}/wireless/healthScores`_ +PATH _`/organizations/{organizationId}/wireless/radio/afc/positioning/byDevice`_ > \- Path added > > \- New endpoint > -> #### Fetch the health scores for a given AP on this network +> #### List the AFC power limits of an organization by device > -> **GET** `/devices/{serial}/wireless/healthScores` +> **GET** `/organizations/{organizationId}/wireless/radio/afc/positioning/byDevice` > -> { -> "device": { -> "serial": "Q234-ABCD-5678" -> }, -> "performance": { -> "latest": 80 -> }, -> "onboarding": { -> "latest": 20 +> [ +> { +> "name": "Some MR", +> "network": { +> "id": "N_24329156" +> }, +> "serial": "Q234-ABCD-5678", +> "elevation": { +> "height": 10, +> "uncertainty": 1 +> }, +> "gps": { +> "antenna": { +> "cableLength": 10 +> } +> } > } -> } +> ] > > * * * * * * -### devices - -PATH _`/networks/{networkId}/wireless/devices/healthScores`_ +PATH _`/organizations/{organizationId}/wireless/radio/afc/powerLimits/byDevice`_ > \- Path added > > \- New endpoint > -> #### Fetch the health scores of all APs on this network +> #### List the AFC power limits of an organization by device > -> **GET** `/networks/{networkId}/wireless/devices/healthScores` +> **GET** `/organizations/{organizationId}/wireless/radio/afc/powerLimits/byDevice` > > [ > { -> "device": { -> "serial": "Q234-ABCD-5678" -> }, -> "performance": { -> "latest": 80 +> "name": "Device_name", +> "network": { +> "id": "N_12345" > }, -> "onboarding": { -> "latest": 20 +> "serial": "Q2KN-6CN7-EC4X", +> "expiresAt": "2023-01-27T19:36:32Z", +> "lastUpdatedAt": "2023-01-26T19:36:32Z", +> "lastSuccessAt": "2023-01-26T19:36:32Z", +> "powerLimits": [ +> { +> "channel": 11, +> "channelWidth": 20, +> "limit": { +> "inPsd": 23, +> "inDbm": 30 +> } +> } +> ], +> "status": "0", +> "location": { +> "lat": 37.4180951010362, +> "lng": -122.098531723022, +> "uncertainty": 10, +> "type": "gps" > } > } > ] @@ -1323,95 +2730,113 @@ PATH _`/networks/{networkId}/wireless/devices/healthScores`_ * * * -PATH _`/organizations/{organizationId}/wireless/devices/wirelessControllers/byDevice`_ +PATH _`/organizations/{organizationId}/wireless/radio/autoRf/byNetwork`_ > \- Path added > > \- New endpoint > -> #### List of Catalyst access points information +> #### List the AutoRF settings of an organization by network > -> **GET** `/organizations/{organizationId}/wireless/devices/wirelessControllers/byDevice` +> **GET** `/organizations/{organizationId}/wireless/radio/autoRf/byNetwork` > -> { -> "items": [ -> { -> "network": { -> "id": "N_24329156" +> [ +> { +> "networkId": "L_12345", +> "name": "My Network", +> "timeZone": "America/Los_Angeles", +> "busyHour": { +> "schedule": { +> "mode": "automatic", +> "automatic": { +> "start": "08:00", +> "end": "17:00" +> }, +> "manual": { +> "start": "10:00", +> "end": "15:00" +> } > }, +> "minimizeChanges": { +> "enabled": true +> } +> }, +> "channel": { +> "avoidance": { +> "enabled": true +> } +> } +> } +> ] +> +> * * * + +* * * + +PATH _`/organizations/{organizationId}/wireless/radio/autoRf/channels/planning/activities`_ + +> \- Path added +> +> \- New endpoint +> +> #### List the channel planning activities of an organization +> +> **GET** `/organizations/{organizationId}/wireless/radio/autoRf/channels/planning/activities` +> +> [ +> { +> "startedAt": "2018-02-11T00:00:00Z", +> "endsAt": "2018-05-12T00:00:00Z", +> "type": "avoid", +> "reason": "dfs", +> "band": "5", +> "channel": 44, +> "severity": 6, +> "network": { +> "id": "N_24329156", +> "name": "Main Office", +> "tags": [ +> "tag1", +> "tag2" +> ] +> }, +> "device": { +> "name": "My AP", > "serial": "Q234-ABCD-5678", -> "controller": { -> "serial": "Q234-ABCD-5678" -> }, -> "joinedAt": "2020-01-01T00:00:00Z", -> "model": "C9115AXI-H", +> "mac": "00:11:22:33:44:55", > "tags": [ -> { -> "policy": "4F", -> "site": "default-site-tag", -> "rf": "default-rf-tag" -> } -> ], -> "mode": "local", -> "countryCode": "CA", -> "details": [ -> { -> "name": "catalyst serial", -> "value": "FGL2446L7QQ" -> } +> "tag1", +> "tag2" > ] > } -> ], -> "meta": { -> "counts": { -> "items": { -> "total": 10, -> "remaining": 0 -> } -> } > } -> } +> ] > > * * * * * * -### radio +### healthScores -PATH _`/networks/{networkId}/wireless/radio/autoRf`_ +PATH _`/devices/{serial}/wireless/healthScores`_ > \- Path added > > \- New endpoint > -> #### Update the AutoRF settings for a wireless network +> #### Fetch the health scores for a given AP on this network > -> **PUT** `/networks/{networkId}/wireless/radio/autoRf` +> **GET** `/devices/{serial}/wireless/healthScores` > > { -> "networkId": "L_12345", -> "name": "My Network", -> "timeZone": "America/Los_Angeles", -> "busyHour": { -> "schedule": { -> "mode": "automatic", -> "automatic": { -> "start": "08:00", -> "end": "17:00" -> }, -> "manual": { -> "start": "10:00", -> "end": "15:00" -> } -> }, -> "minimizeChanges": { -> "enabled": true -> } +> "device": { +> "serial": "Q234-ABCD-5678" +> }, +> "performance": { +> "latest": 80 > }, -> "channel": { -> "avoidance": { -> "enabled": true -> } +> "onboarding": { +> "latest": 20 > } > } > @@ -1419,41 +2844,28 @@ PATH _`/networks/{networkId}/wireless/radio/autoRf`_ * * * -PATH _`/organizations/{organizationId}/wireless/radio/autoRf/byNetwork`_ +### devices + +PATH _`/networks/{networkId}/wireless/devices/healthScores`_ > \- Path added > > \- New endpoint > -> #### List the AutoRF settings of an organization by network +> #### Fetch the health scores of all APs on this network > -> **GET** `/organizations/{organizationId}/wireless/radio/autoRf/byNetwork` +> **GET** `/networks/{networkId}/wireless/devices/healthScores` > > [ > { -> "networkId": "L_12345", -> "name": "My Network", -> "timeZone": "America/Los_Angeles", -> "busyHour": { -> "schedule": { -> "mode": "automatic", -> "automatic": { -> "start": "08:00", -> "end": "17:00" -> }, -> "manual": { -> "start": "10:00", -> "end": "15:00" -> } -> }, -> "minimizeChanges": { -> "enabled": true -> } +> "device": { +> "serial": "Q234-ABCD-5678" > }, -> "channel": { -> "avoidance": { -> "enabled": true -> } +> "performance": { +> "latest": 80 +> }, +> "onboarding": { +> "latest": 20 > } > } > ] @@ -1462,44 +2874,54 @@ PATH _`/organizations/{organizationId}/wireless/radio/autoRf/byNetwork`_ * * * -PATH _`/organizations/{organizationId}/wireless/radio/autoRf/channels/planning/activities`_ +PATH _`/organizations/{organizationId}/wireless/devices/wirelessControllers/byDevice`_ > \- Path added > > \- New endpoint > -> #### List the channel planning activities of an organization +> #### List of Catalyst access points information > -> **GET** `/organizations/{organizationId}/wireless/radio/autoRf/channels/planning/activities` +> **GET** `/organizations/{organizationId}/wireless/devices/wirelessControllers/byDevice` > -> [ -> { -> "startedAt": "2018-02-11T00:00:00Z", -> "endsAt": "2018-05-12T00:00:00Z", -> "type": "avoid", -> "reason": "dfs", -> "band": "5 Ghz", -> "channel": 44, -> "severity": 6, -> "network": { -> "id": "N_24329156", -> "name": "Main Office", -> "tags": [ -> "tag1", -> "tag2" -> ] -> }, -> "device": { -> "name": "My AP", +> { +> "items": [ +> { +> "network": { +> "id": "N_24329156" +> }, > "serial": "Q234-ABCD-5678", -> "mac": "00:11:22:33:44:55", +> "controller": { +> "serial": "Q234-ABCD-5678" +> }, +> "joinedAt": "2020-01-01T00:00:00Z", +> "model": "C9115AXI-H", > "tags": [ -> "tag1", -> "tag2" +> { +> "policy": "4F", +> "site": "default-site-tag", +> "rf": "default-rf-tag" +> } +> ], +> "mode": "local", +> "countryCode": "CA", +> "details": [ +> { +> "name": "catalyst serial", +> "value": "FGL2446L7QQ" +> } > ] > } +> ], +> "meta": { +> "counts": { +> "items": { +> "total": 10, +> "remaining": 0 +> } +> } > } -> ] +> } > > * * * @@ -2213,6 +3635,212 @@ PATH _`/organizations/{organizationId}/policies/assignments/byClient`_ * * * +### devices + +PATH _`/organizations/{organizationId}/devices/boots/history`_ + +> \- Path added +> +> \- New endpoint +> +> #### Returns the history of device boots in reverse chronological order (most recent first). Currently supported for MS devices only. +> +> **GET** `/organizations/{organizationId}/devices/boots/history` +> +> [ +> { +> "serial": "Q234-ABCD-5678", +> "network": { +> "id": "N_24329156" +> }, +> "start": { +> "bootedAt": "2018-02-11T00:00:00.090210Z" +> } +> } +> ] +> +> * * * + +* * * + +PATH _`/organizations/{organizationId}/devices/packetCapture/captures`_ + +> \- Path added +> +> \- New endpoint +> +> #### List Packet Captures +> +> **GET** `/organizations/{organizationId}/devices/packetCapture/captures` +> +> [ +> { +> "items": [ +> { +> "captureId": "1234", +> "network": { +> "id": "N_24329156", +> "name": "Main Office" +> }, +> "device": { +> "name": "My AP", +> "serial": "Q234-ABCD-5678" +> }, +> "user": { +> "id": "1234", +> "name": "Miles Meraki" +> }, +> "client": { +> "id": "k74272e", +> "mac": "22:33:44:55:66:77" +> }, +> "name": "file_name", +> "startTime": "2018-02-11T00:00:00.090210Z", +> "ports": "1, 2", +> "status": "completed", +> "errorMessage": "Some error message", +> "outputType": "pcap", +> "captureSource": "manual", +> "captureReason": "capture reason", +> "fileSize": 1066, +> "duration": 60, +> "filterExpression": "(icmp)", +> "autopcapType": "dhcp", +> "packetCount": 10 +> } +> ], +> "meta": { +> "counts": { +> "items": { +> "total": 100, +> "remaining": 100 +> } +> } +> } +> } +> ] +> +> * * * +> +> +> \- New endpoint +> +> #### Perform a packet capture on a device and store in Meraki Cloud. Only a single switch may be chosen per request, while multiple access points are allowed at once. +> +> **POST** `/organizations/{organizationId}/devices/packetCapture/captures` +> +> { +> "captureId": "1234", +> "network": { +> "id": "N_24329156", +> "name": "Main Office" +> }, +> "device": { +> "name": "My AP", +> "serial": "Q234-ABCD-5678" +> }, +> "user": { +> "id": "1234", +> "name": "Miles Meraki" +> }, +> "client": { +> "id": "k74272e", +> "mac": "22:33:44:55:66:77" +> }, +> "name": "file_name", +> "startTime": "2018-02-11T00:00:00.090210Z", +> "ports": "1, 2", +> "status": "completed", +> "errorMessage": "Some error message", +> "outputType": "pcap", +> "captureSource": "manual", +> "captureReason": "capture reason", +> "fileSize": 1066, +> "duration": 60, +> "filterExpression": "(icmp)", +> "autopcapType": "dhcp", +> "packetCount": 10 +> } +> +> * * * +> +> +> \- New endpoint +> +> #### Delete packet capture from cloud +> +> **DELETE** `/organizations/{organizationId}/devices/packetCapture/captures` +> +> * * * + +* * * + +PATH _`/organizations/{organizationId}/devices/packetCapture/captures/{id}/downloadUrl`_ + +> \- Path added +> +> \- New endpoint +> +> #### Get presigned download URL for given packet capture id +> +> **GET** `/organizations/{organizationId}/devices/packetCapture/captures/{id}/downloadUrl` +> +> { +> "captureId": "1234", +> "downloadUrl": "example.com" +> } +> +> * * * + +* * * + +PATH _`/organizations/{organizationId}/devices/packetCapture/captures/{id}/stop`_ + +> \- Path added +> +> \- New endpoint +> +> #### Stop a specific packet capture +> +> **POST** `/organizations/{organizationId}/devices/packetCapture/captures/{id}/stop` +> +> { +> "captureId": "1234", +> "network": { +> "id": "N_24329156", +> "name": "Main Office" +> }, +> "device": { +> "name": "My AP", +> "serial": "Q234-ABCD-5678" +> }, +> "user": { +> "id": "1234", +> "name": "Miles Meraki" +> }, +> "client": { +> "id": "k74272e", +> "mac": "22:33:44:55:66:77" +> }, +> "name": "file_name", +> "startTime": "2018-02-11T00:00:00.090210Z", +> "ports": "1, 2", +> "status": "completed", +> "errorMessage": "Some error message", +> "outputType": "pcap", +> "captureSource": "manual", +> "captureReason": "capture reason", +> "fileSize": 1066, +> "duration": 60, +> "filterExpression": "(icmp)", +> "autopcapType": "dhcp", +> "packetCount": 10 +> } +> +> * * * + +* * * + ### support PATH _`/organizations/{organizationId}/support/salesRepresentatives`_ @@ -2718,7 +4346,13 @@ PATH _`/organizations/{organizationId}/wirelessController/devices/interfaces/l2/ > "changes": [ > { > "ts": "2020-01-01T00:00:00Z", -> "status": "disabled" +> "status": "disabled", +> "warnings": [ +> "CRC warnings" +> ], +> "errors": [ +> "CRC errors" +> ] > } > ] > } @@ -2853,7 +4487,13 @@ PATH _`/organizations/{organizationId}/wirelessController/devices/interfaces/l3/ > "changes": [ > { > "ts": "2020-01-01T00:00:00Z", -> "status": "disabled" +> "status": "disabled", +> "warnings": [ +> "CRC warnings" +> ], +> "errors": [ +> "CRC errors" +> ] > } > ] > } @@ -2980,8 +4620,61 @@ PATH _`/organizations/{organizationId}/wirelessController/devices/redundancy/sta > "counts": { > "total": 2 > } -> }, -> "mobilityMac": "b0:c5:3c:0d:c5:0b" +> }, +> "mobilityMac": "b0:c5:3c:0d:c5:0b" +> } +> ], +> "meta": { +> "counts": { +> "items": { +> "total": 10, +> "remaining": 0 +> } +> } +> } +> } +> +> * * * + +* * * + +PATH _`/organizations/{organizationId}/wirelessController/devices/system/utilization/history/byInterval`_ + +> \- Path added +> +> \- New endpoint +> +> #### List cpu utilization data of wireless LAN controllers in an organization +> +> **GET** `/organizations/{organizationId}/wirelessController/devices/system/utilization/history/byInterval` +> +> { +> "items": [ +> { +> "serial": "Q234-ABCD-5678", +> "intervals": [ +> { +> "startTs": "2024-03-04T05:25:03Z", +> "endTs": "2024-03-04T05:30:19Z", +> "overall": { +> "usage": { +> "average": { +> "percentage": 10.59 +> } +> } +> }, +> "byCore": [ +> { +> "name": "0", +> "usage": { +> "average": { +> "percentage": 2.74 +> } +> } +> } +> ] +> } +> ] > } > ], > "meta": { @@ -3062,174 +4755,108 @@ PATH _`/organizations/{organizationId}/wirelessController/overview/byDevice`_ * * * -\[ insight \] -------------- - -### speedTestResults - -PATH _`/organizations/{organizationId}/insight/speedTestResults`_ - -> \- Path added -> -> \- New endpoint -> -> #### List the speed tests for the given devices under this organization. Only valid for organizations with Meraki Insight. -> -> **GET** `/organizations/{organizationId}/insight/speedTestResults` -> -> [ -> { -> "speedTestId": "1284392014819", -> "networkId": "N_24329156", -> "request": { -> "serial": "Q234-ABCD-5678", -> "interface": "wan1" -> }, -> "results": { -> "speeds": { -> "average": 247.279 -> } -> }, -> "startedAt": "2021-12-08T20:07:13Z" -> } -> ] -> -> * * * - -* * * +\[ networks \] +-------------- -### webApps +### locationScanning -PATH _`/organizations/{organizationId}/insight/webApps`_ +PATH _`/networks/{networkId}/locationScanning`_ > \- Path added > > \- New endpoint > -> #### Lists all default web applications rules with counter set rule ids -> -> **GET** `/organizations/{organizationId}/insight/webApps` -> -> [ -> { -> "counterSetRuleId": "12345", -> "name": "Meraki HTTPS", -> "category": "Remote monitoring & management", -> "thresholds": { -> "goodput": "20000", -> "responseDelay": "3000" -> }, -> "expression": "http_host[*.example.com] or http_host", -> "signature": { -> "signatureType": "custom_host", -> "host": "exampled.com", -> "port": "123", -> "net": "10.0.2.1/20" -> } -> } -> ] -> -> * * * -> -> -> \- New endpoint -> -> #### Add a custom web application for Insight to be able to track +> #### Return scanning API settings > -> **POST** `/organizations/{organizationId}/insight/webApps` +> **GET** `/networks/{networkId}/locationScanning` > > { -> "counterSetRuleId": "12345", -> "name": "Meraki HTTPS", -> "category": "Remote monitoring & management", -> "thresholds": { -> "goodput": "20000", -> "responseDelay": "3000" -> }, -> "expression": "http_host[*.example.com] or http_host", -> "signature": { -> "signatureType": "custom_host", -> "host": "exampled.com" -> } +> "analyticsEnabled": true, +> "scanningApiEnabled": true, +> "validator": "xxyzzy" > } > > * * * - -* * * - -PATH _`/organizations/{organizationId}/insight/webApps/{customCounterSetRuleId}`_ - -> \- Path added +> > > \- New endpoint > -> #### Update a custom web application for Insight to be able to track +> #### Change scanning API settings > -> **PUT** `/organizations/{organizationId}/insight/webApps/{customCounterSetRuleId}` +> **PUT** `/networks/{networkId}/locationScanning` > > { -> "counterSetRuleId": "12345", -> "name": "Meraki HTTPS", -> "category": "Remote monitoring & management", -> "thresholds": { -> "goodput": "20000", -> "responseDelay": "3000" -> }, -> "expression": "http_host[*.example.com] or http_host", -> "signature": { -> "signatureType": "custom_host", -> "host": "exampled.com" -> } +> "analyticsEnabled": true, +> "scanningApiEnabled": true, +> "validator": "xxyzzy" > } > > * * * -> -> -> \- New endpoint -> -> #### Delete a custom web application by counter set rule id. -> -> **DELETE** `/organizations/{organizationId}/insight/webApps/{customCounterSetRuleId}` -> -> * * * * * * -### applications - -PATH _`/organizations/{organizationId}/insight/applications/{applicationId}`_ +PATH _`/networks/{networkId}/locationScanning/httpServers`_ > \- Path added > > \- New endpoint > -> #### Update an Insight tracked application +> #### Return list of scanning API receivers > -> **PUT** `/organizations/{organizationId}/insight/applications/{applicationId}` +> **GET** `/networks/{networkId}/locationScanning/httpServers` > -> { -> "applicationId": "19.12", -> "name": "Meraki HTTPS", -> "thresholds": { -> "type": "smart", -> "byNetwork": [ +> [ +> { +> "endpoints": [ > { -> "networkId": "N_12345678", -> "goodput": 50000, -> "responseDuration": 1000 +> "httpServer": { +> "id": "aHR0cHM6Ly93d3cuZXhhbXBsZS5jb20vbXlfY3VzdG9tX3dlYmhvb2s=", +> "name": "Example Webhook Server", +> "networkId": "N_12345678", +> "url": "https://www.example.com/my_custom_webhook", +> "sharedSecret": "******", +> "validator": "xxx", +> "validatedAt": "2018-02-11T00:00:00Z" +> }, +> "scanningApiVersion": 123, +> "radioType": "WiFi", +> "successAt": "2018-05-12T00:00:00Z", +> "errorAt": "2018-02-11T00:00:00Z", +> "postErrors": "[{\"code\":200,\"delay\":{\"inMillis\":612},\"timestamp\":{\"millisFromEpoch\":1597255325467}}]" > } > ] > } -> } +> ] > > * * * > > > \- New endpoint > -> #### Delete an Insight tracked application +> #### Set the list of scanning API receivers. Old receivers will be removed > -> **DELETE** `/organizations/{organizationId}/insight/applications/{applicationId}` +> **PUT** `/networks/{networkId}/locationScanning/httpServers` +> +> { +> "endpoints": [ +> { +> "httpServer": { +> "id": "aHR0cHM6Ly93d3cuZXhhbXBsZS5jb20vbXlfY3VzdG9tX3dlYmhvb2s=", +> "name": "Example Webhook Server", +> "networkId": "N_12345678", +> "url": "https://www.example.com/my_custom_webhook", +> "sharedSecret": "******", +> "validator": "xxx", +> "validatedAt": "2018-02-11T00:00:00Z" +> }, +> "scanningApiVersion": 123, +> "radioType": "WiFi", +> "successAt": "2018-05-12T00:00:00Z", +> "errorAt": "2018-02-11T00:00:00Z", +> "postErrors": "[{\"code\":200,\"delay\":{\"inMillis\":612},\"timestamp\":{\"millisFromEpoch\":1597255325467}}]" +> } +> ] +> } > > * * * @@ -4040,6 +5667,250 @@ PATH _`/organizations/{organizationId}/sensor/readings/history/byInterval`_ * * * +\[ cellularGateway \] +--------------------- + +### esims + +PATH _`/organizations/{organizationId}/cellularGateway/esims/inventory`_ + +> \- Path added +> +> \- New endpoint +> +> #### The eSIM inventory of a given organization. +> +> **GET** `/organizations/{organizationId}/cellularGateway/esims/inventory` +> +> [ +> { +> "eid": "89000000000000000000000000000000", +> "iccid": "8900000000000000000", +> "type": "iSIM", +> "carrierName": "ATT", +> "apn": "internet", +> "communicationPlan": "1 Cisco IoT SDO AT&T eSIM Test Plan downloadable", +> "ratePlan": "Cisco IoT SDO - 500MB Plan", +> "status": "activated", +> "serial": "Q234-ABCD-5678", +> "device": "My cellular gateway", +> "model": "mg51", +> "deviceUrl": "https://n1.meraki.com//n//manage/nodes/new_list/000000000000", +> "networkId": "N_24329156", +> "lastUpdatedAt": "2023-02-01T00:00:00Z" +> } +> ] +> +> * * * + +* * * + +PATH _`/organizations/{organizationId}/cellularGateway/esims/inventory/{id}`_ + +> \- Path added +> +> \- New endpoint +> +> #### Toggle the status of an eSIM +> +> **PUT** `/organizations/{organizationId}/cellularGateway/esims/inventory/{id}` +> +> { +> "eid": "89000000000000000000000000000000", +> "iccid": "8900000000000000000", +> "type": "iSIM", +> "carrierName": "ATT", +> "apn": "internet", +> "communicationPlan": "1 Cisco IoT SDO AT&T eSIM Test Plan downloadable", +> "ratePlan": "Cisco IoT SDO - 500MB Plan", +> "status": "activated", +> "serial": "Q234-ABCD-5678", +> "device": "My cellular gateway", +> "model": "mg51", +> "deviceUrl": "https://n1.meraki.com//n//manage/nodes/new_list/000000000000", +> "networkId": "N_24329156", +> "lastUpdatedAt": "2023-02-01T00:00:00Z" +> } +> +> * * * + +* * * + +PATH _`/organizations/{organizationId}/cellularGateway/esims/serviceProviders/accounts`_ + +> \- Path added +> +> \- New endpoint +> +> #### Inventory of service provider accounts tied to the organization. +> +> **GET** `/organizations/{organizationId}/cellularGateway/esims/serviceProviders/accounts` +> +> [ +> { +> "accountId": "0987654321", +> "accountTitle": "My AT&T account", +> "username": "MerakiUser", +> "serviceProviderName": "ATT", +> "serviceProviderLogoUrl": "serviceproviderlogo.url", +> "lastUpdatedAt": "2023-08-21T00:00:00Z" +> } +> ] +> +> * * * +> +> +> \- New endpoint +> +> #### Add a service provider account. +> +> **POST** `/organizations/{organizationId}/cellularGateway/esims/serviceProviders/accounts` +> +> { +> "accountId": "0987654321", +> "accountTitle": "My AT&T account", +> "username": "MerakiUser", +> "serviceProviderName": "ATT", +> "serviceProviderLogoUrl": "serviceproviderlogo.url", +> "lastUpdatedAt": "2023-08-21T00:00:00Z" +> } +> +> * * * + +* * * + +PATH _`/organizations/{organizationId}/cellularGateway/esims/serviceProviders/accounts/{id}`_ + +> \- Path added +> +> \- New endpoint +> +> #### Edit service provider account info stored in Meraki's database. +> +> **PUT** `/organizations/{organizationId}/cellularGateway/esims/serviceProviders/accounts/{id}` +> +> { +> "accountId": "0987654321", +> "accountTitle": "My AT&T account", +> "username": "MerakiUser", +> "serviceProviderName": "ATT", +> "serviceProviderLogoUrl": "serviceproviderlogo.url", +> "lastUpdatedAt": "2023-08-21T00:00:00Z" +> } +> +> * * * +> +> +> \- New endpoint +> +> #### Remove a service provider account's integration with the Dashboard. +> +> **DELETE** `/organizations/{organizationId}/cellularGateway/esims/serviceProviders/accounts/{id}` +> +> * * * + +* * * + +PATH _`/organizations/{organizationId}/cellularGateway/esims/serviceProviders/accounts/{id}/plans`_ + +> \- Path added +> +> \- New endpoint +> +> #### The communication and rate plans available for a given provider. +> +> **GET** `/organizations/{organizationId}/cellularGateway/esims/serviceProviders/accounts/{id}/plans` +> +> { +> "commPlans": [ +> { +> "name": "A communication plan", +> "apns": [ +> { +> "name": "Some APN", +> "pdpId": 42 +> } +> ] +> } +> ], +> "ratePlans": [ +> { +> "name": "A rate plan" +> } +> ] +> } +> +> * * * + +* * * + +PATH _`/organizations/{organizationId}/cellularGateway/esims/serviceProviders/available`_ + +> \- Path added +> +> \- New endpoint +> +> #### Service providers customers can add accounts for. +> +> **GET** `/organizations/{organizationId}/cellularGateway/esims/serviceProviders/available` +> +> [ +> { +> "id": "1234567890", +> "name": "AT&T", +> "logo": "Logo URL", +> "isBootstrap": false, +> "terms": { +> "termsDocument": "Legal jargon", +> "termsName": "AT&T Terms and Conditions" +> } +> } +> ] +> +> * * * + +* * * + +PATH _`/organizations/{organizationId}/cellularGateway/esims/swap`_ + +> \- Path added +> +> \- New endpoint +> +> #### Swap which profile an eSIM uses. +> +> **POST** `/organizations/{organizationId}/cellularGateway/esims/swap` +> +> { +> "eid": "1234567890", +> "iccid": "9876543210", +> "status": "Succeeded" +> } +> +> * * * + +* * * + +PATH _`/organizations/{organizationId}/cellularGateway/esims/swap/{id}`_ + +> \- Path added +> +> \- New endpoint +> +> #### Get the status of a profile swap. +> +> **PUT** `/organizations/{organizationId}/cellularGateway/esims/swap/{id}` +> +> { +> "eid": "1234567890", +> "iccid": "9876543210", +> "status": "Succeeded" +> } +> +> * * * + +* * * + \[ secureConnect \] ------------------- @@ -4782,4 +6653,177 @@ PATH _`/organizations/{organizationId}/sm/bulkEnrollment/tokens`_ > > * * * +* * * + +\[ insight \] +------------- + +### speedTestResults + +PATH _`/organizations/{organizationId}/insight/speedTestResults`_ + +> \- Path added +> +> \- New endpoint +> +> #### List the speed tests for the given devices under this organization. Only valid for organizations with Meraki Insight. +> +> **GET** `/organizations/{organizationId}/insight/speedTestResults` +> +> [ +> { +> "speedTestId": "1284392014819", +> "networkId": "N_24329156", +> "request": { +> "serial": "Q234-ABCD-5678", +> "interface": "wan1" +> }, +> "results": { +> "speeds": { +> "average": 247.279 +> } +> }, +> "startedAt": "2021-12-08T20:07:13Z" +> } +> ] +> +> * * * + +* * * + +### webApps + +PATH _`/organizations/{organizationId}/insight/webApps`_ + +> \- Path added +> +> \- New endpoint +> +> #### Lists all default web applications rules with counter set rule ids +> +> **GET** `/organizations/{organizationId}/insight/webApps` +> +> [ +> { +> "counterSetRuleId": "12345", +> "name": "Meraki HTTPS", +> "category": "Remote monitoring & management", +> "thresholds": { +> "goodput": "20000", +> "responseDelay": "3000" +> }, +> "expression": "http_host[*.example.com] or http_host", +> "signature": { +> "signatureType": "custom_host", +> "host": "exampled.com", +> "port": "123", +> "net": "10.0.2.1/20" +> } +> } +> ] +> +> * * * +> +> +> \- New endpoint +> +> #### Add a custom web application for Insight to be able to track +> +> **POST** `/organizations/{organizationId}/insight/webApps` +> +> { +> "counterSetRuleId": "12345", +> "name": "Meraki HTTPS", +> "category": "Remote monitoring & management", +> "thresholds": { +> "goodput": "20000", +> "responseDelay": "3000" +> }, +> "expression": "http_host[*.example.com] or http_host", +> "signature": { +> "signatureType": "custom_host", +> "host": "exampled.com" +> } +> } +> +> * * * + +* * * + +PATH _`/organizations/{organizationId}/insight/webApps/{customCounterSetRuleId}`_ + +> \- Path added +> +> \- New endpoint +> +> #### Update a custom web application for Insight to be able to track +> +> **PUT** `/organizations/{organizationId}/insight/webApps/{customCounterSetRuleId}` +> +> { +> "counterSetRuleId": "12345", +> "name": "Meraki HTTPS", +> "category": "Remote monitoring & management", +> "thresholds": { +> "goodput": "20000", +> "responseDelay": "3000" +> }, +> "expression": "http_host[*.example.com] or http_host", +> "signature": { +> "signatureType": "custom_host", +> "host": "exampled.com" +> } +> } +> +> * * * +> +> +> \- New endpoint +> +> #### Delete a custom web application by counter set rule id. +> +> **DELETE** `/organizations/{organizationId}/insight/webApps/{customCounterSetRuleId}` +> +> * * * + +* * * + +### applications + +PATH _`/organizations/{organizationId}/insight/applications/{applicationId}`_ + +> \- Path added +> +> \- New endpoint +> +> #### Update an Insight tracked application +> +> **PUT** `/organizations/{organizationId}/insight/applications/{applicationId}` +> +> { +> "applicationId": "19.12", +> "name": "Meraki HTTPS", +> "thresholds": { +> "type": "smart", +> "byNetwork": [ +> { +> "networkId": "N_12345678", +> "goodput": 50000, +> "responseDuration": 1000 +> } +> ] +> } +> } +> +> * * * +> +> +> \- New endpoint +> +> #### Delete an Insight tracked application +> +> **DELETE** `/organizations/{organizationId}/insight/applications/{applicationId}` +> +> * * * + * * * \ No newline at end of file diff --git a/changelog/v1.49.0.md b/changelog/v1.49.0.md new file mode 100644 index 0000000..27144e2 --- /dev/null +++ b/changelog/v1.49.0.md @@ -0,0 +1,405 @@ + - [What's Updated](#whats-updated) + * [\[ switch \]](#-switch-) + + [ports](#ports) + - [List the switch ports for a switch](#list-the-switch-ports-for-a-switch) + - [Return a switch port](#return-a-switch-port) + - [Update a switch port](#update-a-switch-port) + + [routing](#routing) + - [List layer 3 static routes for a switch](#list-layer-3-static-routes-for-a-switch) + - [Return a layer 3 static route for a switch](#return-a-layer-3-static-route-for-a-switch) + - [Update a layer 3 static route for a switch](#update-a-layer-3-static-route-for-a-switch) + - [Create a layer 3 static route for a switch](#create-a-layer-3-static-route-for-a-switch) + + [stacks](#stacks) + - [List layer 3 static routes for a switch stack](#list-layer-3-static-routes-for-a-switch-stack) + - [Return a layer 3 static route for a switch stack](#return-a-layer-3-static-route-for-a-switch-stack) + - [Update a layer 3 static route for a switch stack](#update-a-layer-3-static-route-for-a-switch-stack) + - [Create a layer 3 static route for a switch stack](#create-a-layer-3-static-route-for-a-switch-stack) + + [configTemplates](#configtemplates) + - [Return all the ports of a switch template](#return-all-the-ports-of-a-switch-template) + - [Return a switch template port](#return-a-switch-template-port) + - [Update a switch template port](#update-a-switch-template-port) + * [\[ wireless \]](#-wireless-) + + [clients](#clients) + - [List the wireless connectivity events for a client within a network in the timespan.](#list-the-wireless-connectivity-events-for-a-client-within-a-network-in-the-timespan) + + [rfProfiles](#rfprofiles) + - [List RF profiles for this network](#list-rf-profiles-for-this-network) + - [Return a RF profile](#return-a-rf-profile) + - [Updates specified RF profile for this network](#updates-specified-rf-profile-for-this-network) + - [Creates new RF profile for this network](#creates-new-rf-profile-for-this-network) + * [\[ organizations \]](#-organizations-) + + [alerts](#alerts) + - [Return overview of active health alerts for an organization](#return-overview-of-active-health-alerts-for-an-organization) + - [Return a Summary of Alerts grouped by network and severity](#return-a-summary-of-alerts-grouped-by-network-and-severity) + - [Return a Summary of Alerts grouped by type and severity](#return-a-summary-of-alerts-grouped-by-type-and-severity) + - [Returns historical health alert overviews](#returns-historical-health-alert-overviews) + + [devices](#devices) + - [List the devices in an organization that have been assigned to a network.](#list-the-devices-in-an-organization-that-have-been-assigned-to-a-network) + + [firmware](#firmware) + - [Get firmware upgrade status for the filtered devices](#get-firmware-upgrade-status-for-the-filtered-devices) +- [What's New](#whats-new) + * [\[ administered \]](#-administered-) + + [identities](#identities) + - [List the non-sensitive metadata associated with the API keys that belong to the user](#list-the-non-sensitive-metadata-associated-with-the-api-keys-that-belong-to-the-user) + - [Generates an API key for an identity. For users who have access to more than one organization, the change will take up to five minutes to propagate. If one of the organizations is currently under maintenance, the change may not propagate fully until after the maintenance has been completed.](#generates-an-api-key-for-an-identity-for-users-who-have-access-to-more-than-one-organization-the-change-will-take-up-to-five-minutes-to-propagate-if-one-of-the-organizations-is-currently-under-maintenance-the-change-may-not-propagate-fully-until-after-the-maintenance-has-been-completed) + - [Revokes an identity's API key, using the last four characters of the key. For users who have access to more than one organization, the change will take up to five minutes to propagate. If one of the organizations is currently under maintenance, the change may not propagate fully until after the maintenance has been completed.](#revokes-an-identitys-api-key-using-the-last-four-characters-of-the-key-for-users-who-have-access-to-more-than-one-organization-the-change-will-take-up-to-five-minutes-to-propagate-if-one-of-the-organizations-is-currently-under-maintenance-the-change-may-not-propagate-fully-until-after-the-maintenance-has-been-completed) + +Version **1.48.0** _to_ **1.49.0** + +* * * + +**Summary of Changes** + +**3 - New** + +**51 - Updated** + +**732 - Total Endpoints** + +**481 - Total Paths** + +* * * + +* * * + +What's Updated +============== + +\[ switch \] +------------ + +### ports + +#### List the switch ports for a switch + +GET _`/devices/{serial}/switch/ports`_ + +> \- Optional property `schedule` Added + +> \- Optional property `adaptivePolicyGroup` Added + +> \- Response property `schedule` value added + +> \- Response property `adaptivePolicyGroup` value added + +* * * + +#### Return a switch port + +GET _`/devices/{serial}/switch/ports/{portId}`_ + +> \- Optional property `schedule` Added + +> \- Optional property `adaptivePolicyGroup` Added + +> \- Response property `schedule` value added + +> \- Response property `adaptivePolicyGroup` value added + +* * * + +#### Update a switch port + +PUT _`/devices/{serial}/switch/ports/{portId}`_ + +> \- Optional property `schedule` Added + +> \- Optional property `adaptivePolicyGroup` Added + +* * * + +### routing + +#### List layer 3 static routes for a switch + +GET _`/devices/{serial}/switch/routing/staticRoutes`_ + +> \- Optional property `managementNextHop` Added + +> \- Response property `managementNextHop` value added + +* * * + +#### Return a layer 3 static route for a switch + +GET _`/devices/{serial}/switch/routing/staticRoutes/{staticRouteId}`_ + +> \- Optional property `managementNextHop` Added + +> \- Response property `managementNextHop` value added + +* * * + +#### Update a layer 3 static route for a switch + +PUT _`/devices/{serial}/switch/routing/staticRoutes/{staticRouteId}`_ + +> \- Optional property `managementNextHop` Added + +> \- Optional property `managementNextHop` Added + +* * * + +#### Create a layer 3 static route for a switch + +POST _`/devices/{serial}/switch/routing/staticRoutes`_ + +> \- Optional property `managementNextHop` Added + +* * * + +### stacks + +#### List layer 3 static routes for a switch stack + +GET _`/networks/{networkId}/switch/stacks/{switchStackId}/routing/staticRoutes`_ + +> \- Optional property `managementNextHop` Added + +> \- Response property `managementNextHop` value added + +* * * + +#### Return a layer 3 static route for a switch stack + +GET _`/networks/{networkId}/switch/stacks/{switchStackId}/routing/staticRoutes/{staticRouteId}`_ + +> \- Optional property `managementNextHop` Added + +> \- Response property `managementNextHop` value added + +* * * + +#### Update a layer 3 static route for a switch stack + +PUT _`/networks/{networkId}/switch/stacks/{switchStackId}/routing/staticRoutes/{staticRouteId}`_ + +> \- Optional property `managementNextHop` Added + +* * * + +#### Create a layer 3 static route for a switch stack + +POST _`/networks/{networkId}/switch/stacks/{switchStackId}/routing/staticRoutes`_ + +> \- Optional property `managementNextHop` Added + +* * * + +### configTemplates + +#### Return all the ports of a switch template + +GET _`/organizations/{organizationId}/configTemplates/{configTemplateId}/switch/profiles/{profileId}/ports`_ + +> \- Optional property `schedule` Added + +> \- Response property `schedule` value added + +* * * + +#### Return a switch template port + +GET _`/organizations/{organizationId}/configTemplates/{configTemplateId}/switch/profiles/{profileId}/ports/{portId}`_ + +> \- Optional property `schedule` Added + +> \- Response property `schedule` value added + +* * * + +#### Update a switch template port + +PUT _`/organizations/{organizationId}/configTemplates/{configTemplateId}/switch/profiles/{profileId}/ports/{portId}`_ + +> \- Optional property `schedule` Added + +* * * + +\[ wireless \] +-------------- + +### clients + +#### List the wireless connectivity events for a client within a network in the timespan. + +GET _`/networks/{networkId}/wireless/clients/{clientId}/connectivityEvents`_ + +> \- Optional param `sortOrder` added + +> \- Optional property `captureId` Added + +> \- Response property `captureId` value added + +* * * + +### rfProfiles + +#### List RF profiles for this network + +GET _`/networks/{networkId}/wireless/rfProfiles`_ + +> \- Optional property `isIndoorDefault` Added + +> \- Optional property `isOutdoorDefault` Added + +> \- Response property `isIndoorDefault` value added + +> \- Response property `isOutdoorDefault` value added + +* * * + +#### Return a RF profile + +GET _`/networks/{networkId}/wireless/rfProfiles/{rfProfileId}`_ + +> \- Optional property `isIndoorDefault` Added + +> \- Optional property `isOutdoorDefault` Added + +> \- Response property `isIndoorDefault` value added + +> \- Response property `isOutdoorDefault` value added + +* * * + +#### Updates specified RF profile for this network + +PUT _`/networks/{networkId}/wireless/rfProfiles/{rfProfileId}`_ + +> \- Optional property `isIndoorDefault` Added + +> \- Optional property `isOutdoorDefault` Added + +> \- Optional property `isIndoorDefault` Added + +> \- Optional property `isOutdoorDefault` Added + +* * * + +#### Creates new RF profile for this network + +POST _`/networks/{networkId}/wireless/rfProfiles`_ + +> \- Optional property `isIndoorDefault` Added + +> \- Optional property `isOutdoorDefault` Added + +* * * + +\[ organizations \] +------------------- + +### alerts + +#### Return overview of active health alerts for an organization + +GET _`/organizations/{organizationId}/assurance/alerts/overview`_ + +> \- Optional param `category` added + +* * * + +#### Return a Summary of Alerts grouped by network and severity + +GET _`/organizations/{organizationId}/assurance/alerts/overview/byNetwork`_ + +> \- Optional param `category` added + +* * * + +#### Return a Summary of Alerts grouped by type and severity + +GET _`/organizations/{organizationId}/assurance/alerts/overview/byType`_ + +> \- Optional param `category` added + +* * * + +#### Returns historical health alert overviews + +GET _`/organizations/{organizationId}/assurance/alerts/overview/historical`_ + +> \- Optional param `category` added + +* * * + +### devices + +#### List the devices in an organization that have been assigned to a network. + +GET _`/organizations/{organizationId}/devices`_ + +> \- Summary changed from `List the devices in an organization` to `List the devices in an organization that have been assigned to a network.` + +* * * + +### firmware + +#### Get firmware upgrade status for the filtered devices + +GET _`/organizations/{organizationId}/firmware/upgrades/byDevice`_ + +> \- Optional param `currentUpgradesOnly` added + +* * * + +What's New +========== + +\[ administered \] +------------------ + +### identities + +PATH _`/administered/identities/me/api/keys`_ + +> \- Path added +> +> \- New endpoint +> +> #### List the non-sensitive metadata associated with the API keys that belong to the user +> +> **GET** `/administered/identities/me/api/keys` +> +> [ +> { +> "suffix": "da4f", +> "createdAt": "2018-02-11T00:00:00.090210Z" +> } +> ] +> +> * * * + +* * * + +PATH _`/administered/identities/me/api/keys/generate`_ + +> \- Path added +> +> \- New endpoint +> +> #### Generates an API key for an identity. For users who have access to more than one organization, the change will take up to five minutes to propagate. If one of the organizations is currently under maintenance, the change may not propagate fully until after the maintenance has been completed. +> +> **POST** `/administered/identities/me/api/keys/generate` +> +> { +> "key": "1284392014819" +> } +> +> * * * + +* * * + +PATH _`/administered/identities/me/api/keys/{suffix}/revoke`_ + +> \- Path added +> +> \- New endpoint +> +> #### Revokes an identity's API key, using the last four characters of the key. For users who have access to more than one organization, the change will take up to five minutes to propagate. If one of the organizations is currently under maintenance, the change may not propagate fully until after the maintenance has been completed. +> +> **POST** `/administered/identities/me/api/keys/{suffix}/revoke` +> +> * * * + +* * * \ No newline at end of file diff --git a/documents/2024.md b/documents/2024.md index 362d0e8..d36b402 100644 --- a/documents/2024.md +++ b/documents/2024.md @@ -1,5 +1,110 @@ -# 07-2024 +# 08-2024 + +## Dashboard API Release v1.49 +[**Changelog**](https://developer.cisco.com/meraki/whats-new/v1-49-0/) + +## Summary of Changes +- **New Endpoints**: 3 +- **Updated Endpoints**: 51 +- **Total Endpoints**: 732 +- **Total Paths**: 481 + +## What's New + +\[ administered \] +------------------ + +### [List the non-sensitive metadata associated with the API keys that belong to the user](https://developer.cisco.com/meraki/api-v1/get-administered-identities-me-api-keys/) +**GET** `/administered/identities/me/api/keys` + +### [Generates an API key for an identity](https://developer.cisco.com/meraki/api-v1/generate-administered-identities-me-api-keys/) +**POST** `/administered/identities/me/api/keys/generate` + +### [Revokes an identity's API key, using the last four characters of the key](https://developer.cisco.com/meraki/api-v1/revoke-administered-identities-me-api-keys/) +**POST** `/administered/identities/me/api/keys/{suffix}/revoke` + +## What's Updated + +\[ switch \] +------------ + +### ports + +- [List the switch ports for a switch](https://developer.cisco.com/meraki/api-v1/get-device-switch-ports/) +- [Return a switch port](https://developer.cisco.com/meraki/api-v1/get-device-switch-port/) +- [Update a switch port](https://developer.cisco.com/meraki/api-v1/update-device-switch-port/) + +Added properties: `schedule`, `adaptivePolicyGroup` + +### routing + +- [List layer 3 static routes for a switch](https://developer.cisco.com/meraki/api-v1/get-device-switch-routing-static-routes/) +- [Return a layer 3 static route for a switch](https://developer.cisco.com/meraki/api-v1/get-device-switch-routing-static-route/) +- [Update a layer 3 static route for a switch](https://developer.cisco.com/meraki/api-v1/update-device-switch-routing-static-route/) +- [Create a layer 3 static route for a switch](https://developer.cisco.com/meraki/api-v1/create-device-switch-routing-static-route/) + +Added property: `managementNextHop` + +### stacks + +- [List layer 3 static routes for a switch stack](https://developer.cisco.com/meraki/api-v1/get-network-switch-stack-routing-static-routes/) +- [Return a layer 3 static route for a switch stack](https://developer.cisco.com/meraki/api-v1/get-network-switch-stack-routing-static-route/) +- [Update a layer 3 static route for a switch stack](https://developer.cisco.com/meraki/api-v1/update-network-switch-stack-routing-static-route/) +- [Create a layer 3 static route for a switch stack](https://developer.cisco.com/meraki/api-v1/create-network-switch-stack-routing-static-route/) + +Added property: `managementNextHop` +### configTemplates + +- [Return all the ports of a switch template](https://developer.cisco.com/meraki/api-v1/get-organization-config-template-switch-profile-ports/) +- [Return a switch template port](https://developer.cisco.com/meraki/api-v1/get-organization-config-template-switch-profile-port/) +- [Update a switch template port](https://developer.cisco.com/meraki/api-v1/update-organization-config-template-switch-profile-port/) + +Added property: `schedule` + +\[ wireless \] +-------------- + +### clients + +- [List the wireless connectivity events for a client within a network in the timespan](https://developer.cisco.com/meraki/api-v1/get-network-wireless-client-connectivity-events/) + +Added properties: `sortOrder`, `captureId` + +### rfProfiles + +- [List RF profiles for this network](https://developer.cisco.com/meraki/api-v1/get-network-wireless-rf-profiles/) +- [Return a RF profile](https://developer.cisco.com/meraki/api-v1/get-network-wireless-rf-profile/) +- [Updates specified RF profile for this network](https://developer.cisco.com/meraki/api-v1/update-network-wireless-rf-profile/) +- [Creates new RF profile for this network](https://developer.cisco.com/meraki/api-v1/create-network-wireless-rf-profile/) + +Added properties: `isIndoorDefault`, `isOutdoorDefault` + +\[ organizations \] +------------------- + +### alerts + +- [Return overview of active health alerts for an organization](https://developer.cisco.com/meraki/api-v1/get-organization-assurance-alerts-overview/) +- [Return a Summary of Alerts grouped by network and severity](https://developer.cisco.com/meraki/api-v1/get-organization-assurance-alerts-overview-by-network/) +- [Return a Summary of Alerts grouped by type and severity](https://developer.cisco.com/meraki/api-v1/get-organization-assurance-alerts-overview-by-type/) +- [Returns historical health alert overviews](https://developer.cisco.com/meraki/api-v1/get-organization-assurance-alerts-overview-historical/) + +Added param: `category` + +### devices + +- [List the devices in an organization that have been assigned to a network](https://developer.cisco.com/meraki/api-v1/get-organization-devices/) + +Summary changed from `List the devices in an organization` to `List the devices in an organization that have been assigned to a network.` + +### firmware + +- [Get firmware upgrade status for the filtered devices](https://developer.cisco.com/meraki/api-v1/get-organization-firmware-upgrades-by-device/) + +Added param: `currentUpgradesOnly` + +# 07-2024 ## Dashboard API Release v1.48 [**Changelog**](https://developer.cisco.com/meraki/whats-new/v1-48-0/)