Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,50 @@
# CHANGELOG
## Version 0.63.0 (June 2026)

**Released**: June 12, 2026

This release updates generated API bindings from the latest OpenAPI spec, adding new async claim, Marvis client, Marvis configuration, and AP localization workflows while expanding parameter documentation across the SDK.

---

### 1. NEW FEATURES

#### **Org Async Claim APIs**
Added a new org claims module for asynchronous claim workflows:
- **`listOrgAsyncClaims()`**
- **`createOrgAsyncClaim()`**
- **`getOrgAsyncClaimStatus()`**

#### **Org Marvis Client APIs**
Added org-level Marvis client insight, event, and statistics operations:
- **`getOrgMarvisClientInsights()`**
- **`countOrgMarvisClientEvents()`**, **`searchOrgMarvisClientEvents()`**
- **`countOrgMarvisClientsStats()`**, **`searchOrgMarvisClientsStats()`**

#### **Site Marvis Configuration Actions**
Added a new site Marvis configuration module with action search, count, delete, and feedback operations:
- **`countSiteMarvisConfigActions()`**
- **`searchSiteMarvisConfigActions()`**
- **`deleteSiteMarvisConfigAction()`**
- **`submitSiteMarvisConfigFeedback()`**

#### **AP Localization Data Acceptance**
Added a site maps operation for accepting AP localization data:
- **`acceptSiteApLocalizationData()`**

---

### 2. IMPROVEMENTS

#### **Expanded Query Parameter Coverage**
Added and refined filters across generated endpoints, including device, client, stats, SLE, alarm, event, VPN, tunnel, NAC, webhook, PSK, and inventory APIs. New coverage includes richer `distinct` count fields, device type and status filters, duration ranges, pagination cursors, sort parameters, and model, hostname, MAC, OS, LLDP, RF, and Mist Edge filters.

#### **Improved Generated Parameter Documentation**
Updated the OpenAPI generator to preserve parameter descriptions, improving generated docstrings for wildcard matching, comma-separated values, enum meanings, pagination behavior, and conditional filters.


---

## Version 0.62.0 (May 2026)

**Released**: May 1, 2026
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "hatchling.build"

[project]
name = "mistapi"
version = "0.62.0"
version = "0.63.0"
authors = [{ name = "Thomas Munzer", email = "tmunzer@juniper.net" }]
description = "Python package to simplify the Mist System APIs usage"
keywords = ["Mist", "Juniper", "API"]
Expand Down
1 change: 1 addition & 0 deletions scripts/generate_from_openapi.py
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,7 @@ def gen_param(data: dict, openapi_schemas: dict) -> dict:
# Handle inline parameter definition - extract directly from schema
tmp = {
"name": data["name"].replace(" ", "_").replace("-", "_"),
"description": data.get("description"),
"required": data.get("required", False),
"enum": data["schema"].get("enum", None),
"type": data["schema"].get("type"),
Expand Down
2 changes: 1 addition & 1 deletion src/mistapi/__version.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
__version__ = "0.62.0"
__version__ = "0.63.0"
__author__ = "Thomas Munzer <tmunzer@juniper.net>"
1 change: 1 addition & 0 deletions src/mistapi/api/v1/const/ap_channels.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ def listApChannels(
QUERY PARAMS
------------
country_code : str
Country code, in two-character

RETURN
-----------
Expand Down
1 change: 1 addition & 0 deletions src/mistapi/api/v1/const/countries.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ def listCountryCodes(
QUERY PARAMS
------------
extend : bool
Will include more country codes if true

RETURN
-----------
Expand Down
2 changes: 2 additions & 0 deletions src/mistapi/api/v1/const/default_gateway_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,9 @@ def getGatewayDefaultConfig(
QUERY PARAMS
------------
model : str
Device model for which to generate the default gateway config.
ha : str
Whether the config is intended for HA

RETURN
-----------
Expand Down
1 change: 1 addition & 0 deletions src/mistapi/api/v1/const/states.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ def listStates(mist_session: _APISession, country_code: str) -> _APIResponse:
QUERY PARAMS
------------
country_code : str
Country code, in [two-character](/#operations/listCountryCodes)

RETURN
-----------
Expand Down
1 change: 1 addition & 0 deletions src/mistapi/api/v1/installer/orgs/deviceprofiles.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ def listInstallerDeviceProfiles(
QUERY PARAMS
------------
type : str{'ap', 'gateway', 'switch'}, default: ap
Filter results by type. enum: `ap`, `gateway`, `switch`

RETURN
-----------
Expand Down
13 changes: 11 additions & 2 deletions src/mistapi/api/v1/installer/orgs/devices.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,15 @@ def listInstallerListOfRecentlyClaimedDevices(
QUERY PARAMS
------------
model : str
Filter results by device model
site_name : str
Filter results by site name
site_id : str
Filter results by site identifier
limit : int, default: 100
Maximum number of results to return per page
page : int, default: 1
Select the page number to return when using page-based pagination; starts at `1`

RETURN
-----------
Expand Down Expand Up @@ -268,10 +273,11 @@ def addInstallerDeviceImageFile(
auto_deviceprofile_assignment : bool
Whether to auto assign device to deviceprofile by name
csv : str
path to the file to upload. CSV file for ap name mapping, optional
path to the file to upload. Optional AP name-mapping CSV file
file : str
path to the file to upload. Ekahau or ibwave file
path to the file to upload. Ekahau or iBwave floorplan file to import
json : dict
Import options for the site map file

RETURN
-----------
Expand Down Expand Up @@ -305,6 +311,7 @@ def getInstallerDeviceVirtualChassis(
-----------
org_id : str
fpc0_mac : str
FPC0 MAC address

RETURN
-----------
Expand Down Expand Up @@ -333,6 +340,7 @@ def createInstallerVirtualChassis(
-----------
org_id : str
fpc0_mac : str
FPC0 MAC address

BODY PARAMS
-----------
Expand Down Expand Up @@ -365,6 +373,7 @@ def updateInstallerVirtualChassisMember(
-----------
org_id : str
fpc0_mac : str
FPC0 MAC address

BODY PARAMS
-----------
Expand Down
5 changes: 3 additions & 2 deletions src/mistapi/api/v1/installer/orgs/sites.py
Original file line number Diff line number Diff line change
Expand Up @@ -126,10 +126,11 @@ def importInstallerMapFile(
auto_deviceprofile_assignment : bool
Whether to auto assign device to deviceprofile by name
csv : str
path to the file to upload. CSV file for ap name mapping, optional
path to the file to upload. Optional AP name-mapping CSV file
file : str
path to the file to upload. Ekahau or ibwave file
path to the file to upload. Ekahau or iBwave floorplan file to import
json : dict
Import options for the site map file

RETURN
-----------
Expand Down
1 change: 1 addition & 0 deletions src/mistapi/api/v1/login/oauth.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ def getOauth2AuthorizationUrlForLogin(
QUERY PARAMS
------------
forward : str
Callback URL used after completing the OAuth login flow

RETURN
-----------
Expand Down
6 changes: 6 additions & 0 deletions src/mistapi/api/v1/msps/insights.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,20 @@ def getMspSle(
-----------
msp_id : str
metric : str
See [List Insight Metrics](/#operations/listInsightMetrics) for available metrics

QUERY PARAMS
------------
sle : str
See [List Insight Metrics](/#operations/listInsightMetrics) for more details
duration : str, default: 1d
Time range duration for the query, using relative units such as `10m`, `7d`, or `2w`
interval : str
Aggregation works by giving a time range plus interval (e.g. 1d, 1h, 10m) where aggregation function would be applied to.
start : str
Lower bound of the time range, as an epoch timestamp in seconds or a relative value such as `-1d` or `-1w`
end : str
Upper bound of the time range, as an epoch timestamp in seconds or a relative value such as `-1d`, `-2h`, or `now`

RETURN
-----------
Expand Down
12 changes: 11 additions & 1 deletion src/mistapi/api/v1/msps/logs.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,15 +42,23 @@ def listMspAuditLogs(
QUERY PARAMS
------------
site_id : str
Filter results by site identifier
admin_name : str
Admin name or email
message : str
Filter results by message text
sort : str{'-timestamp', 'admin_id', 'site_id', 'timestamp'}
Sort order
Field used to sort results; a leading `-` indicates descending order. enum: `-timestamp`, `admin_id`, `site_id`, `timestamp`
start : str
Lower bound of the time range, as an epoch timestamp in seconds or a relative value such as `-1d` or `-1w`
end : str
Upper bound of the time range, as an epoch timestamp in seconds or a relative value such as `-1d`, `-2h`, or `now`
duration : str, default: 1d
Time range duration for the query, using relative units such as `10m`, `7d`, or `2w`
limit : int, default: 100
Maximum number of results to return per page
page : int, default: 1
Select the page number to return when using page-based pagination; starts at `1`

RETURN
-----------
Expand Down Expand Up @@ -103,7 +111,9 @@ def countMspAuditLogs(
QUERY PARAMS
------------
distinct : str{'admin_id', 'admin_name', 'message', 'org_id'}, default: admin_name
Field used to group this count response. enum: `admin_id`, `admin_name`, `message`, `org_id`
limit : int, default: 100
Maximum number of results to return per page

RETURN
-----------
Expand Down
9 changes: 9 additions & 0 deletions src/mistapi/api/v1/msps/orgs.py
Original file line number Diff line number Diff line change
Expand Up @@ -128,16 +128,25 @@ def searchMspOrgs(
QUERY PARAMS
------------
name : str
Filter results by name
org_id : str
Filter results by organization identifier
sub_insufficient : bool
If this org has sufficient subscription
trial_enabled : bool
If this org is under trial period
usage_types : list
List of types that enabled by usage
limit : int, default: 100
Maximum number of results to return per page
sort : str, default: timestamp
On which field the list should be sorted, -prefix represents DESC order
start : str
Lower bound of the time range, as an epoch timestamp in seconds or a relative value such as `-1d` or `-1w`
end : str
Upper bound of the time range, as an epoch timestamp in seconds or a relative value such as `-1d`, `-2h`, or `now`
search_after : str
Pagination cursor for retrieving subsequent pages of results. This value is automatically populated by Mist in the `next` URL from the previous response and should not be manually constructed.

RETURN
-----------
Expand Down
8 changes: 7 additions & 1 deletion src/mistapi/api/v1/msps/search.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,19 @@ def searchMspOrgGroup(
QUERY PARAMS
------------
type : str{'orgs'}
Orgs
MSP search result type to return. enum: `orgs`
q : str
Filter results by search string
limit : int, default: 100
Maximum number of results to return per page
start : str
Lower bound of the time range, as an epoch timestamp in seconds or a relative value such as `-1d` or `-1w`
end : str
Upper bound of the time range, as an epoch timestamp in seconds or a relative value such as `-1d`, `-2h`, or `now`
duration : str, default: 1d
Time range duration for the query, using relative units such as `10m`, `7d`, or `2w`
sort : str, default: timestamp
On which field the list should be sorted, -prefix represents DESC order

RETURN
-----------
Expand Down
2 changes: 2 additions & 0 deletions src/mistapi/api/v1/msps/stats.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,9 @@ def listMspOrgStats(
QUERY PARAMS
------------
limit : int, default: 100
Maximum number of results to return per page
page : int, default: 1
Select the page number to return when using page-based pagination; starts at `1`

RETURN
-----------
Expand Down
2 changes: 2 additions & 0 deletions src/mistapi/api/v1/msps/suggestion.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,9 @@ def countMspsMarvisActions(
QUERY PARAMS
------------
distinct : str{'org_id', 'status'}, default: org_id
Field used to group this count response. enum: `org_id`, `status`
limit : int, default: 100
Maximum number of results to return per page

RETURN
-----------
Expand Down
5 changes: 5 additions & 0 deletions src/mistapi/api/v1/msps/tickets.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,11 @@ def listMspTickets(
QUERY PARAMS
------------
start : str
Lower bound of the time range, as an epoch timestamp in seconds or a relative value such as `-1d` or `-1w`
end : str
Upper bound of the time range, as an epoch timestamp in seconds or a relative value such as `-1d`, `-2h`, or `now`
duration : str, default: 1d
Time range duration for the query, using relative units such as `10m`, `7d`, or `2w`

RETURN
-----------
Expand Down Expand Up @@ -78,7 +81,9 @@ def countMspTickets(
QUERY PARAMS
------------
distinct : str{'org_id', 'status', 'type'}, default: status
Field used to group this count response. enum: `org_id`, `status`, `type`
limit : int, default: 100
Maximum number of results to return per page

RETURN
-----------
Expand Down
4 changes: 4 additions & 0 deletions src/mistapi/api/v1/orgs/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
avprofiles,
cert,
claim,
claims,
clients,
clone,
crl,
Expand All @@ -42,6 +43,7 @@
licenses,
logs,
maps,
marvisclients,
marvisinvites,
mist_nac,
mxclusters,
Expand Down Expand Up @@ -108,6 +110,7 @@
"avprofiles",
"cert",
"claim",
"claims",
"clients",
"clone",
"crl",
Expand All @@ -126,6 +129,7 @@
"licenses",
"logs",
"maps",
"marvisclients",
"marvisinvites",
"mist_nac",
"mxclusters",
Expand Down
Loading
Loading