Configuration Manager REST API

REST API for managing Configuration Manager resources including collections, deployments, applications, and device queries. The administration service is based on the OData v4 protocol and supports both WMI and versioned OData routes.

Documentation

Specifications

Other Resources

🔗
Reference
https://learn.microsoft.com/en-us/intune/configmgr/develop/adminservice/usage
🔗
ChangeLog
https://learn.microsoft.com/en-us/intune/configmgr/develop/adminservice/release-notes
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/microsoft-endpoint-configuration-management/refs/heads/main/capabilities/configmgr-rest-applications.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/microsoft-endpoint-configuration-management/refs/heads/main/capabilities/configmgr-rest-collections.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/microsoft-endpoint-configuration-management/refs/heads/main/capabilities/configmgr-rest-compliance.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/microsoft-endpoint-configuration-management/refs/heads/main/capabilities/configmgr-rest-deployments.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/microsoft-endpoint-configuration-management/refs/heads/main/capabilities/configmgr-rest-devices.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/microsoft-endpoint-configuration-management/refs/heads/main/capabilities/configmgr-rest-packages.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/microsoft-endpoint-configuration-management/refs/heads/main/capabilities/configmgr-rest-scripts.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/microsoft-endpoint-configuration-management/refs/heads/main/capabilities/configmgr-rest-site-administration.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/microsoft-endpoint-configuration-management/refs/heads/main/capabilities/configmgr-rest-software-updates.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/microsoft-endpoint-configuration-management/refs/heads/main/capabilities/configmgr-rest-task-sequences.yaml

OpenAPI Specification

microsoft-endpoint-configuration-management-configmgr-rest-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Microsoft Endpoint Configuration Management Configuration Manager REST API (AdminService)
  description: >-
    REST API for managing Configuration Manager resources including collections,
    deployments, applications, and device queries. The administration service is
    based on the OData v4 protocol and supports both WMI and versioned OData
    routes. Class names are case-sensitive.
  version: 1.0.0
  contact:
    name: Microsoft Configuration Manager Support
    url: https://learn.microsoft.com/en-us/intune/configmgr/develop/adminservice/overview
  license:
    name: Microsoft API License
    url: https://learn.microsoft.com/en-us/legal/microsoft-apis/terms-of-use
servers:
  - url: https://{siteserver}/AdminService
    description: Configuration Manager AdminService endpoint
    variables:
      siteserver:
        default: smsproviderfqdn
        description: >-
          Fully qualified domain name of the SMS Provider server hosting
          the administration service.
security:
  - windowsAuth: []
  - oauth2: []
paths:
  /wmi/SMS_Device:
    get:
      operationId: listDevicesWmi
      summary: Microsoft Endpoint Configuration Management List devices via WMI route
      description: >-
        Retrieve a collection of devices managed by Configuration Manager using
        the WMI route. Supports OData query options for filtering and selecting.
      tags:
        - Devices
      parameters:
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/filter'
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/orderby'
      responses:
        '200':
          description: Successful response returning a collection of devices.
          content:
            application/json:
              schema:
                type: object
                properties:
                  '@odata.context':
                    type: string
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/SMS_Device'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
  /wmi/SMS_R_System:
    get:
      operationId: listSystems
      summary: Microsoft Endpoint Configuration Management List systems
      description: >-
        Retrieve all discovered system resources, representing computers and
        devices discovered by Configuration Manager.
      tags:
        - Devices
      parameters:
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/filter'
        - $ref: '#/components/parameters/select'
      responses:
        '200':
          description: Successful response returning discovered systems.
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/SMS_R_System'
  /wmi/SMS_Collection:
    get:
      operationId: listCollections
      summary: Microsoft Endpoint Configuration Management List collections
      description: >-
        Retrieve all device and user collections defined in Configuration
        Manager.
      tags:
        - Collections
      parameters:
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/filter'
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/orderby'
      responses:
        '200':
          description: Successful response returning collections.
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/SMS_Collection'
    post:
      operationId: createCollection
      summary: Microsoft Endpoint Configuration Management Create a collection
      description: Create a new device or user collection.
      tags:
        - Collections
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SMS_Collection'
      responses:
        '201':
          description: Successfully created collection.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SMS_Collection'
  /wmi/SMS_Collection('{collectionId}'):
    get:
      operationId: getCollection
      summary: Microsoft Endpoint Configuration Management Get a collection
      description: Retrieve a specific collection by its ID.
      tags:
        - Collections
      parameters:
        - name: collectionId
          in: path
          required: true
          description: The unique identifier of the collection.
          schema:
            type: string
      responses:
        '200':
          description: Successful response returning the collection.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SMS_Collection'
        '404':
          $ref: '#/components/responses/NotFound'
  /wmi/SMS_Application:
    get:
      operationId: listApplications
      summary: Microsoft Endpoint Configuration Management List applications
      description: >-
        Retrieve all applications defined in Configuration Manager, including
        deployment types and content information.
      tags:
        - Applications
      parameters:
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/filter'
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/orderby'
      responses:
        '200':
          description: Successful response returning applications.
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/SMS_Application'
    post:
      operationId: createApplication
      summary: Microsoft Endpoint Configuration Management Create an application
      description: Create a new application in Configuration Manager.
      tags:
        - Applications
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SMS_Application'
      responses:
        '201':
          description: Successfully created application.
  /wmi/SMS_Application('{applicationId}'):
    get:
      operationId: getApplication
      summary: Microsoft Endpoint Configuration Management Get an application
      description: Retrieve a specific application by its CI_ID.
      tags:
        - Applications
      parameters:
        - name: applicationId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response returning the application.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SMS_Application'
  /wmi/SMS_ApplicationDeployment:
    get:
      operationId: listDeployments
      summary: Microsoft Endpoint Configuration Management List application deployments
      description: >-
        Retrieve all application deployments in Configuration Manager.
      tags:
        - Deployments
      parameters:
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/filter'
        - $ref: '#/components/parameters/select'
      responses:
        '200':
          description: Successful response returning deployments.
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/SMS_ApplicationDeployment'
  /wmi/SMS_Package:
    get:
      operationId: listPackages
      summary: Microsoft Endpoint Configuration Management List packages
      description: Retrieve all legacy packages in Configuration Manager.
      tags:
        - Packages
      parameters:
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/filter'
        - $ref: '#/components/parameters/select'
      responses:
        '200':
          description: Successful response returning packages.
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/SMS_Package'
  /wmi/SMS_TaskSequence:
    get:
      operationId: listTaskSequences
      summary: Microsoft Endpoint Configuration Management List task sequences
      description: >-
        Retrieve all task sequences used for operating system deployment and
        other complex workflows.
      tags:
        - Task Sequences
      parameters:
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/filter'
        - $ref: '#/components/parameters/select'
      responses:
        '200':
          description: Successful response returning task sequences.
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/SMS_TaskSequence'
  /wmi/SMS_SoftwareUpdate:
    get:
      operationId: listSoftwareUpdates
      summary: Microsoft Endpoint Configuration Management List software updates
      description: >-
        Retrieve all software updates known to Configuration Manager.
      tags:
        - Software Updates
      parameters:
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/filter'
        - $ref: '#/components/parameters/select'
      responses:
        '200':
          description: Successful response returning software updates.
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/SMS_SoftwareUpdate'
  /wmi/SMS_Site:
    get:
      operationId: listSites
      summary: Microsoft Endpoint Configuration Management List sites
      description: Retrieve Configuration Manager site information.
      tags:
        - Site Administration
      parameters:
        - $ref: '#/components/parameters/select'
      responses:
        '200':
          description: Successful response returning site information.
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/SMS_Site'
  /wmi/SMS_BaselineAssignment:
    get:
      operationId: listBaselineAssignments
      summary: Microsoft Endpoint Configuration Management List compliance baseline assignments
      description: >-
        Retrieve all configuration baseline assignments in Configuration
        Manager.
      tags:
        - Compliance
      parameters:
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/filter'
        - $ref: '#/components/parameters/select'
      responses:
        '200':
          description: Successful response returning baseline assignments.
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      type: object
                      properties:
                        AssignmentID:
                          type: integer
                        AssignmentName:
                          type: string
                        TargetCollectionID:
                          type: string
                        StartTime:
                          type: string
                          format: date-time
  /v1.0/Device:
    get:
      operationId: listDevicesV1
      summary: Microsoft Endpoint Configuration Management List devices (versioned route)
      description: >-
        Retrieve devices through the versioned OData v1.0 route which supports
        new Configuration Manager functionality.
      tags:
        - Devices
      parameters:
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/filter'
        - $ref: '#/components/parameters/select'
      responses:
        '200':
          description: Successful response returning devices.
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/Device'
  /v1.0/Device({deviceId}):
    get:
      operationId: getDeviceV1
      summary: Microsoft Endpoint Configuration Management Get a device (versioned route)
      description: Retrieve a specific device by ID via the versioned route.
      tags:
        - Devices
      parameters:
        - name: deviceId
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: Successful response returning the device.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Device'
  /v1.0/Collections:
    get:
      operationId: listCollectionsV1
      summary: Microsoft Endpoint Configuration Management List collections (versioned route)
      description: >-
        Retrieve collections through the versioned OData v1.0 route.
      tags:
        - Collections
      parameters:
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/filter'
        - $ref: '#/components/parameters/select'
      responses:
        '200':
          description: Successful response returning collections.
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/SMS_Collection'
  /v1.0/Scripts:
    get:
      operationId: listScripts
      summary: Microsoft Endpoint Configuration Management List scripts
      description: >-
        Retrieve all PowerShell scripts available in Configuration Manager
        for remote execution.
      tags:
        - Scripts
      parameters:
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/select'
      responses:
        '200':
          description: Successful response returning scripts.
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      type: object
                      properties:
                        ScriptGuid:
                          type: string
                        ScriptName:
                          type: string
                        Author:
                          type: string
                        ApprovalState:
                          type: string
                        ScriptType:
                          type: integer
components:
  securitySchemes:
    windowsAuth:
      type: http
      scheme: negotiate
      description: Windows Integrated Authentication (Kerberos/NTLM).
    oauth2:
      type: oauth2
      description: OAuth 2.0 via Azure AD for cloud management gateway access.
      flows:
        authorizationCode:
          authorizationUrl: https://login.microsoftonline.com/common/oauth2/v2.0/authorize
          tokenUrl: https://login.microsoftonline.com/common/oauth2/v2.0/token
          scopes: {}
  parameters:
    top:
      name: $top
      in: query
      description: Number of items to return.
      schema:
        type: integer
    filter:
      name: $filter
      in: query
      description: OData filter expression.
      schema:
        type: string
    select:
      name: $select
      in: query
      description: Comma-separated list of properties to include.
      schema:
        type: string
    orderby:
      name: $orderby
      in: query
      description: Order results by a property.
      schema:
        type: string
  schemas:
    SMS_Device:
      type: object
      description: >-
        Represents a device discovered and managed by Configuration Manager
        via the WMI route.
      properties:
        DeviceID:
          type: integer
          description: Unique device identifier.
        Name:
          type: string
          description: Device name.
        Domain:
          type: string
          description: Domain the device belongs to.
        SMSID:
          type: string
          description: SMS unique identifier.
        IsActive:
          type: boolean
          description: Whether the device is currently active.
        DeviceOS:
          type: string
          description: Operating system of the device.
        DeviceOSVersion:
          type: string
          description: Operating system version.
        DeviceType:
          type: integer
          description: Type of device (1=Desktop, 2=Laptop, etc.).
        IsBlocked:
          type: boolean
          description: Whether the device is blocked.
        LastActiveTime:
          type: string
          format: date-time
          description: Last time the device was active.
    SMS_R_System:
      type: object
      description: >-
        Represents a discovered system resource (computer or device) in
        Configuration Manager.
      properties:
        ResourceID:
          type: integer
          description: Unique resource identifier.
        Name:
          type: string
          description: Computer name.
        SMSUniqueIdentifier:
          type: string
          description: SMS unique identifier.
        ResourceDomainORWorkgroup:
          type: string
          description: Domain or workgroup.
        Client:
          type: integer
          description: Whether the Configuration Manager client is installed (1=yes).
        Active:
          type: integer
          description: Whether the resource is active.
        IPAddresses:
          type: array
          items:
            type: string
          description: IP addresses of the system.
        MACAddresses:
          type: array
          items:
            type: string
          description: MAC addresses of the system.
        OperatingSystemNameandVersion:
          type: string
          description: Full operating system name and version string.
        LastLogonUserName:
          type: string
          description: Last logged on user name.
        LastLogonTimestamp:
          type: string
          format: date-time
          description: Last logon timestamp.
    SMS_Collection:
      type: object
      description: >-
        Represents a device or user collection in Configuration Manager used
        for targeting deployments and policies.
      properties:
        CollectionID:
          type: string
          description: Unique collection identifier.
        Name:
          type: string
          description: Collection name.
        Comment:
          type: string
          description: Collection description/comment.
        CollectionType:
          type: integer
          description: Type of collection (1=User, 2=Device).
        MemberCount:
          type: integer
          description: Number of members in the collection.
        LimitToCollectionID:
          type: string
          description: The collection ID that limits membership.
        LimitToCollectionName:
          type: string
          description: Name of the limiting collection.
        LastRefreshTime:
          type: string
          format: date-time
          description: Last time the collection membership was refreshed.
        CurrentStatus:
          type: integer
          description: Current evaluation status of the collection.
    SMS_Application:
      type: object
      description: >-
        Represents an application in Configuration Manager with deployment
        types, requirements, and detection methods.
      properties:
        CI_ID:
          type: integer
          description: Configuration item ID.
        CI_UniqueID:
          type: string
          description: Unique configuration item identifier.
        LocalizedDisplayName:
          type: string
          description: Display name of the application.
        LocalizedDescription:
          type: string
          description: Description of the application.
        Manufacturer:
          type: string
          description: Application manufacturer/publisher.
        SoftwareVersion:
          type: string
          description: Software version.
        DateCreated:
          type: string
          format: date-time
          description: Date the application was created.
        DateLastModified:
          type: string
          format: date-time
          description: Date the application was last modified.
        IsDeployed:
          type: boolean
          description: Whether the application is currently deployed.
        IsSuperseded:
          type: boolean
          description: Whether the application has been superseded.
        IsLatest:
          type: boolean
          description: Whether this is the latest version.
        NumberOfDeploymentTypes:
          type: integer
          description: Number of deployment types.
        NumberOfDeployments:
          type: integer
          description: Number of active deployments.
    SMS_ApplicationDeployment:
      type: object
      description: >-
        Represents an application deployment assignment in Configuration
        Manager.
      properties:
        AssignmentID:
          type: integer
          description: Unique assignment identifier.
        AssignmentName:
          type: string
          description: Name of the deployment.
        ApplicationName:
          type: string
          description: Name of the deployed application.
        TargetCollectionID:
          type: string
          description: Target collection for the deployment.
        StartTime:
          type: string
          format: date-time
          description: Deployment start time.
        EnforcementDeadline:
          type: string
          format: date-time
          description: Enforcement deadline.
        DesiredConfigType:
          type: integer
          description: >-
            Desired configuration type (1=Install, 2=Uninstall).
        OfferTypeID:
          type: integer
          description: >-
            Offer type (0=Required, 2=Available).
        Enabled:
          type: boolean
          description: Whether the deployment is enabled.
    SMS_Package:
      type: object
      description: Represents a legacy package in Configuration Manager.
      properties:
        PackageID:
          type: string
          description: Unique package identifier.
        Name:
          type: string
          description: Package name.
        Description:
          type: string
          description: Package description.
        Manufacturer:
          type: string
          description: Manufacturer.
        Version:
          type: string
          description: Package version.
        SourceDate:
          type: string
          format: date-time
          description: Source content date.
        PackageType:
          type: integer
          description: Type of package.
    SMS_TaskSequence:
      type: object
      description: >-
        Represents a task sequence used for OS deployment and complex
        automation workflows.
      properties:
        PackageID:
          type: string
          description: Task sequence package ID.
        Name:
          type: string
          description: Task sequence name.
        Description:
          type: string
          description: Task sequence description.
        BootImageID:
          type: string
          description: Associated boot image ID.
        Duration:
          type: integer
          description: Estimated duration in minutes.
        Type:
          type: integer
          description: Task sequence type.
    SMS_SoftwareUpdate:
      type: object
      description: >-
        Represents a software update known to Configuration Manager.
      properties:
        CI_ID:
          type: integer
          description: Configuration item ID.
        ArticleID:
          type: string
          description: Knowledge base article ID.
        BulletinID:
          type: string
          description: Security bulletin ID.
        LocalizedDisplayName:
          type: string
          description: Display name of the update.
        LocalizedDescription:
          type: string
          description: Description of the update.
        DatePosted:
          type: string
          format: date-time
          description: Date the update was posted.
        DateRevised:
          type: string
          format: date-time
          description: Date the update was revised.
        IsDeployed:
          type: boolean
          description: Whether the update is deployed.
        IsSuperseded:
          type: boolean
          description: Whether the update is superseded.
        NumMissing:
          type: integer
          description: Number of systems missing this update.
        NumPresent:
          type: integer
          description: Number of systems with this update installed.
        SeverityName:
          type: string
          description: Severity rating.
    SMS_Site:
      type: object
      description: Represents a Configuration Manager site.
      properties:
        SiteCode:
          type: string
          description: Three-character site code.
        SiteName:
          type: string
          description: Site name.
        Type:
          type: integer
          description: Site type (1=Secondary, 2=Primary, 4=CAS).
        Version:
          type: string
          description: Site version.
        BuildNumber:
          type: string
          description: Build number.
        ServerName:
          type: string
          description: Site server name.
        Status:
          type: integer
          description: Site status.
    Device:
      type: object
      description: >-
        Device entity available through the versioned v1.0 OData route of
        the AdminService.
      properties:
        MachineId:
          type: integer
          description: Unique machine identifier.
        Name:
          type: string
          description: Device name.
        Domain:
          type: string
          description: Domain.
        IsActive:
          type: boolean
          description: Whether the device is active.
        LastActiveTime:
          type: string
          format: date-time
          description: Last active time.
        DeviceOS:
          type: string
          description: Operating system.
        Status:
          type: string
          description: Device status.
        SiteCode:
          type: string
          description: Associated site code.
    ODataError:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
  responses:
    Unauthorized:
      description: Unauthorized. Authentication is required.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ODataError'
    Forbidden:
      description: >-
        Forbidden. The user account must be an administrative user in
        Configuration Manager.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ODataError'
    NotFound:
      description: Not found. The specified resource does not exist.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ODataError'
tags:
  - name: Applications
    description: Manage Configuration Manager applications.
  - name: Collections
    description: Manage device and user collections.
  - name: Compliance
    description: Manage compliance baselines and settings.
  - name: Deployments
    description: View and manage application deployments.
  - name: Devices
    description: Query and manage device resources.
  - name: Packages
    description: Manage legacy software packages.
  - name: Scripts
    description: Manage and execute PowerShell scripts.
  - name: Site Administration
    description: Site configuration and administration.
  - name: Software Updates
    description: Query software update information.
  - name: Task Sequences
    description: Manage OS deployment task sequences.