Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Juniper Mist AI Orgs NAC Portals API

NAC Portals are for onboard Wireless and Wired client with 802.1XThe NAC Portal is a web-based interface that allows users to authenticate andgain access to the network. It is typically used for guest access or for devicesthat do not have a pre-configured certificate for 802.1X authentication.It can also be used to provision certificates for devices that require them with the Mist Application.### NAC-Based External Guest Portal Authorization / How to implement a External Guest Portal#### ContextIn the guest portal flow, context such as SSID, guest MAC, AP MAC is required to unique identify the guest, if it's already authorized (e.g. roam to another AP), and used to instruct the AP to stop redirecting/blocking the user traffic#### RedirectGuest Device (or CNA in MacOS/iOS term) will be redirected to, e.g. “?ap_mac=5c5b35001234&ssid=Guest&…”| Name | Type | Description | |------|------|-------------| | ap_mac | string | AP's MAC address | | site_id | string | Site ID | | device_mac | string | Device's MAC Address (the device that blocks the traffic) | | ssid | string | for wireless | | port_name | string | for wired (e.g. eth0, ge-0/0/13) | | client_mac | string | Client's MAC Address | #### AuthorizeOnce the guest has gone through your portal flow, authorize them by redirect the user to```GET https://url_generated_by_portal_authorize_url?jwt=```This can be generated by```pythonimport jwtsecret = "EIfPMOykI3lMlDdNPub2WcbqT6dNOtWwmYHAd6bY" # from portal_authorize_jwt_secret above payload = { # for wireless "ap_mac": "5c5b35001234", "wlan_id": "be22bba7-8e22-e1cf-5185-b880816fe2cf", # only for _wireless_ captive portal "client_mac": "d58f6bb4c9d8", # for wired "device_mac": "5c5b35001234", "port_name": "eth0", # only for _wired_ captive portal" "client_mac": "d58f6bb4c9d8", # common # how long should we authorize this session "minutes": 480, "expires": 1768587994, # alternatively # instead of the original URL the user is trying to go to, redirect the user to this URL "forward": "http://www.mist.com", # for testing: if authorize_only=true and authorization is successful, 200 OK will be returned instead of 302 Redirect the user to the `forward` URL "authorize_only": False}encoded_jwt = jwt.encode(payload, secret, algorithm='HS256')```

Juniper Mist AI Orgs NAC Portals API is one of 211 APIs that Juniper Mist AI publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Orgs NAC Portals. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 11 operations across 7 paths, and defines 25 schemas. It is described by OpenAPI 3.1.0, at version 2604.1.1.

Requests are made against 12 base URLs: https://api.mist.com, https://api.gc1.mist.com, https://api.ac2.mist.com, https://api.gc2.mist.com, https://api.gc4.mist.com, https://api.eu.mist.com, https://api.gc3.mist.com, https://api.ac6.mist.com, https://api.gc6.mist.com, https://api.ac5.mist.com, https://api.gc5.mist.com, https://api.gc7.mist.com.

11 operations 7 paths 25 schemas 2 DELETE5 GET2 POST2 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
2604.1.1
Base URL
https://api.mist.com/api/v1
Authentication
API Key, HTTP Basic, API Key
License
Resource Areas
1

Authentication & Security 3

Juniper Mist AI Orgs NAC Portals API declares 3 security schemes for authenticating requests. An API key is passed in the header as Authorization (apiToken). It accepts HTTP basic authentication (basicAuth). An API key is passed in the header as X-CSRFToken (csrfToken). By default, every request must be authenticated.

  • apiToken — Like many other API providers, it’s also possible to generate API Tokens to be used (in HTTP Header) for authentication. An API token ties to a Admin with equa…
  • basicAuth — While our current UI uses Session / Cookie-based authentication, it’s also possible to do Basic Auth.
  • csrfToken — This protects the website against [Cross Site Request Forgery](https://en.wikipedia.org/wiki/Cross-siterequestforgery), all the POST / PUT / DELETE APIs needs…

Paths & Operations 11

Across 7 paths, the API surfaces 11 operations — 2 DELETE, 5 GET, 2 POST, 2 PUT. Each is listed below with its method, path, parameters, and response codes.

Orgs NAC Portals 11

NAC Portals are for onboard Wireless and Wired client with 802.1X The NAC Portal is a web-based interface that allows users to authenticate and gain access to the network. It is t…

GET
/api/v1/orgs/{org_id}/nacportals
listOrgNacPortals
listOrgNacPortals 3 params → 200400401403404429
POST
/api/v1/orgs/{org_id}/nacportals
createOrgNacPortal
createOrgNacPortal 1 param body → 200400401403404429
DELETE
/api/v1/orgs/{org_id}/nacportals/{nacportal_id}
deleteOrgNacPortal
deleteOrgNacPortal 2 params → 200400401403404429
GET
/api/v1/orgs/{org_id}/nacportals/{nacportal_id}
getOrgNacPortal
getOrgNacPortal 2 params → 200400401403404429
PUT
/api/v1/orgs/{org_id}/nacportals/{nacportal_id}
updateOrgNacPortal
updateOrgNacPortal 2 params body → 200400401403404429
GET
/api/v1/orgs/{org_id}/nacportals/{nacportal_id}/failures
listOrgNacPortalSsoLatestFailures
listOrgNacPortalSsoLatestFailures 7 params → 200400401403404429
DELETE
/api/v1/orgs/{org_id}/nacportals/{nacportal_id}/portal_image
deleteOrgNacPortalImage
deleteOrgNacPortalImage 2 params → 200400401403404429
POST
/api/v1/orgs/{org_id}/nacportals/{nacportal_id}/portal_image
uploadOrgNacPortalImage
uploadOrgNacPortalImage 2 params body → 200400401403404429
PUT
/api/v1/orgs/{org_id}/nacportals/{nacportal_id}/portal_template
updateOrgNacPortalTemplate
updateOrgNacPortalTemplate 2 params body → 200400401403404429
GET
/api/v1/orgs/{org_id}/nacportals/{nacportal_id}/saml_metadata
getOrgNacPortalSamlMetadata
getOrgNacPortalSamlMetadata 2 params → 200400401403404429
GET
/api/v1/orgs/{org_id}/nacportals/{nacportal_id}/saml_metadata.xml
downloadOrgNacPortalSamlMetadata
downloadOrgNacPortalSamlMetadata 2 params → 200400401403404429

Schemas 25

The contract defines 25 schemas that model the data the API accepts and returns. The most detailed are nac_portal (21 properties), nac_portal_guest_portal (8 properties), nac_portal_sso (7 properties), saml_metadata (5 properties). Each schema is shown below with its type and property counts.

response_sso_failure_search
object
1 property 1 required
nac_portal_access_type
string
if type==marvisclient. enum: wireless, wireless+wired
psk_portal_image
object
2 properties
response_http403
object
1 property
portal_template_alignment
string
defines alignment on portal. enum: center, left, right
nac_portal_type
string
enum: guestadmin: NAC-Based Portal Admin for Pre Created Guest Authentication guestportal: NAC-Based Guest Portal marvisclient
nac_portal_additional_cacerts
array
Optional list of additional CA certificates to be used
saml_metadata
object
5 properties
nac_portal_guest_portal_auth
string
Guest portal authentication type. enum: external, multi, none
response_sso_failure_search_results
array
nac_portal_sso_idp_sign_algo
string
Signing algorithm for SAML Assertion. enum: sha1, sha256, sha384, sha512.
nac_portal_sso
object
7 properties
nac_portal_guest_portal
object
Guest portal configuration when type==guestportal. If auth==none, the user is presented with a terms of service and can click and continue. auth==external, the…
8 properties
nac_portal_sso_role_matchings
array
response_http404
object
1 property
timestamp
number
Epoch (seconds)
response_sso_failure_search_item
object
3 properties 3 required
nac_portal_sso_role_matching
object
2 properties
nac_portal_eap_type
string
enum: wpa2, wpa3
response_http400
object
1 property
response_http429
object
1 property
nac_portal_template
object
4 properties
nac_portal
object
21 properties
response_http401
object
1 property
nac_portals
array

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

mist-ai-orgs-nac-portals-api-openapi.yml Raw ↑

Other APIs Juniper Mist AI publishes across the network.

Juniper Mist WebSocket Streaming API
Juniper Mist Webhooks API
Juniper Mist AI Admins API
Juniper Mist AI Admins Login API
Juniper Mist AI Admins Login - OAuth2 API
Juniper Mist AI Admins Logout API
Juniper Mist AI Admins Lookup API
Juniper Mist AI Admins Recover Password API
Juniper Mist AI Constants Definitions API
Juniper Mist AI Constants Events API
Juniper Mist AI Constants Models API
Juniper Mist AI Installer API