Microsoft Entra ID (formerly Azure AD) Service Principals.remote Desktop Security Configuration API

The servicePrincipals.remoteDesktopSecurityConfiguration API from Microsoft Entra ID (formerly Azure AD) — 7 operation(s) for serviceprincipals.remotedesktopsecurityconfiguration.

Business capability
Identity & Access Management BC-620.20

Operations 15

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /servicePrincipals/{servicePrincipal-id}/remoteDesktopSecurityConfiguration View an app's Remote Desktop security configuration · Get remoteDesktopSecurityConfiguration #
Ask an LLM
“Is Entra ID authentication for Remote Desktop turned on for this service principal?”
“Where can I see the RDP security settings configured on an app?”
Tell an agent
Show the remote desktop security configuration for service principal {sp}.
Check whether RDP authentication is enabled on app {sp}.
PATCH /servicePrincipals/{servicePrincipal-id}/remoteDesktopSecurityConfiguration Enable or disable Entra RDP auth on an app · Update remoteDesktopSecurityConfiguration #
Ask an LLM
“How do I turn on Microsoft Entra ID authentication for Remote Desktop Protocol?”
“Can I switch off RDP protocol support on a service principal?”
Tell an agent
Set RDP enabled to {enabled} on service principal {sp}.
Enable Entra authentication for Remote Desktop on app {sp}.
DELETE /servicePrincipals/{servicePrincipal-id}/remoteDesktopSecurityConfiguration Remove an app's Remote Desktop security configuration · Delete remoteDesktopSecurityConfiguration #
Ask an LLM
“What happens to RDP sign-in if I delete the remote desktop security configuration?”
“How do I remove the whole Remote Desktop security setup from a service principal?”
Tell an agent destructive · confirm first
Delete the remote desktop security configuration from service principal {sp}.
Remove all RDP security settings from app {sp}.
GET /servicePrincipals/{servicePrincipal-id}/remoteDesktopSecurityConfiguration/approvedClientApps List approved Remote Desktop client apps · List approvedClientApp objects #
Ask an LLM
“Which client apps are approved for Remote Desktop connections on this app?”
“Can I see every approved RDP client configured on a service principal?”
Tell an agent
List the approved client apps for RDP on service principal {sp}.
Show approved remote desktop clients on app {sp} named like {search}.
POST /servicePrincipals/{servicePrincipal-id}/remoteDesktopSecurityConfiguration/approvedClientApps Approve a client app for Remote Desktop · Create approvedClientApp #
Ask an LLM
“How do I add a new approved client app to the RDP security configuration?”
“Is there a maximum number of approved client apps per service principal?”
Tell an agent
Approve client app {name} for remote desktop on service principal {sp}.
Add {name} as an approved RDP client on app {sp}.
GET /servicePrincipals/{servicePrincipal-id}/remoteDesktopSecurityConfiguration/approvedClientApps/{approvedClientApp-id} Get one approved Remote Desktop client app · Get approvedClientApp #
Ask an LLM
“What are the details of a specific approved RDP client app?”
“Can I look up one approved client app by its ID?”
Tell an agent
Get approved client app {app} from the RDP configuration of service principal {sp}.
Show details of approved remote desktop client {app} on app {sp}.
PATCH /servicePrincipals/{servicePrincipal-id}/remoteDesktopSecurityConfiguration/approvedClientApps/{approvedClientApp-id} Rename an approved Remote Desktop client app · Update approvedClientApp #
Ask an LLM
“Can I change the display name of an approved RDP client app?”
“Is an approved remote desktop client editable after I add it?”
Tell an agent
Rename approved client app {app} on service principal {sp} to {name}.
Update approved remote desktop client {app} on app {sp}.
DELETE /servicePrincipals/{servicePrincipal-id}/remoteDesktopSecurityConfiguration/approvedClientApps/{approvedClientApp-id} Revoke an approved Remote Desktop client app · Delete approvedClientApp #
Ask an LLM
“How do I stop a client app from being approved for RDP?”
“Can I remove one approved client from the remote desktop configuration?”
Tell an agent destructive · confirm first
Delete approved client app {app} from the RDP configuration of service principal {sp}.
Revoke remote desktop approval for client {app} on app {sp}.
GET /servicePrincipals/{servicePrincipal-id}/remoteDesktopSecurityConfiguration/approvedClientApps/$count Count approved Remote Desktop client apps · Get the number of the resource #
Ask an LLM
“How many approved RDP client apps are configured, and am I near the limit of 20?”
“Can I get just the number of approved remote desktop clients?”
Tell an agent
Count the approved RDP client apps on service principal {sp}.
Tell me how many approved remote desktop clients app {sp} has.
GET /servicePrincipals/{servicePrincipal-id}/remoteDesktopSecurityConfiguration/targetDeviceGroups List Remote Desktop target device groups · List targetDeviceGroups #
Ask an LLM
“Which device groups skip the RDP consent prompt for this app?”
“Can I see all target device groups on the remote desktop configuration?”
Tell an agent
List the target device groups for RDP on service principal {sp}.
Show remote desktop target device groups on app {sp} matching {filter}.
POST /servicePrincipals/{servicePrincipal-id}/remoteDesktopSecurityConfiguration/targetDeviceGroups Add a Remote Desktop target device group · Create targetDeviceGroup #
Ask an LLM
“How do I add a device group so users connecting to it don't get the RDP consent prompt?”
“What is the limit on target device groups for remote desktop?”
Tell an agent
Add target device group {name} to the RDP configuration of service principal {sp}.
Create remote desktop target device group {group} named {name} on app {sp}.
GET /servicePrincipals/{servicePrincipal-id}/remoteDesktopSecurityConfiguration/targetDeviceGroups/{targetDeviceGroup-id} Get one Remote Desktop target device group · Get targetDeviceGroup #
Ask an LLM
“What are the details of a specific RDP target device group?”
“Can I fetch one target device group by ID?”
Tell an agent
Get target device group {group} from the RDP configuration of service principal {sp}.
Show remote desktop target device group {group} on app {sp}.
PATCH /servicePrincipals/{servicePrincipal-id}/remoteDesktopSecurityConfiguration/targetDeviceGroups/{targetDeviceGroup-id} Rename a Remote Desktop target device group · Update targetDeviceGroup #
Ask an LLM
“Can I change the display name of an RDP target device group?”
“Is a remote desktop target device group editable once added?”
Tell an agent
Rename target device group {group} on service principal {sp} to {name}.
Update remote desktop target device group {group} on app {sp}.
DELETE /servicePrincipals/{servicePrincipal-id}/remoteDesktopSecurityConfiguration/targetDeviceGroups/{targetDeviceGroup-id} Remove a Remote Desktop target device group · Delete targetDeviceGroup #
Ask an LLM
“Will users see the RDP consent prompt again if I remove a target device group?”
“How do I delete a device group from the remote desktop configuration?”
Tell an agent destructive · confirm first
Delete target device group {group} from the RDP configuration of service principal {sp}.
Remove remote desktop target device group {group} from app {sp}.
GET /servicePrincipals/{servicePrincipal-id}/remoteDesktopSecurityConfiguration/targetDeviceGroups/$count Count Remote Desktop target device groups · Get the number of the resource #
Ask an LLM
“How many target device groups are configured, and am I near the limit of 10?”
“Can I get just the number of RDP target device groups?”
Tell an agent
Count the RDP target device groups on service principal {sp}.
Tell me how many remote desktop target device groups app {sp} has.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/azure-ad:azure-ad-serviceprincipals-remotedesktopsecurityconfiguration-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

azure-ad-serviceprincipals-remotedesktopsecurityconfiguration-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Applications Service Principals.remote Desktop Security…
  version: v1.0
servers:
- url: https://graph.microsoft.com/v1.0/
  description: Core
security:
- azureaadv2: []
tags:
- name: servicePrincipals.remoteDesktopSecurityConfiguration
paths:
  /servicePrincipals/{servicePrincipal-id}/remoteDesktopSecurityConfiguration:
    get:
      tags:
      - servicePrincipals.remoteDesktopSecurityConfiguration
      summary: Get remoteDesktopSecurityConfiguration
      description: Read the properties and relationships of a remoteDesktopSecurityConfiguration object on a servicePrincipal. Use this configuration to view the Microsoft Entra ID Remote Desktop Services (RDS) authentication protocol to authenticate a user to Microsoft Entra joined or Microsoft Entra hybrid joined devices. Additionally you can view any targetDeviceGroups that have been configured for SSO.
      externalDocs:
        description: Find more info here
        url: https://learn.microsoft.com/graph/api/remotedesktopsecurityconfiguration-get?view=graph-rest-1.0
      operationId: servicePrincipal_GetRemoteDesktopSecurityConfiguration
      parameters:
      - name: servicePrincipal-id
        in: path
        description: The unique identifier of servicePrincipal
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: servicePrincipal
      - name: $select
        in: query
        description: Select properties to be returned
        style: form
        explode: false
        schema:
          uniqueItems: true
          type: array
          items:
            type: string
      - name: $expand
        in: query
        description: Expand related entities
        style: form
        explode: false
        schema:
          uniqueItems: true
          type: array
          items:
            type: string
      responses:
        2XX:
          description: Retrieved navigation property
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/microsoft.graph.remoteDesktopSecurityConfiguration'
        default:
          $ref: '#/components/responses/error'
      x-ms-docs-operation-type: operation
    patch:
      tags:
      - servicePrincipals.remoteDesktopSecurityConfiguration
      summary: Update remoteDesktopSecurityConfiguration
      description: Update the properties of a remoteDesktopSecurityConfiguration object on the servicePrincipal. Use this configuration to enable or disable the Microsoft Entra ID Remote Desktop Services (RDS) authentication protocol to authenticate a user to Microsoft Entra joined or Microsoft Entra hybrid joined devices.
      externalDocs:
        description: Find more info here
        url: https://learn.microsoft.com/graph/api/remotedesktopsecurityconfiguration-update?view=graph-rest-1.0
      operationId: servicePrincipal_UpdateRemoteDesktopSecurityConfiguration
      parameters:
      - name: servicePrincipal-id
        in: path
        description: The unique identifier of servicePrincipal
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: servicePrincipal
      requestBody:
        description: New navigation property values
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/microsoft.graph.remoteDesktopSecurityConfiguration'
        required: true
      responses:
        2XX:
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/microsoft.graph.remoteDesktopSecurityConfiguration'
        default:
          $ref: '#/components/responses/error'
      x-ms-docs-operation-type: operation
    delete:
      tags:
      - servicePrincipals.remoteDesktopSecurityConfiguration
      summary: Delete remoteDesktopSecurityConfiguration
      description: Delete a remoteDesktopSecurityConfiguration object on a servicePrincipal. Removing remoteDesktopSecurityConfiguration object on the servicePrincipal disables the Microsoft Entra ID Remote Desktop Services (RDS) authentication protocol to authenticate a user to Microsoft Entra joined or Microsoft Entra hybrid joined devices, and removes any target device groups that you configured for SSO.
      externalDocs:
        description: Find more info here
        url: https://learn.microsoft.com/graph/api/serviceprincipal-delete-remotedesktopsecurityconfiguration?view=graph-rest-1.0
      operationId: servicePrincipal_DeleteRemoteDesktopSecurityConfiguration
      parameters:
      - name: servicePrincipal-id
        in: path
        description: The unique identifier of servicePrincipal
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: servicePrincipal
      - name: If-Match
        in: header
        description: ETag
        style: simple
        schema:
          type: string
      responses:
        2XX:
          description: Success
        default:
          $ref: '#/components/responses/error'
      x-ms-docs-operation-type: operation
  /servicePrincipals/{servicePrincipal-id}/remoteDesktopSecurityConfiguration/approvedClientApps:
    get:
      tags:
      - servicePrincipals.remoteDesktopSecurityConfiguration
      summary: List approvedClientApp objects
      description: The collection of approved client apps that are associated with the RDS configuration. Supports $expand.
      externalDocs:
        description: Find more info here
        url: https://learn.microsoft.com/graph/api/remotedesktopsecurityconfiguration-list-approvedclientapps?view=graph-rest-1.0
      operationId: servicePrincipal.remoteDesktopSecurityConfiguration_ListApprovedClientApp
      parameters:
      - name: servicePrincipal-id
        in: path
        description: The unique identifier of servicePrincipal
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: servicePrincipal
      - $ref: '#/components/parameters/top'
      - $ref: '#/components/parameters/skip'
      - $ref: '#/components/parameters/search'
      - $ref: '#/components/parameters/filter'
      - $ref: '#/components/parameters/count'
      - name: $orderby
        in: query
        description: Order items by property values
        style: form
        explode: false
        schema:
          uniqueItems: true
          type: array
          items:
            type: string
      - name: $select
        in: query
        description: Select properties to be returned
        style: form
        explode: false
        schema:
          uniqueItems: true
          type: array
          items:
            type: string
      - name: $expand
        in: query
        description: Expand related entities
        style: form
        explode: false
        schema:
          uniqueItems: true
          type: array
          items:
            type: string
      responses:
        2XX:
          $ref: '#/components/responses/microsoft.graph.approvedClientAppCollectionResponse'
        default:
          $ref: '#/components/responses/error'
      x-ms-pageable:
        nextLinkName: '@odata.nextLink'
        operationName: listMore
      x-ms-docs-operation-type: operation
    post:
      tags:
      - servicePrincipals.remoteDesktopSecurityConfiguration
      summary: Create approvedClientApp
      description: Create a new approvedClientApp object for the remoteDesktopSecurityConfiguration object on a service principal. You can configure a maximum of 20 approved client apps.
      externalDocs:
        description: Find more info here
        url: https://learn.microsoft.com/graph/api/remotedesktopsecurityconfiguration-post-approvedclientapps?view=graph-rest-1.0
      operationId: servicePrincipal.remoteDesktopSecurityConfiguration_CreateApprovedClientApp
      parameters:
      - name: servicePrincipal-id
        in: path
        description: The unique identifier of servicePrincipal
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: servicePrincipal
      requestBody:
        description: New navigation property
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/microsoft.graph.approvedClientApp'
        required: true
      responses:
        2XX:
          description: Created navigation property.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/microsoft.graph.approvedClientApp'
        default:
          $ref: '#/components/responses/error'
      x-ms-docs-operation-type: operation
  /servicePrincipals/{servicePrincipal-id}/remoteDesktopSecurityConfiguration/approvedClientApps/{approvedClientApp-id}:
    get:
      tags:
      - servicePrincipals.remoteDesktopSecurityConfiguration
      summary: Get approvedClientApp
      description: Read the properties and relationships of a approvedClientApp object for the remoteDesktopSecurityConfiguration object on a servicePrincipal.
      externalDocs:
        description: Find more info here
        url: https://learn.microsoft.com/graph/api/approvedclientapp-get?view=graph-rest-1.0
      operationId: servicePrincipal.remoteDesktopSecurityConfiguration_GetApprovedClientApp
      parameters:
      - name: servicePrincipal-id
        in: path
        description: The unique identifier of servicePrincipal
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: servicePrincipal
      - name: approvedClientApp-id
        in: path
        description: The unique identifier of approvedClientApp
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: approvedClientApp
      - name: $select
        in: query
        description: Select properties to be returned
        style: form
        explode: false
        schema:
          uniqueItems: true
          type: array
          items:
            type: string
      - name: $expand
        in: query
        description: Expand related entities
        style: form
        explode: false
        schema:
          uniqueItems: true
          type: array
          items:
            type: string
      responses:
        2XX:
          description: Retrieved navigation property
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/microsoft.graph.approvedClientApp'
        default:
          $ref: '#/components/responses/error'
      x-ms-docs-operation-type: operation
    patch:
      tags:
      - servicePrincipals.remoteDesktopSecurityConfiguration
      summary: Update approvedClientApp
      description: Update the properties of an approvedClientApp object for a remotedesktopsecurityconfiguration.
      externalDocs:
        description: Find more info here
        url: https://learn.microsoft.com/graph/api/approvedclientapp-update?view=graph-rest-1.0
      operationId: servicePrincipal.remoteDesktopSecurityConfiguration_UpdateApprovedClientApp
      parameters:
      - name: servicePrincipal-id
        in: path
        description: The unique identifier of servicePrincipal
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: servicePrincipal
      - name: approvedClientApp-id
        in: path
        description: The unique identifier of approvedClientApp
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: approvedClientApp
      requestBody:
        description: New navigation property values
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/microsoft.graph.approvedClientApp'
        required: true
      responses:
        2XX:
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/microsoft.graph.approvedClientApp'
        default:
          $ref: '#/components/responses/error'
      x-ms-docs-operation-type: operation
    delete:
      tags:
      - servicePrincipals.remoteDesktopSecurityConfiguration
      summary: Delete approvedClientApp
      externalDocs:
        description: Find more info here
        url: https://learn.microsoft.com/graph/api/remotedesktopsecurityconfiguration-delete-approvedclientapps?view=graph-rest-1.0
      operationId: servicePrincipal.remoteDesktopSecurityConfiguration_DeleteApprovedClientApp
      parameters:
      - name: servicePrincipal-id
        in: path
        description: The unique identifier of servicePrincipal
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: servicePrincipal
      - name: approvedClientApp-id
        in: path
        description: The unique identifier of approvedClientApp
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: approvedClientApp
      - name: If-Match
        in: header
        description: ETag
        style: simple
        schema:
          type: string
      responses:
        2XX:
          description: Success
        default:
          $ref: '#/components/responses/error'
      x-ms-docs-operation-type: operation
  /servicePrincipals/{servicePrincipal-id}/remoteDesktopSecurityConfiguration/approvedClientApps/$count:
    get:
      tags:
      - servicePrincipals.remoteDesktopSecurityConfiguration
      summary: Get the number of the resource
      operationId: servicePrincipal.remoteDesktopSecurityConfiguration.approvedClientApp_GetCount
      parameters:
      - name: servicePrincipal-id
        in: path
        description: The unique identifier of servicePrincipal
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: servicePrincipal
      - $ref: '#/components/parameters/search'
      - $ref: '#/components/parameters/filter'
      responses:
        2XX:
          $ref: '#/components/responses/ODataCountResponse'
        default:
          $ref: '#/components/responses/error'
  /servicePrincipals/{servicePrincipal-id}/remoteDesktopSecurityConfiguration/targetDeviceGroups:
    get:
      tags:
      - servicePrincipals.remoteDesktopSecurityConfiguration
      summary: List targetDeviceGroups
      description: Get a list of the targetDeviceGroup objects and their properties on the remoteDesktopSecurityConfiguration resource on the servicePrincipal. Any user authenticating using the Microsoft Entra ID Remote Desktop Services (RDS) authentication protocol to a Microsoft Entra joined or Microsoft Entra hybrid joined device that belongs to the targetDeviceGroup will get SSO.
      externalDocs:
        description: Find more info here
        url: https://learn.microsoft.com/graph/api/remotedesktopsecurityconfiguration-list-targetdevicegroups?view=graph-rest-1.0
      operationId: servicePrincipal.remoteDesktopSecurityConfiguration_ListTargetDeviceGroup
      parameters:
      - name: servicePrincipal-id
        in: path
        description: The unique identifier of servicePrincipal
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: servicePrincipal
      - $ref: '#/components/parameters/top'
      - $ref: '#/components/parameters/skip'
      - $ref: '#/components/parameters/search'
      - $ref: '#/components/parameters/filter'
      - $ref: '#/components/parameters/count'
      - name: $orderby
        in: query
        description: Order items by property values
        style: form
        explode: false
        schema:
          uniqueItems: true
          type: array
          items:
            type: string
      - name: $select
        in: query
        description: Select properties to be returned
        style: form
        explode: false
        schema:
          uniqueItems: true
          type: array
          items:
            type: string
      - name: $expand
        in: query
        description: Expand related entities
        style: form
        explode: false
        schema:
          uniqueItems: true
          type: array
          items:
            type: string
      responses:
        2XX:
          $ref: '#/components/responses/microsoft.graph.targetDeviceGroupCollectionResponse'
        default:
          $ref: '#/components/responses/error'
      x-ms-pageable:
        nextLinkName: '@odata.nextLink'
        operationName: listMore
      x-ms-docs-operation-type: operation
    post:
      tags:
      - servicePrincipals.remoteDesktopSecurityConfiguration
      summary: Create targetDeviceGroup
      description: Create a new targetDeviceGroup object for the remoteDesktopSecurityConfiguration object on the servicePrincipal. You can configure a maximum of 10 target device groups for the remoteDesktopSecurityConfiguration object on the servicePrincipal.
      externalDocs:
        description: Find more info here
        url: https://learn.microsoft.com/graph/api/remotedesktopsecurityconfiguration-post-targetdevicegroups?view=graph-rest-1.0
      operationId: servicePrincipal.remoteDesktopSecurityConfiguration_CreateTargetDeviceGroup
      parameters:
      - name: servicePrincipal-id
        in: path
        description: The unique identifier of servicePrincipal
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: servicePrincipal
      requestBody:
        description: New navigation property
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/microsoft.graph.targetDeviceGroup'
        required: true
      responses:
        2XX:
          description: Created navigation property.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/microsoft.graph.targetDeviceGroup'
        default:
          $ref: '#/components/responses/error'
      x-ms-docs-operation-type: operation
  /servicePrincipals/{servicePrincipal-id}/remoteDesktopSecurityConfiguration/targetDeviceGroups/{targetDeviceGroup-id}:
    get:
      tags:
      - servicePrincipals.remoteDesktopSecurityConfiguration
      summary: Get targetDeviceGroup
      description: Read the properties and relationships of a targetDeviceGroup object for the remoteDesktopSecurityConfiguration object on the servicePrincipal.
      externalDocs:
        description: Find more info here
        url: https://learn.microsoft.com/graph/api/targetdevicegroup-get?view=graph-rest-1.0
      operationId: servicePrincipal.remoteDesktopSecurityConfiguration_GetTargetDeviceGroup
      parameters:
      - name: servicePrincipal-id
        in: path
        description: The unique identifier of servicePrincipal
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: servicePrincipal
      - name: targetDeviceGroup-id
        in: path
        description: The unique identifier of targetDeviceGroup
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: targetDeviceGroup
      - name: $select
        in: query
        description: Select properties to be returned
        style: form
        explode: false
        schema:
          uniqueItems: true
          type: array
          items:
            type: string
      - name: $expand
        in: query
        description: Expand related entities
        style: form
        explode: false
        schema:
          uniqueItems: true
          type: array
          items:
            type: string
      responses:
        2XX:
          description: Retrieved navigation property
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/microsoft.graph.targetDeviceGroup'
        default:
          $ref: '#/components/responses/error'
      x-ms-docs-operation-type: operation
    patch:
      tags:
      - servicePrincipals.remoteDesktopSecurityConfiguration
      summary: Update targetDeviceGroup
      description: Update the properties of a targetDeviceGroup object for remoteDesktopSecurityConfiguration object on the servicePrincipal. You can configure a maximum of 10 target device groups for the remoteDesktopSecurityConfiguraiton object on the servicePrincipal.
      externalDocs:
        description: Find more info here
        url: https://learn.microsoft.com/graph/api/targetdevicegroup-update?view=graph-rest-1.0
      operationId: servicePrincipal.remoteDesktopSecurityConfiguration_UpdateTargetDeviceGroup
      parameters:
      - name: servicePrincipal-id
        in: path
        description: The unique identifier of servicePrincipal
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: servicePrincipal
      - name: targetDeviceGroup-id
        in: path
        description: The unique identifier of targetDeviceGroup
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: targetDeviceGroup
      requestBody:
        description: New navigation property values
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/microsoft.graph.targetDeviceGroup'
        required: true
      responses:
        2XX:
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/microsoft.graph.targetDeviceGroup'
        default:
          $ref: '#/components/responses/error'
      x-ms-docs-operation-type: operation
    delete:
      tags:
      - servicePrincipals.remoteDesktopSecurityConfiguration
      summary: Delete targetDeviceGroup
      description: Delete a targetDeviceGroup object for the remoteDesktopSecurityConfiguration object on the servicePrincipal. Any user authenticating using the Microsoft Entra ID Remote Desktop Services (RDS) authentication protocol to a Microsoft Entra joined or Microsoft Entra hybrid joined device that's in the removed targetDeviceGroup doesn't get SSO prompts.
      externalDocs:
        description: Find more info here
        url: https://learn.microsoft.com/graph/api/remotedesktopsecurityconfiguration-delete-targetdevicegroups?view=graph-rest-1.0
      operationId: servicePrincipal.remoteDesktopSecurityConfiguration_DeleteTargetDeviceGroup
      parameters:
      - name: servicePrincipal-id
        in: path
        description: The unique identifier of servicePrincipal
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: servicePrincipal
      - name: targetDeviceGroup-id
        in: path
        description: The unique identifier of targetDeviceGroup
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: targetDeviceGroup
      - name: If-Match
        in: header
        description: ETag
        style: simple
        schema:
          type: string
      responses:
        2XX:
          description: Success
        default:
          $ref: '#/components/responses/error'
      x-ms-docs-operation-type: operation
  /servicePrincipals/{servicePrincipal-id}/remoteDesktopSecurityConfiguration/targetDeviceGroups/$count:
    get:
      tags:
      - servicePrincipals.remoteDesktopSecurityConfiguration
      summary: Get the number of the resource
      operationId: servicePrincipal.remoteDesktopSecurityConfiguration.targetDeviceGroup_GetCount
      parameters:
      - name: servicePrincipal-id
        in: path
        description: The unique identifier of servicePrincipal
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: servicePrincipal
      - $ref: '#/components/parameters/search'
      - $ref: '#/components/parameters/filter'
      responses:
        2XX:
          $ref: '#/components/responses/ODataCountResponse'
        default:
          $ref: '#/components/responses/error'
components:
  responses:
    error:
      description: error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/microsoft.graph.ODataErrors.ODataError'
    microsoft.graph.targetDeviceGroupCollectionResponse:
      description: Retrieved collection
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/microsoft.graph.targetDeviceGroupCollectionResponse'
    ODataCountResponse:
      description: The count of the resource
      content:
        text/plain:
          schema:
            $ref: '#/components/schemas/ODataCountResponse'
    microsoft.graph.approvedClientAppCollectionResponse:
      description: Retrieved collection
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/microsoft.graph.approvedClientAppCollectionResponse'
  schemas:
    microsoft.graph.targetDeviceGroup:
      allOf:
      - $ref: '#/components/schemas/microsoft.graph.entity'
      - title: targetDeviceGroup
        type: object
        properties:
          displayName:
            type:
            - string
            - 'null'
            description: Display name for the target device group.
        additionalProperties:
          type: object
    microsoft.graph.ODataErrors.InnerError:
      type: object
      additionalProperties:
        type: object
      description: The structure of this object is service-specific
    microsoft.graph.remoteDesktopSecurityConfiguration:
      allOf:
      - $ref: '#/components/schemas/microsoft.graph.entity'
      - title: remoteDesktopSecurityConfiguration
        type: object
        properties:
          isRemoteDesktopProtocolEnabled:
            type: boolean
            description: Determines if Microsoft Entra ID RDS authentication protocol for RDP is enabled.
          approvedClientApps:
            type: array
            items:
              $ref: '#/components/schemas/microsoft.graph.approvedClientApp'
            description: The collection of approved client apps that are associated with the RDS configuration. Supports $expand.
            x-ms-navigationProperty: true
          targetDeviceGroups:
            type: array
            items:
              $ref: '#/components/schemas/microsoft.graph.targetDeviceGroup'
            description: The collection of target device groups that are associated with the RDS security configuration that will be enabled for SSO when a client connects to the target device over RDP using the new Microsoft Entra ID RDS authentication protocol.
            x-ms-navigationProperty: true
        additionalProperties:
          type: object
    microsoft.graph.ODataErrors.MainError:
      required:
      - code
      - message
      type: object
      properties:
        code:
          type: string
        message:
          type: string
          x-ms-primary-error-message: true
        target:
          type:
          - string
          - 'null'
        details:
          type: array
          items:
            $ref: '#/components/schemas/microsoft.graph.ODataErrors.ErrorDetails'
        innerError:
          $ref: '#/components/schemas/microsoft.graph.ODataErrors.InnerError'
      additionalProperties:
        type: object
    microsoft.graph.targetDeviceGroupCollectionResponse:
      title: Collection of targetDeviceGroup
      type: object
      properties:
        value:
          type: array
          items:
            $ref: '#/components/schemas/microsoft.graph.targetDeviceGroup'
        '@odata.nextLink':
          type:
          - string
          - 'null'
      additionalProperties:
        type: object
    microsoft.graph.ODataErrors.ODataError:
      required:
      - error
      type: object
      properties:
        error:
          $ref: '#/components/schemas/microsoft.graph.ODataErrors.MainError'
      additionalProperties:
        type: object
    microsoft.graph.approvedClientApp:
      allOf:
      - $ref: '#/components/schemas/microsoft.graph.entity'
      - title: approvedClientApp
        type: object
        properties:
          displayName:
            type:
            - string
            - 'null'
            description: The display name of the approved client application.
        additionalProperties:
          type: object
    microsoft.graph.approvedClientAppCollectionResponse:
      title: Collection of approvedClientApp
      type: object
      properties:
        value:
          type: array
          items:
            $ref: '#/components/schemas/microsoft.graph.approvedClientApp'
        '@odata.nextLink':
          type:
          - string
          - 'null'
      additionalProperties:
        type: object
    microsoft.graph.ODataErrors.ErrorDetails:
      required:
      - code
      - message
      type: object
      properties:
        code:
          type: string
        message:
          type: string
        target:
          type:
          - string
          - 'null'
      additionalProperties:
        type: object
    microsoft.graph.entity:
      title: entity
      type: object
      properties:
        id:
          type: string
          description: The unique identifier for an entity. Read-only.
      additionalProperties:
        type: object
    ODataCountResponse:
      type: integer
      format: int32
  parameters:
    top:
      name: $top
      in: query
      description: Show only the first n items
      style: form
      explode: false
      schema:
        minimum: 0
        type: integer
      example: 50
    skip:
      name: $skip
      in: query
      description: Skip the first n items
      style: form
      explode: false
      schema:
        minimum: 0
        type: integer
    filter:
      name: $filter
      in: query
      description: Filter items by property values
      style: form
      explode: false
      schema:
        type: string
    search:
      name: $search
      in: query
      description: Search items by search phrases
      style: form
      explode: false
      schema:
        type: string
    count:
      name: $count
      in: query
      description: Include count of items
      style: form
      explode: false
      schema:
        type: boolean
  securitySchemes:
    azureaadv2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://login.microsoftonline.com/common/oauth2/v2.0/authorize
          tokenUrl: https://login.microsoftonline.com/common/oauth2/v2.0/token
          scopes: {}