<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Meraki API Feature Request: Public API Endpoint for Splash Authorizati in Network Platform API</title>
    <link>https://community.cisco.com/t5/network-platform-api/meraki-api-feature-request-public-api-endpoint-for-splash/m-p/5553069#M9587</link>
    <description>&lt;H2&gt;Summary&lt;/H2&gt;&lt;P class=""&gt;Expose the existing revoke_splash_auth dashboard functionality as a documented, supported endpoint in the Meraki public API (api.meraki.com/api/v1).&lt;/P&gt;&lt;HR /&gt;&lt;H2&gt;Current Behavior&lt;/H2&gt;&lt;P class=""&gt;The Meraki dashboard provides a &lt;STRONG&gt;Revoke&lt;/STRONG&gt; button on the client detail page for any client authenticated via splash — including Microsoft Entra ID (open-enhanced), Sponsored Guest, and Click-through splash types. This button works correctly and immediately invalidates the server-side splash authorization record for that client.&lt;/P&gt;&lt;P class=""&gt;The underlying dashboard call is:&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;&lt;SPAN&gt;POST /manage/usage/revoke_splash_auth&lt;/SPAN&gt;&lt;SPAN&gt;Body: id={clientId}&amp;amp;auth_reason={splash_type}&amp;amp;ng_type=wireless&amp;amp;vap={ssid_number}&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P class=""&gt;This endpoint requires an active dashboard browser session and a per-session CSRF token. It is not accessible via API key or OAuth2 credentials and is not documented.&lt;/P&gt;&lt;P class=""&gt;The existing public API endpoint PUT /networks/{networkId}/clients/{clientId}/splashAuthorizationStatus with isAuthorized: false &lt;STRONG&gt;does not work&lt;/STRONG&gt; for Microsoft Entra ID splash (open-enhanced) or Sponsored Guest splash. It returns:&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;&lt;SPAN&gt;400: "SSIDs X do not have Click-through splash enabled. No changes were made."&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P class=""&gt;This means there is currently &lt;STRONG&gt;no public API method&lt;/STRONG&gt; to revoke splash authorization for the two most commonly deployed enterprise splash types.&lt;/P&gt;&lt;HR /&gt;&lt;H2&gt;Requested Behavior&lt;/H2&gt;&lt;P class=""&gt;Add a public API endpoint:&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;&lt;SPAN&gt;POST /networks/{networkId}/clients/{clientId}/revokeAuthorization&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P class=""&gt;Or extend the existing endpoint:&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;&lt;SPAN&gt;PUT /networks/{networkId}/clients/{clientId}/splashAuthorizationStatus&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P class=""&gt;To support all splash types, including:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Microsoft Entra ID (open-enhanced)&lt;/LI&gt;&lt;LI&gt;Sponsored Guest&lt;/LI&gt;&lt;LI&gt;Click-through (already supported)&lt;/LI&gt;&lt;LI&gt;Any future splash/identity types&lt;/LI&gt;&lt;/UL&gt;&lt;P class=""&gt;The endpoint should accept the same API key and OAuth2 credentials used throughout the rest of the v1 API.&lt;/P&gt;&lt;HR /&gt;&lt;H2&gt;Business Justification&lt;/H2&gt;&lt;H3&gt;Security and Compliance&lt;/H3&gt;&lt;P class=""&gt;Enterprise customers using Microsoft Entra ID splash for identity-based WiFi access need the ability to revoke WiFi authorization as part of automated offboarding workflows. When an employee is terminated or suspended:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Their Entra account is disabled&lt;/LI&gt;&lt;LI&gt;Their Meraki splash session remains valid for up to 90 days&lt;/LI&gt;&lt;LI&gt;The device retains full network access despite the account being disabled&lt;/LI&gt;&lt;/OL&gt;&lt;P class=""&gt;This represents a &lt;STRONG&gt;security gap&lt;/STRONG&gt; that cannot be closed through the public API. Customers managing CMMC, SOC 2, ISO 27001, or similar compliance frameworks require the ability to demonstrate immediate access revocation upon termination — a 90-day residual access window is not acceptable in these environments.&lt;/P&gt;&lt;H3&gt;Automation Gap&lt;/H3&gt;&lt;P class=""&gt;The Meraki public API is otherwise well-suited for automated offboarding:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Client lookup by MAC/user: ✓ available&lt;/LI&gt;&lt;LI&gt;Client policy block (devicePolicy: Blocked): ✓ available&lt;/LI&gt;&lt;LI&gt;Client deauthentication: ✓ available&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Splash session revocation for Entra ID / Sponsored Guest: ✗ not available&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P class=""&gt;This single missing endpoint forces customers to choose between:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Maintaining a fragile browser-session-based automation against an undocumented internal endpoint&lt;/LI&gt;&lt;LI&gt;Accepting that terminated employees retain WiFi access for up to 90 days&lt;/LI&gt;&lt;LI&gt;Manually revoking sessions through the dashboard during every offboarding event&lt;/LI&gt;&lt;/UL&gt;&lt;H3&gt;Customer Impact&lt;/H3&gt;&lt;P class=""&gt;Any organization using IPS-CORP-style Entra ID splash SSIDs for employee WiFi authentication faces this gap. As Entra ID splash adoption grows — driven by Meraki's own positioning of this feature as the modern enterprise authentication method — the number of affected customers will increase significantly.&lt;/P&gt;&lt;HR /&gt;&lt;H2&gt;Proposed API Specification&lt;/H2&gt;&lt;H3&gt;Endpoint&lt;/H3&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;&lt;SPAN&gt;POST /networks/{networkId}/clients/{clientId}/revokeAuthorization&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;H3&gt;Request&lt;/H3&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;json&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;{&lt;/SPAN&gt;&lt;SPAN class=""&gt;}&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P class=""&gt;No body required — revoke all splash authorizations for this client on this network.&lt;/P&gt;&lt;P class=""&gt;Optional scoping:&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;json&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;{&lt;/SPAN&gt;
&lt;/SPAN&gt;&lt;SPAN&gt;  &lt;SPAN class=""&gt;"ssids"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;[&lt;/SPAN&gt;&lt;SPAN class=""&gt;2&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt; &lt;SPAN class=""&gt;5&lt;/SPAN&gt;&lt;SPAN class=""&gt;]&lt;/SPAN&gt;
&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;}&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P class=""&gt;Revoke only specific SSIDs.&lt;/P&gt;&lt;H3&gt;Response&lt;/H3&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;json&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;{&lt;/SPAN&gt;
&lt;/SPAN&gt;&lt;SPAN&gt;  &lt;SPAN class=""&gt;"clientId"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"abc123"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
&lt;/SPAN&gt;&lt;SPAN&gt;  &lt;SPAN class=""&gt;"networkId"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"L_123456789"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
&lt;/SPAN&gt;&lt;SPAN&gt;  &lt;SPAN class=""&gt;"revokedAt"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"2026-05-15T14:32:00Z"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
&lt;/SPAN&gt;&lt;SPAN&gt;  &lt;SPAN class=""&gt;"ssidsRevoked"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;[&lt;/SPAN&gt;&lt;SPAN class=""&gt;2&lt;/SPAN&gt;&lt;SPAN class=""&gt;]&lt;/SPAN&gt;
&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;}&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;H3&gt;Error Responses&lt;/H3&gt;&lt;UL&gt;&lt;LI&gt;404 — client not found&lt;/LI&gt;&lt;LI&gt;400 — no active splash authorization to revoke&lt;/LI&gt;&lt;LI&gt;403 — insufficient API key scope&lt;/LI&gt;&lt;/UL&gt;&lt;HR /&gt;&lt;H2&gt;Workaround Currently in Use&lt;/H2&gt;&lt;P class=""&gt;To close this gap without the API endpoint, the current workaround requires:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;PUT /networks/{networkId}/clients/{clientId}/policy → devicePolicy: Blocked to force deauthentication&lt;/LI&gt;&lt;LI&gt;POST /networks/{networkId}/clients/{clientId}/deauthenticate to send an 802.11 deauth frame&lt;/LI&gt;&lt;LI&gt;Accepting that the splash session remains valid and the device will reconnect without re-authentication once unblocked&lt;/LI&gt;&lt;/OL&gt;&lt;P class=""&gt;This is operationally workable but not a security control — a determined user on a managed device could circumvent the MAC block, and the splash session itself is never invalidated.&lt;/P&gt;&lt;HR /&gt;&lt;H2&gt;References&lt;/H2&gt;&lt;UL&gt;&lt;LI&gt;Meraki API: PUT /networks/{networkId}/clients/{clientId}/splashAuthorizationStatus&lt;/LI&gt;&lt;LI&gt;Meraki API: PUT /networks/{networkId}/clients/{clientId}/policy&lt;/LI&gt;&lt;LI&gt;Meraki API: POST /networks/{networkId}/clients/{clientId}/deauthenticate&lt;/LI&gt;&lt;LI&gt;Meraki Dashboard: Client detail → Splash → Revoke button (functional, session-authenticated only)&lt;/LI&gt;&lt;/UL&gt;</description>
    <pubDate>Fri, 15 May 2026 15:45:47 GMT</pubDate>
    <dc:creator>Icush</dc:creator>
    <dc:date>2026-05-15T15:45:47Z</dc:date>
    <item>
      <title>Meraki API Feature Request: Public API Endpoint for Splash Authorizati</title>
      <link>https://community.cisco.com/t5/network-platform-api/meraki-api-feature-request-public-api-endpoint-for-splash/m-p/5553069#M9587</link>
      <description>&lt;H2&gt;Summary&lt;/H2&gt;&lt;P class=""&gt;Expose the existing revoke_splash_auth dashboard functionality as a documented, supported endpoint in the Meraki public API (api.meraki.com/api/v1).&lt;/P&gt;&lt;HR /&gt;&lt;H2&gt;Current Behavior&lt;/H2&gt;&lt;P class=""&gt;The Meraki dashboard provides a &lt;STRONG&gt;Revoke&lt;/STRONG&gt; button on the client detail page for any client authenticated via splash — including Microsoft Entra ID (open-enhanced), Sponsored Guest, and Click-through splash types. This button works correctly and immediately invalidates the server-side splash authorization record for that client.&lt;/P&gt;&lt;P class=""&gt;The underlying dashboard call is:&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;&lt;SPAN&gt;POST /manage/usage/revoke_splash_auth&lt;/SPAN&gt;&lt;SPAN&gt;Body: id={clientId}&amp;amp;auth_reason={splash_type}&amp;amp;ng_type=wireless&amp;amp;vap={ssid_number}&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P class=""&gt;This endpoint requires an active dashboard browser session and a per-session CSRF token. It is not accessible via API key or OAuth2 credentials and is not documented.&lt;/P&gt;&lt;P class=""&gt;The existing public API endpoint PUT /networks/{networkId}/clients/{clientId}/splashAuthorizationStatus with isAuthorized: false &lt;STRONG&gt;does not work&lt;/STRONG&gt; for Microsoft Entra ID splash (open-enhanced) or Sponsored Guest splash. It returns:&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;&lt;SPAN&gt;400: "SSIDs X do not have Click-through splash enabled. No changes were made."&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P class=""&gt;This means there is currently &lt;STRONG&gt;no public API method&lt;/STRONG&gt; to revoke splash authorization for the two most commonly deployed enterprise splash types.&lt;/P&gt;&lt;HR /&gt;&lt;H2&gt;Requested Behavior&lt;/H2&gt;&lt;P class=""&gt;Add a public API endpoint:&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;&lt;SPAN&gt;POST /networks/{networkId}/clients/{clientId}/revokeAuthorization&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P class=""&gt;Or extend the existing endpoint:&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;&lt;SPAN&gt;PUT /networks/{networkId}/clients/{clientId}/splashAuthorizationStatus&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P class=""&gt;To support all splash types, including:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Microsoft Entra ID (open-enhanced)&lt;/LI&gt;&lt;LI&gt;Sponsored Guest&lt;/LI&gt;&lt;LI&gt;Click-through (already supported)&lt;/LI&gt;&lt;LI&gt;Any future splash/identity types&lt;/LI&gt;&lt;/UL&gt;&lt;P class=""&gt;The endpoint should accept the same API key and OAuth2 credentials used throughout the rest of the v1 API.&lt;/P&gt;&lt;HR /&gt;&lt;H2&gt;Business Justification&lt;/H2&gt;&lt;H3&gt;Security and Compliance&lt;/H3&gt;&lt;P class=""&gt;Enterprise customers using Microsoft Entra ID splash for identity-based WiFi access need the ability to revoke WiFi authorization as part of automated offboarding workflows. When an employee is terminated or suspended:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Their Entra account is disabled&lt;/LI&gt;&lt;LI&gt;Their Meraki splash session remains valid for up to 90 days&lt;/LI&gt;&lt;LI&gt;The device retains full network access despite the account being disabled&lt;/LI&gt;&lt;/OL&gt;&lt;P class=""&gt;This represents a &lt;STRONG&gt;security gap&lt;/STRONG&gt; that cannot be closed through the public API. Customers managing CMMC, SOC 2, ISO 27001, or similar compliance frameworks require the ability to demonstrate immediate access revocation upon termination — a 90-day residual access window is not acceptable in these environments.&lt;/P&gt;&lt;H3&gt;Automation Gap&lt;/H3&gt;&lt;P class=""&gt;The Meraki public API is otherwise well-suited for automated offboarding:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Client lookup by MAC/user: ✓ available&lt;/LI&gt;&lt;LI&gt;Client policy block (devicePolicy: Blocked): ✓ available&lt;/LI&gt;&lt;LI&gt;Client deauthentication: ✓ available&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Splash session revocation for Entra ID / Sponsored Guest: ✗ not available&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P class=""&gt;This single missing endpoint forces customers to choose between:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Maintaining a fragile browser-session-based automation against an undocumented internal endpoint&lt;/LI&gt;&lt;LI&gt;Accepting that terminated employees retain WiFi access for up to 90 days&lt;/LI&gt;&lt;LI&gt;Manually revoking sessions through the dashboard during every offboarding event&lt;/LI&gt;&lt;/UL&gt;&lt;H3&gt;Customer Impact&lt;/H3&gt;&lt;P class=""&gt;Any organization using IPS-CORP-style Entra ID splash SSIDs for employee WiFi authentication faces this gap. As Entra ID splash adoption grows — driven by Meraki's own positioning of this feature as the modern enterprise authentication method — the number of affected customers will increase significantly.&lt;/P&gt;&lt;HR /&gt;&lt;H2&gt;Proposed API Specification&lt;/H2&gt;&lt;H3&gt;Endpoint&lt;/H3&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;&lt;SPAN&gt;POST /networks/{networkId}/clients/{clientId}/revokeAuthorization&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;H3&gt;Request&lt;/H3&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;json&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;{&lt;/SPAN&gt;&lt;SPAN class=""&gt;}&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P class=""&gt;No body required — revoke all splash authorizations for this client on this network.&lt;/P&gt;&lt;P class=""&gt;Optional scoping:&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;json&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;{&lt;/SPAN&gt;
&lt;/SPAN&gt;&lt;SPAN&gt;  &lt;SPAN class=""&gt;"ssids"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;[&lt;/SPAN&gt;&lt;SPAN class=""&gt;2&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt; &lt;SPAN class=""&gt;5&lt;/SPAN&gt;&lt;SPAN class=""&gt;]&lt;/SPAN&gt;
&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;}&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P class=""&gt;Revoke only specific SSIDs.&lt;/P&gt;&lt;H3&gt;Response&lt;/H3&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;json&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;{&lt;/SPAN&gt;
&lt;/SPAN&gt;&lt;SPAN&gt;  &lt;SPAN class=""&gt;"clientId"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"abc123"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
&lt;/SPAN&gt;&lt;SPAN&gt;  &lt;SPAN class=""&gt;"networkId"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"L_123456789"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
&lt;/SPAN&gt;&lt;SPAN&gt;  &lt;SPAN class=""&gt;"revokedAt"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"2026-05-15T14:32:00Z"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
&lt;/SPAN&gt;&lt;SPAN&gt;  &lt;SPAN class=""&gt;"ssidsRevoked"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;[&lt;/SPAN&gt;&lt;SPAN class=""&gt;2&lt;/SPAN&gt;&lt;SPAN class=""&gt;]&lt;/SPAN&gt;
&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;}&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;H3&gt;Error Responses&lt;/H3&gt;&lt;UL&gt;&lt;LI&gt;404 — client not found&lt;/LI&gt;&lt;LI&gt;400 — no active splash authorization to revoke&lt;/LI&gt;&lt;LI&gt;403 — insufficient API key scope&lt;/LI&gt;&lt;/UL&gt;&lt;HR /&gt;&lt;H2&gt;Workaround Currently in Use&lt;/H2&gt;&lt;P class=""&gt;To close this gap without the API endpoint, the current workaround requires:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;PUT /networks/{networkId}/clients/{clientId}/policy → devicePolicy: Blocked to force deauthentication&lt;/LI&gt;&lt;LI&gt;POST /networks/{networkId}/clients/{clientId}/deauthenticate to send an 802.11 deauth frame&lt;/LI&gt;&lt;LI&gt;Accepting that the splash session remains valid and the device will reconnect without re-authentication once unblocked&lt;/LI&gt;&lt;/OL&gt;&lt;P class=""&gt;This is operationally workable but not a security control — a determined user on a managed device could circumvent the MAC block, and the splash session itself is never invalidated.&lt;/P&gt;&lt;HR /&gt;&lt;H2&gt;References&lt;/H2&gt;&lt;UL&gt;&lt;LI&gt;Meraki API: PUT /networks/{networkId}/clients/{clientId}/splashAuthorizationStatus&lt;/LI&gt;&lt;LI&gt;Meraki API: PUT /networks/{networkId}/clients/{clientId}/policy&lt;/LI&gt;&lt;LI&gt;Meraki API: POST /networks/{networkId}/clients/{clientId}/deauthenticate&lt;/LI&gt;&lt;LI&gt;Meraki Dashboard: Client detail → Splash → Revoke button (functional, session-authenticated only)&lt;/LI&gt;&lt;/UL&gt;</description>
      <pubDate>Fri, 15 May 2026 15:45:47 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-platform-api/meraki-api-feature-request-public-api-endpoint-for-splash/m-p/5553069#M9587</guid>
      <dc:creator>Icush</dc:creator>
      <dc:date>2026-05-15T15:45:47Z</dc:date>
    </item>
    <item>
      <title>Re: Meraki API Feature Request: Public API Endpoint for Splash Authori</title>
      <link>https://community.cisco.com/t5/network-platform-api/meraki-api-feature-request-public-api-endpoint-for-splash/m-p/5553236#M9588</link>
      <description>&lt;P&gt;That is a well-written request, and it seems very reasonable.&lt;/P&gt;&lt;P&gt;Are you able to use conditional access policies to specify a more reasonable session length?&lt;BR /&gt;Not for this use case, but we often specify a session length of 1 day or 7 days across all Enra ID services and applications.&amp;nbsp; This limits how long a stolen session token is usable for.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="PhilipDAth_0-1779047689012.png" style="width: 400px;"&gt;&lt;img src="https://community.cisco.com/t5/image/serverpage/image-id/282296i7E09683CF6E24A83/image-size/medium?v=v2&amp;amp;px=400" role="button" title="PhilipDAth_0-1779047689012.png" alt="PhilipDAth_0-1779047689012.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 17 May 2026 19:55:52 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-platform-api/meraki-api-feature-request-public-api-endpoint-for-splash/m-p/5553236#M9588</guid>
      <dc:creator>Philip D'Ath</dc:creator>
      <dc:date>2026-05-17T19:55:52Z</dc:date>
    </item>
  </channel>
</rss>

