Skip to content

Commit

Permalink
Adding approx 70 new endpoints (addresses #8)
Browse files Browse the repository at this point in the history
  • Loading branch information
tejashah88 committed Aug 7, 2019
1 parent 24e265d commit 807291b
Show file tree
Hide file tree
Showing 6 changed files with 161 additions and 25 deletions.
19 changes: 18 additions & 1 deletion CHANGELOG.md
@@ -1,6 +1,23 @@
# Changelog

## v2.1.0 - (NEXT)
## v3.0.0 - (Aug/6/2019)

### :warning: Breaking Changes :warning:

#### API Coverage Tool Changes
The postman docs that are used to fetch additional endpoints are being dropped in favor of exclusively using the official docs. The postman docs required more maintainance due to inconsistencies in formatting and they took a long time to fetch from the network (10 seconds!). Additionally, the blacklist is being dropped since it's original purpose was to account for odd postman endpoints that weren't properly filtered by the tool.

#### Upgrading to v3.0.0
There's nothing that needs to be done for upgrading to version v3.0.0

### New API Endpoints
* Added approximately 70 new endpoints

## v2.1.1 - (Feb/1/2019)
### Bug fixes
* [#7](https://github.com/tejashah88/node-meraki-dashboard/issues/7): Fixed being unable to import the library

## v2.1.0 - (Jan/29/2019)

### New API Endpoints
#### New groups added
Expand Down
103 changes: 92 additions & 11 deletions DOCUMENTATION.md
@@ -1,9 +1,11 @@
## Table of Contents
* [Table of Contents](#table-of-contents)
* [Documentation](#documentation)
* [API Usage](#api-usage)
* [Admins](#admins)
* [Alert settings](#alert-settings)
* [Analytics](#analytics)
* [Action Batches](#action-batches)
* [Bluetooth Clients](#bluetooth-clients)
* [Cameras](#cameras)
* [Clients](#clients)
Expand Down Expand Up @@ -37,14 +39,17 @@
* [Cisco Polaris](#cisco-polaris)
* [Device](#device)
* [Misc. Functions](#misc-functions)
* [SNMP Settings](#snmp-settings)
* [SSIDs](#ssids)
* [Security Events](#security-events)
* [Splash Page](#splash-page)
* [Static routes](#static-routes)
* [Switch ports](#switch-ports)
* [Switch settings](#switch-settings)
* [Syslog servers](#syslog-servers)
* [Uplink settings](#uplink-settings)
* [VLANs](#vlans)
* [Webhook logs](#webhook-logs)
* [Wireless Health](#wireless-health)
* [Connectivity Info](#connectivity-info)
* [Latency Info](#latency-info)
Expand All @@ -55,9 +60,15 @@
* Official Documentation: https://api.meraki.com/api_docs
* Postman Documentation: https://documenter.getpostman.com/view/897512/2To9xm

**Note**: All functions return a promise, which either resolves to the data received, or rejects with an error.
All functions return a promise, which either resolves to the data received, or rejects with an error.

**Note**: Despite the prescence of types in the documentation, they are NOT enforced in the library. They are more useful as a guide but passing the wrong kind of data can cause unexpected behavior.
**Note**: Despite the presence of types in the documentation, they are NOT enforced in the library. Passing the wrong kind of data can cause unexpected behavior.

### API Usage
```javascript
// List the API requests made by an organization.
Array dashboard.api_usage.api_requests(String organization_id, Object params)
```

### Admins
```javascript
Expand Down Expand Up @@ -101,6 +112,24 @@ Object dashboard.analytics.recentRecords(String serial)
Object dashboard.analytics.liveRecords(String serial)
```

### Action Batches
```javascript
// Return the list of action batches in the organization.
Array dashboard.action_batches.list(String organization_id)

// Return an action batch.
Object dashboard.action_batches.get(String organization_id, String action_batch_id)

// Create an action batch.
Object dashboard.action_batches.create(String organization_id, Object params)

// Update an action batch.
Object dashboard.action_batches.update(String organization_id, String action_batch_id, Object params)

// Delete an action batch.
dashboard.action_batches.delete(String organization_id, String action_batch_id)
```

### Bluetooth Clients
```javascript
// List the Bluetooth clients seen by APs in this network.
Expand All @@ -114,6 +143,9 @@ Object dashboard.bluetooth_clients.get(String network_id, String client_mac, Obj
```javascript
// Returns video link for the specified camera. If a timestamp supplied, it links to that time.
Object dashboard.cameras.videoLink(String network_id, String serial, Number timestamp)

// Generate a snapshot of what the camera sees at the specified time and return a link to that image.
Object dashboard.cameras.snapshot(String network_id, String serial, Number timestamp)
```

### Clients
Expand Down Expand Up @@ -155,6 +187,9 @@ Object dashboard.clients.getSplashAuth(String network_id, String client_mac)

// Update a client's splash authorization.
Object dashboard.clients.updateSplashAuth(String network_id, String client_mac, Object params)

// List the clients that have used this network in the timespan.
Array dashboard.clients.usedNetwork(String network_id, Object params)
```

### Config templates
Expand All @@ -167,7 +202,6 @@ dashboard.config_templates.remove(String organization_id, String template_id)
```

### Content Filtering

#### Categories
```javascript
// List all available content filtering categories for an MX network.
Expand Down Expand Up @@ -212,6 +246,12 @@ Array dashboard.devices.lossAndLatencyHistory(String network_id, String serial,
// Return the performance score for a single device (MX).
// Extra documentation: https://documentation.meraki.com/MX/Monitoring_and_Reporting/Device_Utilization
Object dashboard.devices.performanceScore(String network_id, String serial)

// Blink the LEDs on a device.
Object dashboard.devices.blinkLeds(String network_id, String serial, Object params)

// Reboot a device.
Object dashboard.devices.reboot(String network_id, String serial)
```

### Firewalled services
Expand All @@ -230,6 +270,18 @@ Object dashboard.firewalled_services.update(String network_id, String service, O
```javascript
// List the group policies in a network.
Array dashboard.group_policies.list(String network_id)

// Display a group policy.
Object dashboard.group_policies.get(String network_id, String group_policy_id)

// Create a group policy.
Object dashboard.group_policies.create(String network_id, Object params)

// Update a group policy.
Object dashboard.group_policies.update(String network_id, String group_policy_id, Object params)

// Delete a group policy.
dashboard.group_policies.delete(String network_id, String group_policy_id)
```

### HTTP servers
Expand Down Expand Up @@ -303,19 +355,19 @@ Array dashboard.mx_cellular_firewall.updateRules(String network_id, Object param

### Named tag scope
```javascript
// List the named tag scopes in this network.
// List the target groups in this network.
Array dashboard.named_tag_scope.list(String network_id, Boolean with_details)

// Return a named tag scope.
// Return a target group.
Object dashboard.named_tag_scope.get(String network_id, String named_tag_scope_id, Boolean with_details)

// Update a named tag scope.
// Update a target group.
Object dashboard.named_tag_scope.update(String network_id, String named_tag_scope_id, Object params)

// Add a named_tag_scope.
// Add a target group.
Object dashboard.named_tag_scope.create(String network_id, Object params)

// Delete a named tag scope from a network.
// Delete a target group from a network.
dashboard.named_tag_scope.delete(String network_id, String named_tag_scope_id)
```

Expand Down Expand Up @@ -372,11 +424,14 @@ Array dashboard.organizations.list()
// Return an organization.
Object dashboard.organizations.get(String organization_id)

// Create a new organization.
Object dashboard.organizations.create(Object params)

// Update an organization.
Object dashboard.organizations.update(String organization_id, Object params)

// Create a new organization.
Object dashboard.organizations.create(Object params)
// Delete an organization.
dashboard.organizations.delete(String organization_id)

// Create a new organization by cloning the addressed organization.
Object dashboard.organizations.clone(String organization_id, Object params)
Expand All @@ -401,6 +456,9 @@ Object dashboard.organizations.getSnmpSettings(String organization_id)
// Update the SNMP settings for an organization.
Object dashboard.organizations.updateSnmpSettings(String organization_id, Object params)

// Return the uplink loss and latency for every MX in the organization from at latest 2 minutes ago.
Array dashboard.organizations.getUplinkLossLatency(String organization_id, Object params)

// Return the third party VPN peers for an organization.
Array dashboard.organizations.getThirdPartyVpnPeers(String organization_id)

Expand Down Expand Up @@ -546,7 +604,6 @@ dashboard.saml_roles.delete(String organization_id, String role_id)
```

### System Manager

#### Cisco Clarity
```javascript
// Create a new profile containing a Cisco Clarity payload.
Expand Down Expand Up @@ -673,6 +730,15 @@ Object dashboard.sm.moveDevices(String network_id, Object params)
Object dashboard.sm.listProfiles(String network_id)
```

### SNMP Settings
```javascript
// Return the SNMP settings for a network.
dashboard.snmp_settings.get(String network_id)

// Update the SNMP settings for a network.
dashboard.snmp_settings.update(String network_id, Object params)
```

### SSIDs
```javascript
// List the SSIDs in a network.
Expand All @@ -685,6 +751,15 @@ Object dashboard.ssids.get(String network_id, String ssid)
Object dashboard.ssids.update(String network_id, String ssid, Object params)
```

### Security Events
```javascript
// List the security events for a organization.
Array dashboard.security_events.byOrganization(String organization_id, Object params)

// List the security events for a network.
Array dashboard.security_events.byNetwork(String network_id, Object params)
```

### Splash Page
```javascript
// List the splash login attempts for a network.
Expand Down Expand Up @@ -778,6 +853,12 @@ Object dashboard.vlans.isEnabled(String network_id)
Object dashboard.vlans.setEnabled(String network_id, Boolean enabled)
```

### Webhook logs
```javascript
// Return the log of webhook POSTs sent.
Array dashboard.webhook_logs.get(String organization_id, Object params)
```

### Wireless Health

#### Connectivity Info
Expand Down

0 comments on commit 807291b

Please sign in to comment.