Skip to content

Add a REST API surface to Windows Admin Center (WAC) #327

Description

@rathbunr

Problem

Current friction: administrators, automation tools, and AI agents need a stable, documented HTTP API to query and control WAC-managed resources programmatically instead of relying only on the UI or ad‑hoc scripts. This limits automation, integration with orchestration systems, and safe AI-driven workflows.


Proposed solution

Create a WAC extension that implements a REST API gateway which:

  • Registers as a WAC tool/extension using the official SDK. Github
  • Exposes authenticated REST endpoints (JSON over HTTPS) that map to WAC management operations (inventory, start/stop services, configuration reads/writes, run commands). Microsoft Learn
  • Implements role-based access control by delegating to WAC’s authentication and authorization model so endpoints enforce the same RBAC and auditing as the UI. Microsoft Learn
  • Provides OpenAPI (Swagger) metadata and versioning for discoverability and client generation.
  • Optionally ships a lightweight client library (NuGet / npm) for common languages to simplify adoption. NuGet Gallery npm

Alternatives and comparison

Option Ease of implementation Security Extensibility Recommended when
WAC extension exposing REST endpoints Medium High if integrated with WAC auth High You need full control inside WAC and consistent RBAC
Use existing SDK to run commands via UI extension only Low High (uses WAC auth) Medium You only need limited automation and prefer UI-driven flows. Github
External service calling WAC-managed hosts (WinRM/PowerShell Remoting) Medium Depends on external service High You want a separate API layer outside WAC or multi‑product orchestration
Add core product-level REST API (change WAC core) High High (requires product changes) Very high Long-term product roadmap change; requires Microsoft product team buy-in

Implementation roadmap (high level)

  1. Prototype: build a minimal WAC extension that exposes a small set of REST endpoints (e.g., list servers, get service status). Github
  2. Authentication integration: ensure endpoints require the same WAC session or token and enforce RBAC. Microsoft Learn
  3. OpenAPI and client SDK: publish Swagger and generate client libraries (NuGet, npm). NuGet Gallery npm
  4. Audit and logging: integrate with WAC audit trails and Windows Event logs.
  5. Versioning and rate limiting: design API versioning and throttling to protect the gateway.
  6. Security review and hardening: threat model, pen test, and least-privilege defaults.
  7. Documentation and samples: publish examples for automation, IaC, and AI use cases.

Security and operational considerations

  • Authentication and RBAC: reuse WAC authentication; do not create separate weak credentials. Microsoft Learn
  • Least privilege: endpoints should require explicit permissions and support scoped tokens.
  • Auditability: every API call must be logged with user identity and action for compliance.
  • Surface area: limit write operations and require confirmation for destructive actions.
  • Deployment model: ship as an optional extension so admins can enable it only where needed. Github

Practical next steps you can take

  • Build a short prototype extension that exposes 3–5 read endpoints and one safe write endpoint to validate auth and telemetry. Github
  • Share a concrete API contract (OpenAPI sketch) and a list of highest-value operations you want automated.
  • Engage with WAC extension docs and SDK samples to reuse patterns and packaging guidance. Microsoft Learn Github

Key references: Microsoft’s WAC extension guidance and SDK repository for building extensions and client libraries. Microsoft Learn Github NuGet Gallery npm

### Feasibility verdict Adding a **REST API surface to Windows Admin Center (WAC)** is **reasonable and feasible** by building it as an extension that exposes programmatic endpoints or by leveraging WAC’s existing SDK and gateway components to surface REST endpoints. [[Microsoft Learn](https://learn.microsoft.com/en-us/windows-server/manage/windows-admin-center/extend/extensibility-overview)](https://learn.microsoft.com/en-us/windows-server/manage/windows-admin-center/extend/extensibility-overview) [[Github](https://github.com/microsoft/windows-admin-center-sdk)](https://github.com/microsoft/windows-admin-center-sdk)

Problem

Current friction: administrators, automation tools, and AI agents need a stable, documented HTTP API to query and control WAC-managed resources programmatically instead of relying only on the UI or ad‑hoc scripts. This limits automation, integration with orchestration systems, and safe AI-driven workflows.


Proposed solution

Create a WAC extension that implements a REST API gateway which:


Alternatives and comparison

Option Ease of implementation Security Extensibility Recommended when
WAC extension exposing REST endpoints Medium High if integrated with WAC auth High You need full control inside WAC and consistent RBAC
Use existing SDK to run commands via UI extension only Low High (uses WAC auth) Medium You only need limited automation and prefer UI-driven flows. [Github](https://github.com/microsoft/windows-admin-center-sdk)
External service calling WAC-managed hosts (WinRM/PowerShell Remoting) Medium Depends on external service High You want a separate API layer outside WAC or multi‑product orchestration
Add core product-level REST API (change WAC core) High High (requires product changes) Very high Long-term product roadmap change; requires Microsoft product team buy-in

Implementation roadmap (high level)

  1. Prototype: build a minimal WAC extension that exposes a small set of REST endpoints (e.g., list servers, get service status). [Github](https://github.com/microsoft/windows-admin-center-sdk)
  2. Authentication integration: ensure endpoints require the same WAC session or token and enforce RBAC. [Microsoft Learn](https://learn.microsoft.com/en-us/windows-server/manage/windows-admin-center/extend/extensibility-overview)
  3. OpenAPI and client SDK: publish Swagger and generate client libraries (NuGet, npm). [NuGet Gallery](https://www.nuget.org/profiles/WindowsAdminCenter) [npm](https://www.npmjs.com/package/@microsoft/windows-admin-center-sdk)
  4. Audit and logging: integrate with WAC audit trails and Windows Event logs.
  5. Versioning and rate limiting: design API versioning and throttling to protect the gateway.
  6. Security review and hardening: threat model, pen test, and least-privilege defaults.
  7. Documentation and samples: publish examples for automation, IaC, and AI use cases.

Security and operational considerations


Practical next steps you can take


Key references: Microsoft’s WAC extension guidance and SDK repository for building extensions and client libraries. [Microsoft Learn](https://learn.microsoft.com/en-us/windows-server/manage/windows-admin-center/extend/extensibility-overview) [Github](https://github.com/microsoft/windows-admin-center-sdk) [NuGet Gallery](https://www.nuget.org/profiles/WindowsAdminCenter) [npm](https://www.npmjs.com/package/@microsoft/windows-admin-center-sdk)

Metadata

Metadata

Assignees

No one assigned

    Labels

    aModeBugs/feedback for Windows Admin Center: Administration ModeenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions