openapi: 3.0.0
servers:
  - url: https://graph.windows.net
info:
  description: The Graph RBAC Management Client
  title: GraphRbacManagementClient
  version: "1.6"
  x-apisguru-categories:
    - cloud
  x-logo:
    url: https://assets.onestore.ms/cdnfiles/onestorerolling-1606-01000/shell/v3/images/logo/microsoft.png
  x-origin:
    - format: openapi
      url: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/graphrbac/data-plane/Microsoft.GraphRbac/stable/1.6/graphrbac.json
      version: "3.0"
  x-providerName: windows.net
  x-serviceName: graphrbac
security:
  - azure_auth:
      - user_impersonation
paths:
  "/{tenantID}/applications":
    get:
      description: Lists applications by filter parameters.
      operationId: Applications_List
      parameters:
        - description: The filters to apply to the operation.
          in: query
          name: $filter
          required: false
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApplicationListResult"
            text/json:
              schema:
                $ref: "#/components/schemas/ApplicationListResult"
          description: OK. The operation was successful.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - Application
      x-ms-odata: "#/components/schemas/Application"
      x-ms-pageable:
        nextLinkName: odata.nextLink
        operationName: Applications_ListNext
    post:
      description: Create a new application.
      operationId: Applications_Create
      parameters:
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ApplicationCreateParameters"
          text/json:
            schema:
              $ref: "#/components/schemas/ApplicationCreateParameters"
        description: The parameters for creating an application.
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Application"
            text/json:
              schema:
                $ref: "#/components/schemas/Application"
          description: The application was created successfully.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - Application
  "/{tenantID}/applications/{applicationObjectId}":
    delete:
      description: Delete an application.
      operationId: Applications_Delete
      parameters:
        - description: Application object ID.
          in: path
          name: applicationObjectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "204":
          description: No Content
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - Application
    get:
      description: Get an application by object ID.
      operationId: Applications_Get
      parameters:
        - description: Application object ID.
          in: path
          name: applicationObjectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Application"
            text/json:
              schema:
                $ref: "#/components/schemas/Application"
          description: OK. The operation was successful.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - Application
    patch:
      description: Update an existing application.
      operationId: Applications_Patch
      parameters:
        - description: Application object ID.
          in: path
          name: applicationObjectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ApplicationUpdateParameters"
          text/json:
            schema:
              $ref: "#/components/schemas/ApplicationUpdateParameters"
        description: Parameters to update an existing application.
        required: true
      responses:
        "204":
          description: No Content
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - Application
  "/{tenantID}/applications/{applicationObjectId}/$links/owners":
    post:
      description: Add an owner to an application.
      operationId: Applications_AddOwner
      parameters:
        - description: The object ID of the application to which to add the owner.
          in: path
          name: applicationObjectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      requestBody:
        $ref: "#/components/requestBodies/AddOwnerParameters"
      responses:
        "204":
          description: No Content. Indicates success. No response body is returned.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - ApplicationOwners
  "/{tenantID}/applications/{applicationObjectId}/$links/owners/{ownerObjectId}":
    delete:
      description: Remove a member from owners.
      operationId: Applications_RemoveOwner
      parameters:
        - description: The object ID of the application from which to remove the owner.
          in: path
          name: applicationObjectId
          required: true
          schema:
            type: string
        - description: Owner object id
          in: path
          name: ownerObjectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "204":
          description: No Content. Indicates success. No response body is returned.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - ApplicationOwners
  "/{tenantID}/applications/{applicationObjectId}/keyCredentials":
    get:
      description: Get the keyCredentials associated with an application.
      operationId: Applications_ListKeyCredentials
      parameters:
        - description: Application object ID.
          in: path
          name: applicationObjectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/KeyCredentialListResult"
            text/json:
              schema:
                $ref: "#/components/schemas/KeyCredentialListResult"
          description: OK. The operation was successful.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - ApplicationKeyCredentials
      x-ms-pageable:
        nextLinkName:
          $ref: "#/paths/~1{tenantID}~1domains/get/x-ms-pageable/nextLinkName"
    patch:
      description: Update the keyCredentials associated with an application.
      operationId: Applications_UpdateKeyCredentials
      parameters:
        - description: Application object ID.
          in: path
          name: applicationObjectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/KeyCredentialsUpdateParameters"
          text/json:
            schema:
              $ref: "#/components/schemas/KeyCredentialsUpdateParameters"
        description: Parameters to update the keyCredentials of an existing application.
        required: true
      responses:
        "204":
          description: No Content
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - ApplicationKeyCredentials
  "/{tenantID}/applications/{applicationObjectId}/owners":
    get:
      description: The owners are a set of non-admin users who are allowed to modify
        this object.
      operationId: Applications_ListOwners
      parameters:
        - description: The object ID of the application for which to get owners.
          in: path
          name: applicationObjectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DirectoryObjectListResult"
            text/json:
              schema:
                $ref: "#/components/schemas/DirectoryObjectListResult"
          description: OK. The operation was successful.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      summary: Directory objects that are owners of the application.
      tags:
        - ApplicationOwners
      x-ms-pageable:
        nextLinkName: odata.nextLink
  "/{tenantID}/applications/{applicationObjectId}/passwordCredentials":
    get:
      description: Get the passwordCredentials associated with an application.
      operationId: Applications_ListPasswordCredentials
      parameters:
        - description: Application object ID.
          in: path
          name: applicationObjectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PasswordCredentialListResult"
            text/json:
              schema:
                $ref: "#/components/schemas/PasswordCredentialListResult"
          description: OK. The operation was successful.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - ApplicationPasswordCredentials
      x-ms-pageable:
        nextLinkName:
          $ref: "#/paths/~1{tenantID}~1domains/get/x-ms-pageable/nextLinkName"
    patch:
      description: Update passwordCredentials associated with an application.
      operationId: Applications_UpdatePasswordCredentials
      parameters:
        - description: Application object ID.
          in: path
          name: applicationObjectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PasswordCredentialsUpdateParameters"
          text/json:
            schema:
              $ref: "#/components/schemas/PasswordCredentialsUpdateParameters"
        description: Parameters to update passwordCredentials of an existing application.
        required: true
      responses:
        "204":
          description: No Content
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - ApplicationPasswordCredentials
  "/{tenantID}/deletedApplications":
    get:
      description: Gets a list of deleted applications in the directory.
      operationId: DeletedApplications_List
      parameters:
        - description: The filter to apply to the operation.
          in: query
          name: $filter
          required: false
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApplicationListResult"
            text/json:
              schema:
                $ref: "#/components/schemas/ApplicationListResult"
          description: The applications were retrieved successfully.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - deletedApplications
      x-ms-pageable:
        nextLinkName: odata.nextLink
        operationName: DeletedApplications_ListNext
  "/{tenantID}/deletedApplications/{applicationObjectId}":
    delete:
      description: Hard-delete an application.
      operationId: DeletedApplications_HardDelete
      parameters:
        - description: Application object ID.
          in: path
          name: applicationObjectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "204":
          description: No Content
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - Application
  "/{tenantID}/deletedApplications/{objectId}/restore":
    post:
      description: Restores the deleted application in the directory.
      operationId: DeletedApplications_Restore
      parameters:
        - description: Application object ID.
          in: path
          name: objectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Application"
            text/json:
              schema:
                $ref: "#/components/schemas/Application"
          description: The application was restored successfully.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - deletedApplications
  "/{tenantID}/domains":
    get:
      description: Gets a list of domains for the current tenant.
      operationId: Domains_List
      parameters:
        - description: The filter to apply to the operation.
          in: query
          name: $filter
          required: false
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DomainListResult"
            text/json:
              schema:
                $ref: "#/components/schemas/DomainListResult"
          description: OK. The operation was successful.
      tags:
        - Domain
      x-ms-odata: "#/components/schemas/User"
      x-ms-pageable:
        nextLinkName: {}
  "/{tenantID}/domains/{domainName}":
    get:
      description: Gets a specific domain in the current tenant.
      operationId: Domains_Get
      parameters:
        - description: name of the domain.
          in: path
          name: domainName
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Domain"
            text/json:
              schema:
                $ref: "#/components/schemas/Domain"
          description: OK. The operation was successful.
      tags:
        - Domain
  "/{tenantID}/getObjectsByObjectIds":
    post:
      description: Gets the directory objects specified in a list of object IDs. You
        can also specify which resource collections (users, groups, etc.) should
        be searched by specifying the optional types parameter.
      operationId: Objects_GetObjectsByObjectIds
      parameters:
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/GetObjectsParameters"
          text/json:
            schema:
              $ref: "#/components/schemas/GetObjectsParameters"
        description: Objects filtering parameters.
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DirectoryObjectListResult"
            text/json:
              schema:
                $ref: "#/components/schemas/DirectoryObjectListResult"
          description: OK. The operation was successful.
      tags:
        - Objects
      x-ms-pageable:
        nextLinkName: odata.nextLink
        operationName: Objects_GetObjectsByObjectIdsNext
  "/{tenantID}/groups":
    get:
      description: Gets list of groups for the current tenant.
      operationId: Groups_List
      parameters:
        - description: The filter to apply to the operation.
          in: query
          name: $filter
          required: false
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GroupListResult"
            text/json:
              schema:
                $ref: "#/components/schemas/GroupListResult"
          description: OK. The operation was successful.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - Group
      x-ms-odata: "#/components/schemas/ADGroup"
      x-ms-pageable:
        nextLinkName: odata.nextLink
        operationName: Groups_ListNext
    post:
      description: Create a group in the directory.
      operationId: Groups_Create
      parameters:
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/GroupCreateParameters"
          text/json:
            schema:
              $ref: "#/components/schemas/GroupCreateParameters"
        description: The parameters for the group to create.
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ADGroup"
            text/json:
              schema:
                $ref: "#/components/schemas/ADGroup"
          description: Created
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - Group
  "/{tenantID}/groups/{groupObjectId}/$links/members":
    post:
      description: Add a member to a group.
      operationId: Groups_AddMember
      parameters:
        - description: The object ID of the group to which to add the member.
          in: path
          name: groupObjectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/GroupAddMemberParameters"
          text/json:
            schema:
              $ref: "#/components/schemas/GroupAddMemberParameters"
        description: The URL of the member object, such as
          https://graph.windows.net/0b1f9851-1bf0-433f-aec3-cb9272f093dc/directoryObjects/f260bbc4-c254-447b-94cf-293b5ec434dd.
        required: true
      responses:
        "204":
          description: No Content. Indicates success. No response body is returned.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - Group
  "/{tenantID}/groups/{groupObjectId}/$links/members/{memberObjectId}":
    delete:
      description: Remove a member from a group.
      operationId: Groups_RemoveMember
      parameters:
        - description: The object ID of the group from which to remove the member.
          in: path
          name: groupObjectId
          required: true
          schema:
            type: string
        - description: Member object id
          in: path
          name: memberObjectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "204":
          description: No Content. Indicates success. No response body is returned.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - Group
  "/{tenantID}/groups/{objectId}":
    delete:
      description: Delete a group from the directory.
      operationId: Groups_Delete
      parameters:
        - description: The object ID of the group to delete.
          in: path
          name: objectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "204":
          description: No Content
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - Group
    get:
      description: Gets group information from the directory.
      operationId: Groups_Get
      parameters:
        - description: The object ID of the user for which to get group information.
          in: path
          name: objectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ADGroup"
            text/json:
              schema:
                $ref: "#/components/schemas/ADGroup"
          description: OK. The operation was successful.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - Group
  "/{tenantID}/groups/{objectId}/$links/owners":
    post:
      description: Add an owner to a group.
      operationId: Groups_AddOwner
      parameters:
        - description: The object ID of the application to which to add the owner.
          in: path
          name: objectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      requestBody:
        $ref: "#/components/requestBodies/AddOwnerParameters"
      responses:
        "204":
          description: No Content. Indicates success. No response body is returned.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - GroupsOwners
  "/{tenantID}/groups/{objectId}/$links/owners/{ownerObjectId}":
    delete:
      description: Remove a member from owners.
      operationId: Groups_RemoveOwner
      parameters:
        - description: The object ID of the group from which to remove the owner.
          in: path
          name: objectId
          required: true
          schema:
            type: string
        - description: Owner object id
          in: path
          name: ownerObjectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "204":
          description: No Content. Indicates success. No response body is returned.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - GroupsOwners
  "/{tenantID}/groups/{objectId}/getMemberGroups":
    post:
      description: Gets a collection of object IDs of groups of which the specified
        group is a member.
      operationId: Groups_GetMemberGroups
      parameters:
        - description: The object ID of the group for which to get group membership.
          in: path
          name: objectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/GroupGetMemberGroupsParameters"
          text/json:
            schema:
              $ref: "#/components/schemas/GroupGetMemberGroupsParameters"
        description: Group filtering parameters.
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GroupGetMemberGroupsResult"
            text/json:
              schema:
                $ref: "#/components/schemas/GroupGetMemberGroupsResult"
          description: OK. The operation was successful.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - Group
      x-ms-pageable:
        nextLinkName:
          $ref: "#/paths/~1{tenantID}~1domains/get/x-ms-pageable/nextLinkName"
  "/{tenantID}/groups/{objectId}/members":
    get:
      description: Gets the members of a group.
      operationId: Groups_GetGroupMembers
      parameters:
        - description: The object ID of the group whose members should be retrieved.
          in: path
          name: objectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DirectoryObjectListResult"
            text/json:
              schema:
                $ref: "#/components/schemas/DirectoryObjectListResult"
          description: OK. The operation was successful.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - Group
      x-ms-pageable:
        nextLinkName: odata.nextLink
        operationName: Groups_GetGroupMembersNext
  "/{tenantID}/groups/{objectId}/owners":
    get:
      description: The owners are a set of non-admin users who are allowed to modify
        this object.
      operationId: Groups_ListOwners
      parameters:
        - description: The object ID of the group for which to get owners.
          in: path
          name: objectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DirectoryObjectListResult"
            text/json:
              schema:
                $ref: "#/components/schemas/DirectoryObjectListResult"
          description: OK. The operation was successful.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      summary: Directory objects that are owners of the group.
      tags:
        - GroupOwners
      x-ms-pageable:
        nextLinkName: odata.nextLink
  "/{tenantID}/isMemberOf":
    post:
      description: Checks whether the specified user, group, contact, or service
        principal is a direct or transitive member of the specified group.
      operationId: Groups_IsMemberOf
      parameters:
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CheckGroupMembershipParameters"
          text/json:
            schema:
              $ref: "#/components/schemas/CheckGroupMembershipParameters"
        description: The check group membership parameters.
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CheckGroupMembershipResult"
            text/json:
              schema:
                $ref: "#/components/schemas/CheckGroupMembershipResult"
          description: OK. Indicates success. Returns true if the user, contact, group, or
            service principal is a direct or a transitive member of the
            specified group; otherwise, false.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - Group
  "/{tenantID}/me":
    get:
      description: Gets the details for the currently logged-in user.
      operationId: SignedInUser_Get
      parameters:
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/User"
            text/json:
              schema:
                $ref: "#/components/schemas/User"
          description: OK. The operation was successful.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - SignedInUser
  "/{tenantID}/me/ownedObjects":
    get:
      description: Get the list of directory objects that are owned by the user.
      operationId: SignedInUser_ListOwnedObjects
      parameters:
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DirectoryObjectListResult"
            text/json:
              schema:
                $ref: "#/components/schemas/DirectoryObjectListResult"
          description: OK. The operation was successful.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - SignedInUser
      x-ms-pageable:
        nextLinkName: odata.nextLink
        operationName: SignedInUser_ListOwnedObjectsNext
  "/{tenantID}/oauth2PermissionGrants":
    get:
      description: Queries OAuth2 permissions grants for the relevant SP ObjectId of an app.
      operationId: OAuth2PermissionGrant_List
      parameters:
        - description: This is the Service Principal ObjectId associated with the app
          example: clientId+eq+'61ed44c3-5a1d-4639-a215-07f25129c6c3
          in: query
          name: $filter
          required: false
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OAuth2PermissionGrantListResult"
          description: OK. The operation was successful.
      tags:
        - OAuth2PermissionGrant_List
      x-ms-pageable:
        nextLinkName: odata.nextLink
        operationName: OAuth2PermissionGrant_ListNext
    post:
      description: Grants OAuth2 permissions for the relevant resource Ids of an app.
      operationId: OAuth2PermissionGrant_Create
      parameters:
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/OAuth2PermissionGrant"
        description: The relevant app Service Principal Object Id and the Service
          Principal Object Id you want to grant.
        x-examples:
          application/json: |-
            {
            	"odata.type": "Microsoft.DirectoryServices.OAuth2PermissionGrant",
            	"clientId": "39afbaa2-4a5c-4f5b-9ee3-2c83f09bbc87", 
            	"consentType": "AllPrincipals",
            	"principalId": null,
            	"resourceId": "d3247842-c517-4520-80a7-332690ae2fe4",
            	"scope": "user_impersonation",
                "startTime": "0001-01-01T00:00:00",
                "expiryTime": "9000-01-01T00:00:00"
            }
          description: These are the values required to grant permission to a resourceId
            for an app, only one operation is allowed per request
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OAuth2PermissionGrant"
          description: OK. The operation was successful.
      tags:
        - OAuth2PermissionGrant_Create
  "/{tenantID}/oauth2PermissionGrants/{objectId}":
    delete:
      description: Delete a OAuth2 permission grant for the relevant resource Ids of an app.
      operationId: OAuth2PermissionGrant_Delete
      parameters:
        - description: The object ID of a permission grant.
          in: path
          name: objectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "204":
          description: No Content
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - OAuth2PermissionGrant_delete
  "/{tenantID}/servicePrincipals":
    get:
      description: Gets a list of service principals from the current tenant.
      operationId: ServicePrincipals_List
      parameters:
        - description: The filter to apply to the operation.
          in: query
          name: $filter
          required: false
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServicePrincipalListResult"
            text/json:
              schema:
                $ref: "#/components/schemas/ServicePrincipalListResult"
          description: OK. The operation was successful.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - ServicePrincipal
      x-ms-odata: "#/components/schemas/ServicePrincipal"
      x-ms-pageable:
        nextLinkName: odata.nextLink
        operationName: ServicePrincipals_ListNext
    post:
      description: Creates a service principal in the directory.
      operationId: ServicePrincipals_Create
      parameters:
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ServicePrincipalCreateParameters"
          text/json:
            schema:
              $ref: "#/components/schemas/ServicePrincipalCreateParameters"
        description: Parameters to create a service principal.
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServicePrincipal"
            text/json:
              schema:
                $ref: "#/components/schemas/ServicePrincipal"
          description: The service principal was created successfully.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - ServicePrincipal
  "/{tenantID}/servicePrincipals/{objectId}":
    delete:
      description: Deletes a service principal from the directory.
      operationId: ServicePrincipals_Delete
      parameters:
        - description: The object ID of the service principal to delete.
          in: path
          name: objectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "204":
          description: No Content
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - ServicePrincipal
    get:
      description: Gets service principal information from the directory. Query by
        objectId or pass a filter to query by appId
      operationId: ServicePrincipals_Get
      parameters:
        - description: The object ID of the service principal to get.
          in: path
          name: objectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServicePrincipal"
            text/json:
              schema:
                $ref: "#/components/schemas/ServicePrincipal"
          description: OK. The operation was successful.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - ServicePrincipal
    patch:
      description: Updates a service principal in the directory.
      operationId: ServicePrincipals_Update
      parameters:
        - description: The object ID of the service principal to delete.
          in: path
          name: objectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ServicePrincipalUpdateParameters"
          text/json:
            schema:
              $ref: "#/components/schemas/ServicePrincipalUpdateParameters"
        description: Parameters to update a service principal.
        required: true
      responses:
        "204":
          description: No Content
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - ServicePrincipal
  "/{tenantID}/servicePrincipals/{objectId}/$links/owners":
    post:
      description: Add an owner to a service principal.
      operationId: ServicePrincipals_AddOwner
      parameters:
        - description: The object ID of the service principal to which to add the owner.
          in: path
          name: objectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      requestBody:
        $ref: "#/components/requestBodies/AddOwnerParameters"
      responses:
        "204":
          description: No Content. Indicates success. No response body is returned.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - ServicePrincipalOwners
  "/{tenantID}/servicePrincipals/{objectId}/$links/owners/{ownerObjectId}":
    delete:
      description: Remove a member from owners.
      operationId: ServicePrincipals_RemoveOwner
      parameters:
        - description: The object ID of the service principal from which to remove the
            owner.
          in: path
          name: objectId
          required: true
          schema:
            type: string
        - description: Owner object id
          in: path
          name: ownerObjectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "204":
          description: No Content. Indicates success. No response body is returned.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - ServicePrincipalOwners
  "/{tenantID}/servicePrincipals/{objectId}/appRoleAssignedTo":
    get:
      operationId: ServicePrincipals_ListAppRoleAssignedTo
      parameters:
        - description: The object ID of the service principal for which to get owners.
          in: path
          name: objectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AppRoleAssignmentListResult"
            text/json:
              schema:
                $ref: "#/components/schemas/AppRoleAssignmentListResult"
          description: OK. The operation was successful.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      summary: Principals (users, groups, and service principals) that are assigned to
        this service principal.
      tags:
        - ServicePrincipalAppRoleAssignedTo
      x-ms-pageable:
        nextLinkName: odata.nextLink
  "/{tenantID}/servicePrincipals/{objectId}/appRoleAssignments":
    get:
      operationId: ServicePrincipals_ListAppRoleAssignments
      parameters:
        - description: The object ID of the service principal for which to get owners.
          in: path
          name: objectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AppRoleAssignmentListResult"
            text/json:
              schema:
                $ref: "#/components/schemas/AppRoleAssignmentListResult"
          description: OK. The operation was successful.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      summary: Applications that the service principal is assigned to.
      tags:
        - ServicePrincipalAppRoleAssignments
      x-ms-pageable:
        nextLinkName: odata.nextLink
  "/{tenantID}/servicePrincipals/{objectId}/keyCredentials":
    get:
      description: Get the keyCredentials associated with the specified service principal.
      operationId: ServicePrincipals_ListKeyCredentials
      parameters:
        - description: The object ID of the service principal for which to get
            keyCredentials.
          in: path
          name: objectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/KeyCredentialListResult"
            text/json:
              schema:
                $ref: "#/components/schemas/KeyCredentialListResult"
          description: OK. The operation was successful.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - ServicePrincipalKeyCredentials
      x-ms-pageable:
        nextLinkName:
          $ref: "#/paths/~1{tenantID}~1domains/get/x-ms-pageable/nextLinkName"
    patch:
      description: Update the keyCredentials associated with a service principal.
      operationId: ServicePrincipals_UpdateKeyCredentials
      parameters:
        - description: The object ID for which to get service principal information.
          in: path
          name: objectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/KeyCredentialsUpdateParameters"
          text/json:
            schema:
              $ref: "#/components/schemas/KeyCredentialsUpdateParameters"
        description: Parameters to update the keyCredentials of an existing service
          principal.
        required: true
      responses:
        "204":
          description: No Content
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - ServicePrincipalKeyCredentials
  "/{tenantID}/servicePrincipals/{objectId}/owners":
    get:
      description: The owners are a set of non-admin users who are allowed to modify
        this object.
      operationId: ServicePrincipals_ListOwners
      parameters:
        - description: The object ID of the service principal for which to get owners.
          in: path
          name: objectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DirectoryObjectListResult"
            text/json:
              schema:
                $ref: "#/components/schemas/DirectoryObjectListResult"
          description: OK. The operation was successful.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      summary: Directory objects that are owners of this service principal.
      tags:
        - ServicePrincipalOwners
      x-ms-pageable:
        nextLinkName: odata.nextLink
  "/{tenantID}/servicePrincipals/{objectId}/passwordCredentials":
    get:
      description: Gets the passwordCredentials associated with a service principal.
      operationId: ServicePrincipals_ListPasswordCredentials
      parameters:
        - description: The object ID of the service principal.
          in: path
          name: objectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PasswordCredentialListResult"
            text/json:
              schema:
                $ref: "#/components/schemas/PasswordCredentialListResult"
          description: OK. The operation was successful.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - ServicePrincipalPasswordCredentials
      x-ms-pageable:
        nextLinkName:
          $ref: "#/paths/~1{tenantID}~1domains/get/x-ms-pageable/nextLinkName"
    patch:
      description: Updates the passwordCredentials associated with a service principal.
      operationId: ServicePrincipals_UpdatePasswordCredentials
      parameters:
        - description: The object ID of the service principal.
          in: path
          name: objectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PasswordCredentialsUpdateParameters"
          text/json:
            schema:
              $ref: "#/components/schemas/PasswordCredentialsUpdateParameters"
        description: Parameters to update the passwordCredentials of an existing service
          principal.
        required: true
      responses:
        "204":
          description: No Content
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - ServicePrincipalPasswordCredentials
  "/{tenantID}/servicePrincipalsByAppId/{applicationID}/objectId":
    get:
      description: Gets an object id for a given application id from the current tenant.
      operationId: Applications_GetServicePrincipalsIdByAppId
      parameters:
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
        - description: The application ID.
          in: path
          name: applicationID
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServicePrincipalObjectResult"
            text/json:
              schema:
                $ref: "#/components/schemas/ServicePrincipalObjectResult"
          description: OK. The operation was successful.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - ServicePrincipalsByAppId
  "/{tenantID}/users":
    get:
      description: Gets list of users for the current tenant.
      operationId: Users_List
      parameters:
        - description: The filter to apply to the operation.
          in: query
          name: $filter
          required: false
          schema:
            type: string
        - description: The expand value for the operation result.
          in: query
          name: $expand
          required: false
          schema:
            type: string
        - $ref: "#/components/parameters/top"
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UserListResult"
            text/json:
              schema:
                $ref: "#/components/schemas/UserListResult"
          description: OK. The operation was successful.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - User
      x-ms-odata: "#/components/schemas/User"
      x-ms-pageable:
        nextLinkName: odata.nextLink
        operationName: Users_ListNext
    post:
      description: Create a new user.
      operationId: Users_Create
      parameters:
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UserCreateParameters"
          text/json:
            schema:
              $ref: "#/components/schemas/UserCreateParameters"
        description: Parameters to create a user.
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/User"
            text/json:
              schema:
                $ref: "#/components/schemas/User"
          description: Created. Indicates success. The new user is returned in the
            response body.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - User
  "/{tenantID}/users/{objectId}/getMemberGroups":
    post:
      description: Gets a collection that contains the object IDs of the groups of
        which the user is a member.
      operationId: Users_GetMemberGroups
      parameters:
        - description: The object ID of the user for which to get group membership.
          in: path
          name: objectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UserGetMemberGroupsParameters"
          text/json:
            schema:
              $ref: "#/components/schemas/UserGetMemberGroupsParameters"
        description: User filtering parameters.
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UserGetMemberGroupsResult"
            text/json:
              schema:
                $ref: "#/components/schemas/UserGetMemberGroupsResult"
          description: OK. The operation was successful.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - User
      x-ms-pageable:
        nextLinkName:
          $ref: "#/paths/~1{tenantID}~1domains/get/x-ms-pageable/nextLinkName"
  "/{tenantID}/users/{upnOrObjectId}":
    delete:
      description: Delete a user.
      operationId: Users_Delete
      parameters:
        - description: The object ID or principal name of the user to delete.
          in: path
          name: upnOrObjectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "204":
          description: No Content
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - User
    get:
      description: Gets user information from the directory.
      operationId: Users_Get
      parameters:
        - description: The object ID or principal name of the user for which to get
            information.
          in: path
          name: upnOrObjectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/User"
            text/json:
              schema:
                $ref: "#/components/schemas/User"
          description: OK. The operation was successful.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - User
    patch:
      description: Updates a user.
      operationId: Users_Update
      parameters:
        - description: The object ID or principal name of the user to update.
          in: path
          name: upnOrObjectId
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UserUpdateParameters"
          text/json:
            schema:
              $ref: "#/components/schemas/UserUpdateParameters"
        description: Parameters to update an existing user.
        required: true
      responses:
        "204":
          description: No Content.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - User
components:
  parameters:
    ApiVersionParameter:
      description: Client API version.
      in: query
      name: api-version
      required: true
      schema:
        type: string
    tenantIDInPath:
      description: The tenant ID.
      in: path
      name: tenantID
      required: true
      schema:
        type: string
      x-ms-parameter-location: client
    top:
      description: (Optional) Set the maximum number of results per response.
      in: query
      name: $top
      required: false
      schema:
        default: 100
        maximum: 999
        minimum: 1
        type: integer
      x-ms-parameter-location: method
  requestBodies:
    AddOwnerParameters:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/AddOwnerParameters"
        text/json:
          schema:
            $ref: "#/components/schemas/AddOwnerParameters"
      description: The URL of the owner object, such as
        https://graph.windows.net/0b1f9851-1bf0-433f-aec3-cb9272f093dc/directoryObjects/f260bbc4-c254-447b-94cf-293b5ec434dd.
      required: true
  schemas:
    ADGroup:
      allOf:
        - $ref: "#/components/schemas/DirectoryObject"
      description: Active Directory group information.
      properties:
        displayName:
          description: The display name of the group.
          type: string
        mail:
          description: The primary email address of the group.
          type: string
        mailEnabled:
          description: Whether the group is mail-enabled. Must be false. This is because
            only pure security groups can be created using the Graph API.
          type: boolean
        mailNickname:
          description: "The mail alias for the group. "
          type: string
        securityEnabled:
          description: Whether the group is security-enable.
          type: boolean
      type: object
      x-ms-discriminator-value: Group
    AddOwnerParameters:
      additionalProperties:
        type: object
      description: Request parameters for adding a owner to an application.
      properties:
        url:
          description: A owner object URL, such as
            "https://graph.windows.net/0b1f9851-1bf0-433f-aec3-cb9272f093dc/directoryObjects/f260bbc4-c254-447b-94cf-293b5ec434dd",
            where "0b1f9851-1bf0-433f-aec3-cb9272f093dc" is the tenantId and
            "f260bbc4-c254-447b-94cf-293b5ec434dd" is the objectId of the owner
            (user, application, servicePrincipal, group) to be added.
          type: string
      required:
        - url
      type: object
    AppRole:
      properties:
        allowedMemberTypes:
          description: "Specifies whether this app role definition can be assigned to
            users and groups by setting to 'User', or to other applications
            (that are accessing this application in daemon service scenarios) by
            setting to 'Application', or to both. "
          items:
            type: string
          type: array
        description:
          description: Permission help text that appears in the admin app assignment and
            consent experiences.
          type: string
        displayName:
          description: Display name for the permission that appears in the admin consent
            and app assignment experiences.
          type: string
        id:
          description: Unique role identifier inside the appRoles collection.
          type: string
        isEnabled:
          description: When creating or updating a role definition, this must be set to
            true (which is the default). To delete a role, this must first be
            set to false. At that point, in a subsequent call, this role may be
            removed.
          type: boolean
        value:
          description: Specifies the value of the roles claim that the application should
            expect in the authentication and access tokens.
          type: string
      type: object
    AppRoleAssignment:
      allOf:
        - $ref: "#/components/schemas/DirectoryObject"
      description: AppRoleAssignment information.
      properties:
        id:
          description: The role id that was assigned to the principal. This role must be
            declared by the target resource application resourceId in its
            appRoles property.
          type: string
        principalDisplayName:
          description: The display name of the principal that was granted the access.
          type: string
        principalId:
          description: The unique identifier (objectId) for the principal being granted
            the access.
          type: string
        principalType:
          description: The type of principal. This can either be "User", "Group" or
            "ServicePrincipal".
          type: string
        resourceDisplayName:
          description: The display name of the resource to which the assignment was made.
          type: string
        resourceId:
          description: The unique identifier (objectId) for the target resource (service
            principal) for which the assignment was made.
          type: string
      type: object
      x-ms-discriminator-value: AppRoleAssignment
    AppRoleAssignmentListResult:
      description: AppRoleAssignment list operation result.
      properties:
        odata.nextLink:
          description: The URL to get the next set of results.
          type: string
        value:
          description: A collection of AppRoleAssignment.
          items:
            $ref: "#/components/schemas/AppRoleAssignment"
          type: array
      type: object
    Application:
      allOf:
        - $ref: "#/components/schemas/DirectoryObject"
      description: Active Directory application information.
      properties:
        allowGuestsSignIn:
          description: A property on the application to indicate if the application
            accepts other IDPs or not or partially accepts.
          type: boolean
        allowPassthroughUsers:
          description: Indicates that the application supports pass through users who have
            no presence in the resource tenant.
          type: boolean
        appId:
          description: The application ID.
          type: string
        appLogoUrl:
          description: The url for the application logo image stored in a CDN.
          type: string
        appPermissions:
          description: The application permissions.
          items:
            type: string
          type: array
        appRoles:
          description: The collection of application roles that an application may
            declare. These roles can be assigned to users, groups or service
            principals.
          items:
            $ref: "#/components/schemas/AppRole"
          type: array
        availableToOtherTenants:
          description: Whether the application is available to other tenants.
          type: boolean
        displayName:
          description: The display name of the application.
          type: string
        errorUrl:
          description: A URL provided by the author of the application to report errors
            when using the application.
          type: string
        groupMembershipClaims:
          $ref: "#/components/schemas/GroupMembershipClaims"
        homepage:
          description: The home page of the application.
          type: string
        identifierUris:
          description: A collection of URIs for the application.
          items:
            type: string
          type: array
        informationalUrls:
          $ref: "#/components/schemas/InformationalUrl"
        isDeviceOnlyAuthSupported:
          description: Specifies whether this application supports device authentication
            without a user. The default is false.
          type: boolean
        keyCredentials:
          description: A collection of KeyCredential objects.
          items:
            $ref: "#/components/schemas/KeyCredential"
          type: array
        knownClientApplications:
          description: Client applications that are tied to this resource application.
            Consent to any of the known client applications will result in
            implicit consent to the resource application through a combined
            consent dialog (showing the OAuth permission scopes required by the
            client and the resource).
          items:
            type: string
          type: array
        logoutUrl:
          description: the url of the logout page
          type: string
        oauth2AllowImplicitFlow:
          description: Whether to allow implicit grant flow for OAuth2
          type: boolean
        oauth2AllowUrlPathMatching:
          description: Specifies whether during a token Request Azure AD will allow path
            matching of the redirect URI against the applications collection of
            replyURLs. The default is false.
          type: boolean
        oauth2Permissions:
          description: The collection of OAuth 2.0 permission scopes that the web API
            (resource) application exposes to client applications. These
            permission scopes may be granted to client applications during
            consent.
          items:
            $ref: "#/components/schemas/OAuth2Permission"
          type: array
        oauth2RequirePostResponse:
          description: Specifies whether, as part of OAuth 2.0 token requests, Azure AD
            will allow POST requests, as opposed to GET requests. The default is
            false, which specifies that only GET requests will be allowed.
          type: boolean
        optionalClaims:
          $ref: "#/components/schemas/OptionalClaims"
        orgRestrictions:
          description: A list of tenants allowed to access application.
          items:
            type: string
          type: array
        passwordCredentials:
          description: A collection of PasswordCredential objects
          items:
            $ref: "#/components/schemas/PasswordCredential"
          type: array
        preAuthorizedApplications:
          description: list of pre-authorized applications.
          items:
            $ref: "#/components/schemas/PreAuthorizedApplication"
          type: array
        publicClient:
          description: Specifies whether this application is a public client (such as an
            installed application running on a mobile device). Default is false.
          type: boolean
        publisherDomain:
          description: Reliable domain which can be used to identify an application.
          type: string
        replyUrls:
          description: A collection of reply URLs for the application.
          items:
            type: string
          type: array
        requiredResourceAccess:
          description: Specifies resources that this application requires access to and
            the set of OAuth permission scopes and application roles that it
            needs under each of those resources. This pre-configuration of
            required resource access drives the consent experience.
          items:
            $ref: "#/components/schemas/RequiredResourceAccess"
          type: array
        samlMetadataUrl:
          description: The URL to the SAML metadata for the application.
          type: string
        signInAudience:
          description: Audience for signing in to the application (AzureADMyOrganization,
            AzureADAllOrganizations, AzureADAndMicrosoftAccounts).
          type: string
        wwwHomepage:
          description: The primary Web page.
          type: string
      type: object
    ApplicationBase:
      description: Active Directive Application common properties shared among GET,
        POST and PATCH
      properties:
        allowGuestsSignIn:
          description: A property on the application to indicate if the application
            accepts other IDPs or not or partially accepts.
          type: boolean
        allowPassthroughUsers:
          description: Indicates that the application supports pass through users who have
            no presence in the resource tenant.
          type: boolean
        appLogoUrl:
          description: The url for the application logo image stored in a CDN.
          type: string
        appPermissions:
          description: The application permissions.
          items:
            type: string
          type: array
        appRoles:
          description: The collection of application roles that an application may
            declare. These roles can be assigned to users, groups or service
            principals.
          items:
            $ref: "#/components/schemas/AppRole"
          type: array
        availableToOtherTenants:
          description: Whether the application is available to other tenants.
          type: boolean
        errorUrl:
          description: A URL provided by the author of the application to report errors
            when using the application.
          type: string
        groupMembershipClaims:
          $ref: "#/components/schemas/GroupMembershipClaims"
        homepage:
          description: The home page of the application.
          type: string
        informationalUrls:
          $ref: "#/components/schemas/InformationalUrl"
        isDeviceOnlyAuthSupported:
          description: Specifies whether this application supports device authentication
            without a user. The default is false.
          type: boolean
        keyCredentials:
          description: A collection of KeyCredential objects.
          items:
            $ref: "#/components/schemas/KeyCredential"
          type: array
        knownClientApplications:
          description: Client applications that are tied to this resource application.
            Consent to any of the known client applications will result in
            implicit consent to the resource application through a combined
            consent dialog (showing the OAuth permission scopes required by the
            client and the resource).
          items:
            type: string
          type: array
        logoutUrl:
          description: the url of the logout page
          type: string
        oauth2AllowImplicitFlow:
          description: Whether to allow implicit grant flow for OAuth2
          type: boolean
        oauth2AllowUrlPathMatching:
          description: Specifies whether during a token Request Azure AD will allow path
            matching of the redirect URI against the applications collection of
            replyURLs. The default is false.
          type: boolean
        oauth2Permissions:
          description: The collection of OAuth 2.0 permission scopes that the web API
            (resource) application exposes to client applications. These
            permission scopes may be granted to client applications during
            consent.
          items:
            $ref: "#/components/schemas/OAuth2Permission"
          type: array
        oauth2RequirePostResponse:
          description: Specifies whether, as part of OAuth 2.0 token requests, Azure AD
            will allow POST requests, as opposed to GET requests. The default is
            false, which specifies that only GET requests will be allowed.
          type: boolean
        optionalClaims:
          $ref: "#/components/schemas/OptionalClaims"
        orgRestrictions:
          description: A list of tenants allowed to access application.
          items:
            type: string
          type: array
        passwordCredentials:
          description: A collection of PasswordCredential objects
          items:
            $ref: "#/components/schemas/PasswordCredential"
          type: array
        preAuthorizedApplications:
          description: list of pre-authorized applications.
          items:
            $ref: "#/components/schemas/PreAuthorizedApplication"
          type: array
        publicClient:
          description: Specifies whether this application is a public client (such as an
            installed application running on a mobile device). Default is false.
          type: boolean
        publisherDomain:
          description: Reliable domain which can be used to identify an application.
          type: string
        replyUrls:
          description: A collection of reply URLs for the application.
          items:
            type: string
          type: array
        requiredResourceAccess:
          description: Specifies resources that this application requires access to and
            the set of OAuth permission scopes and application roles that it
            needs under each of those resources. This pre-configuration of
            required resource access drives the consent experience.
          items:
            $ref: "#/components/schemas/RequiredResourceAccess"
          type: array
        samlMetadataUrl:
          description: The URL to the SAML metadata for the application.
          type: string
        signInAudience:
          description: Audience for signing in to the application (AzureADMyOrganization,
            AzureADAllOrganizations, AzureADAndMicrosoftAccounts).
          type: string
        wwwHomepage:
          description: The primary Web page.
          type: string
      type: object
    ApplicationCreateParameters:
      allOf:
        - $ref: "#/components/schemas/ApplicationBase"
      description: Request parameters for creating a new application.
      properties:
        displayName:
          description: The display name of the application.
          type: string
        identifierUris:
          description: A collection of URIs for the application.
          items:
            type: string
          type: array
      required:
        - displayName
      type: object
    ApplicationListResult:
      description: Application list operation result.
      properties:
        odata.nextLink:
          description: The URL to get the next set of results.
          type: string
        value:
          description: A collection of applications.
          items:
            $ref: "#/components/schemas/Application"
          type: array
      type: object
    ApplicationUpdateParameters:
      allOf:
        - $ref: "#/components/schemas/ApplicationBase"
      description: Request parameters for updating a new application.
      properties:
        displayName:
          description: The display name of the application.
          type: string
        identifierUris:
          description: A collection of URIs for the application.
          items:
            type: string
          type: array
      type: object
    CheckGroupMembershipParameters:
      additionalProperties:
        type: object
      description: Request parameters for IsMemberOf API call.
      properties:
        groupId:
          description: The object ID of the group to check.
          type: string
        memberId:
          description: The object ID of the contact, group, user, or service principal to
            check for membership in the specified group.
          type: string
      required:
        - groupId
        - memberId
      type: object
    CheckGroupMembershipResult:
      additionalProperties:
        type: object
      description: Server response for IsMemberOf API call
      properties:
        value:
          description: True if the specified user, group, contact, or service principal
            has either direct or transitive membership in the specified group;
            otherwise, false.
          type: boolean
      type: object
    DirectoryObject:
      additionalProperties:
        type: object
      description: Represents an Azure Active Directory object.
      discriminator:
        propertyName: objectType
      properties:
        deletionTimestamp:
          description: The time at which the directory object was deleted.
          format: date-time
          nullable: true
          readOnly: true
          type: string
        objectId:
          description: The object ID.
          readOnly: true
          type: string
        objectType:
          description: The object type.
          type: string
      required:
        - objectType
      type: object
    DirectoryObjectListResult:
      description: DirectoryObject list operation result.
      properties:
        odata.nextLink:
          description: The URL to get the next set of results.
          type: string
        value:
          description: A collection of DirectoryObject.
          items:
            $ref: "#/components/schemas/DirectoryObject"
          type: array
      type: object
    Domain:
      additionalProperties:
        type: object
      description: Active Directory Domain information.
      properties:
        authenticationType:
          description: the type of the authentication into the domain.
          readOnly: true
          type: string
        isDefault:
          description: if this is the default domain in the tenant.
          readOnly: true
          type: boolean
        isVerified:
          description: if this domain's ownership is verified.
          readOnly: true
          type: boolean
        name:
          description: the domain name.
          type: string
      required:
        - name
      type: object
    DomainListResult:
      description: Server response for Get tenant domains API call.
      properties:
        value:
          description: the list of domains.
          items:
            $ref: "#/components/schemas/Domain"
          type: array
      type: object
    ErrorMessage:
      description: Active Directory error message.
      properties:
        value:
          description: Error message value.
          type: string
          x-ms-client-name: message
      type: object
    GetObjectsParameters:
      additionalProperties:
        type: object
      description: Request parameters for the GetObjectsByObjectIds API.
      properties:
        includeDirectoryObjectReferences:
          description: If true, also searches for object IDs in the partner tenant.
          type: boolean
        objectIds:
          description: The requested object IDs.
          items:
            type: string
          type: array
        types:
          description: The requested object types.
          items:
            type: string
          type: array
      type: object
    GraphError:
      description: Active Directory error information.
      properties:
        odata.error:
          $ref: "#/components/schemas/OdataError"
      type: object
    GroupAddMemberParameters:
      additionalProperties:
        type: object
      description: Request parameters for adding a member to a group.
      properties:
        url:
          description: A member object URL, such as
            "https://graph.windows.net/0b1f9851-1bf0-433f-aec3-cb9272f093dc/directoryObjects/f260bbc4-c254-447b-94cf-293b5ec434dd",
            where "0b1f9851-1bf0-433f-aec3-cb9272f093dc" is the tenantId and
            "f260bbc4-c254-447b-94cf-293b5ec434dd" is the objectId of the member
            (user, application, servicePrincipal, group) to be added.
          type: string
      required:
        - url
      type: object
    GroupCreateParameters:
      additionalProperties:
        type: object
      description: Request parameters for creating a new group.
      properties:
        displayName:
          description: Group display name
          type: string
        mailEnabled:
          description: Whether the group is mail-enabled. Must be false. This is because
            only pure security groups can be created using the Graph API.
          enum:
            - false
          type: boolean
        mailNickname:
          description: Mail nickname
          type: string
        securityEnabled:
          description: Whether the group is a security group. Must be true. This is
            because only pure security groups can be created using the Graph
            API.
          enum:
            - true
          type: boolean
      required:
        - displayName
        - mailEnabled
        - mailNickname
        - securityEnabled
      type: object
    GroupGetMemberGroupsParameters:
      additionalProperties:
        type: object
      description: Request parameters for GetMemberGroups API call.
      properties:
        securityEnabledOnly:
          description: If true, only membership in security-enabled groups should be
            checked. Otherwise, membership in all groups should be checked.
          type: boolean
      required:
        - securityEnabledOnly
      type: object
    GroupGetMemberGroupsResult:
      description: Server response for GetMemberGroups API call.
      properties:
        value:
          description: A collection of group IDs of which the group is a member.
          items:
            type: string
          type: array
      type: object
    GroupListResult:
      description: Server response for Get tenant groups API call
      properties:
        odata.nextLink:
          description: The URL to get the next set of results.
          type: string
        value:
          description: A collection of Active Directory groups.
          items:
            $ref: "#/components/schemas/ADGroup"
          type: array
      type: object
    GroupMembershipClaims:
      description: Configures the groups claim issued in a user or OAuth 2.0 access
        token that the app expects.
      enum:
        - None
        - SecurityGroup
        - All
      type: string
      x-ms-enum:
        modelAsString: true
        name: GroupMembershipClaimTypes
    InformationalUrl:
      description: Represents a group of URIs that provide terms of service,
        marketing, support and privacy policy information about an application.
        The default value for each string is null.
      properties:
        marketing:
          description: The marketing URI
          type: string
        privacy:
          description: The privacy policy URI
          type: string
        support:
          description: The support URI
          type: string
        termsOfService:
          description: The terms of service URI
          type: string
      type: object
    KeyCredential:
      additionalProperties:
        type: object
      description: Active Directory Key Credential information.
      properties:
        customKeyIdentifier:
          description: Custom Key Identifier
          type: string
        endDate:
          description: End date.
          format: date-time
          type: string
        keyId:
          description: Key ID.
          type: string
        startDate:
          description: Start date.
          format: date-time
          type: string
        type:
          description: Type. Acceptable values are 'AsymmetricX509Cert' and 'Symmetric'.
          type: string
        usage:
          description: Usage. Acceptable values are 'Verify' and 'Sign'.
          type: string
        value:
          description: Key value.
          type: string
      type: object
    KeyCredentialListResult:
      description: KeyCredential list operation result.
      properties:
        value:
          description: A collection of KeyCredentials.
          items:
            $ref: "#/components/schemas/KeyCredential"
          type: array
      type: object
    KeyCredentialsUpdateParameters:
      description: Request parameters for a KeyCredentials update operation
      properties:
        value:
          description: A collection of KeyCredentials.
          items:
            $ref: "#/components/schemas/KeyCredential"
          type: array
      required:
        - value
      type: object
    OAuth2Permission:
      description: Represents an OAuth 2.0 delegated permission scope. The specified
        OAuth 2.0 delegated permission scopes may be requested by client
        applications (through the requiredResourceAccess collection on the
        Application object) when calling a resource application. The
        oauth2Permissions property of the ServicePrincipal entity and of the
        Application entity is a collection of OAuth2Permission.
      properties:
        adminConsentDescription:
          description: Permission help text that appears in the admin consent and app
            assignment experiences.
          type: string
        adminConsentDisplayName:
          description: Display name for the permission that appears in the admin consent
            and app assignment experiences.
          type: string
        id:
          description: Unique scope permission identifier inside the oauth2Permissions
            collection.
          type: string
        isEnabled:
          description: "When creating or updating a permission, this property must be set
            to true (which is the default). To delete a permission, this
            property must first be set to false. At that point, in a subsequent
            call, the permission may be removed. "
          type: boolean
        type:
          description: Specifies whether this scope permission can be consented to by an
            end user, or whether it is a tenant-wide permission that must be
            consented to by a Company Administrator. Possible values are "User"
            or "Admin".
          type: string
        userConsentDescription:
          description: Permission help text that appears in the end user consent experience.
          type: string
        userConsentDisplayName:
          description: Display name for the permission that appears in the end user
            consent experience.
          type: string
        value:
          description: The value of the scope claim that the resource application should
            expect in the OAuth 2.0 access token.
          type: string
      type: object
    OAuth2PermissionGrant:
      example:
        clientId: clientId
        consentType: consentType
        expiryTime: expiryTime
        odata.type: odata.type
        principalId: ""
        resourceId: resourceId
        scope: scope
        startTime: startTime
      properties:
        clientId:
          description: The id of the resource's service principal granted consent to
            impersonate the user when accessing the resource (represented by the
            resourceId property).
          type: string
        consentType:
          description: Indicates if consent was provided by the administrator (on behalf
            of the organization) or by an individual.
          enum:
            - AllPrincipals
            - Principal
          type: string
          x-ms-enum:
            modelAsString: true
            name: ConsentType
        expiryTime:
          description: Expiry time for TTL
          type: string
        objectId:
          description: The id of the permission grant
          type: string
        odata.type:
          description: Microsoft.DirectoryServices.OAuth2PermissionGrant
          type: string
        principalId:
          description: When consent type is Principal, this property specifies the id of
            the user that granted consent and applies only for that user.
          type: string
        resourceId:
          description: Object Id of the resource you want to grant
          type: string
        scope:
          description: Specifies the value of the scope claim that the resource
            application should expect in the OAuth 2.0 access token. For
            example, User.Read
          type: string
        startTime:
          description: Start time for TTL
          type: string
    OAuth2PermissionGrantListResult:
      description: Server response for get oauth2 permissions grants
      properties:
        odata.nextLink:
          description: the URL to get the next set of results.
          type: string
        value:
          description: the list of oauth2 permissions grants
          items:
            $ref: "#/components/schemas/OAuth2PermissionGrant"
          type: array
      type: object
    OdataError:
      description: Active Directory OData error information.
      properties:
        code:
          description: Error code.
          type: string
        message:
          $ref: "#/components/schemas/ErrorMessage"
      type: object
    OptionalClaim:
      description: Specifying the claims to be included in a token.
      properties:
        additionalProperties:
          type: object
        essential:
          description: Is this a required claim.
          type: boolean
        name:
          description: Claim name.
          type: string
        source:
          description: Claim source.
          type: string
      type: object
    OptionalClaims:
      description: Specifying the claims to be included in the token.
      properties:
        accessToken:
          description: Optional claims requested to be included in the access token.
          items:
            $ref: "#/components/schemas/OptionalClaim"
          type: array
        idToken:
          description: Optional claims requested to be included in the id token.
          items:
            $ref: "#/components/schemas/OptionalClaim"
          type: array
        samlToken:
          description: Optional claims requested to be included in the saml token.
          items:
            $ref: "#/components/schemas/OptionalClaim"
          type: array
      type: object
    PasswordCredential:
      additionalProperties:
        type: object
      description: Active Directory Password Credential information.
      properties:
        customKeyIdentifier:
          description: Custom Key Identifier
          format: byte
          type: string
        endDate:
          description: End date.
          format: date-time
          type: string
        keyId:
          description: Key ID.
          type: string
        startDate:
          description: Start date.
          format: date-time
          type: string
        value:
          description: Key value.
          type: string
      type: object
    PasswordCredentialListResult:
      description: PasswordCredential list operation result.
      properties:
        value:
          description: A collection of PasswordCredentials.
          items:
            $ref: "#/components/schemas/PasswordCredential"
          type: array
      type: object
    PasswordCredentialsUpdateParameters:
      description: Request parameters for a PasswordCredentials update operation.
      properties:
        value:
          description: A collection of PasswordCredentials.
          items:
            $ref: "#/components/schemas/PasswordCredential"
          type: array
      required:
        - value
      type: object
    PasswordProfile:
      additionalProperties:
        type: object
      description: The password profile associated with a user.
      properties:
        forceChangePasswordNextLogin:
          description: Whether to force a password change on next login.
          type: boolean
        password:
          description: Password
          type: string
      required:
        - password
      type: object
    PreAuthorizedApplication:
      description: Contains information about pre authorized client application.
      properties:
        appId:
          description: Represents the application id.
          type: string
        extensions:
          description: Collection of extensions from the resource application.
          items:
            $ref: "#/components/schemas/PreAuthorizedApplicationExtension"
          type: array
        permissions:
          description: Collection of required app permissions/entitlements from the
            resource application.
          items:
            $ref: "#/components/schemas/PreAuthorizedApplicationPermission"
          type: array
      type: object
    PreAuthorizedApplicationExtension:
      description: Representation of an app PreAuthorizedApplicationExtension required
        by a pre authorized client app.
      properties:
        conditions:
          description: The extension's conditions.
          items:
            type: string
          type: array
      type: object
    PreAuthorizedApplicationPermission:
      description: Contains information about the pre-authorized permissions.
      properties:
        accessGrants:
          description: The list of permissions.
          items:
            type: string
          type: array
        directAccessGrant:
          description: Indicates whether the permission set is DirectAccess or
            impersonation.
          type: boolean
      type: object
    RequiredResourceAccess:
      additionalProperties:
        type: object
      description: Specifies the set of OAuth 2.0 permission scopes and app roles
        under the specified resource that an application requires access to. The
        specified OAuth 2.0 permission scopes may be requested by client
        applications (through the requiredResourceAccess collection) when
        calling a resource application. The requiredResourceAccess property of
        the Application entity is a collection of RequiredResourceAccess.
      properties:
        resourceAccess:
          description: The list of OAuth2.0 permission scopes and app roles that the
            application requires from the specified resource.
          items:
            $ref: "#/components/schemas/ResourceAccess"
          type: array
        resourceAppId:
          description: The unique identifier for the resource that the application
            requires access to. This should be equal to the appId declared on
            the target resource application.
          type: string
      required:
        - resourceAccess
      type: object
    ResourceAccess:
      additionalProperties:
        type: object
      description: Specifies an OAuth 2.0 permission scope or an app role that an
        application requires. The resourceAccess property of the
        RequiredResourceAccess type is a collection of ResourceAccess.
      properties:
        id:
          description: The unique identifier for one of the OAuth2Permission or AppRole
            instances that the resource application exposes.
          type: string
        type:
          description: Specifies whether the id property references an OAuth2Permission or
            an AppRole. Possible values are "scope" or "role".
          type: string
      required:
        - id
      type: object
    ServicePrincipal:
      allOf:
        - $ref: "#/components/schemas/DirectoryObject"
      description: Active Directory service principal information.
      properties:
        accountEnabled:
          description: whether or not the service principal account is enabled
          type: boolean
        alternativeNames:
          description: alternative names
          items:
            type: string
          type: array
        appDisplayName:
          description: The display name exposed by the associated application.
          readOnly: true
          type: string
        appId:
          description: The application ID.
          type: string
        appOwnerTenantId:
          readOnly: true
          type: string
        appRoleAssignmentRequired:
          description: Specifies whether an AppRoleAssignment to a user or group is
            required before Azure AD will issue a user or access token to the
            application.
          type: boolean
        appRoles:
          description: The collection of application roles that an application may
            declare. These roles can be assigned to users, groups or service
            principals.
          items:
            $ref: "#/components/schemas/AppRole"
          type: array
        displayName:
          description: The display name of the service principal.
          type: string
        errorUrl:
          description: A URL provided by the author of the associated application to
            report errors when using the application.
          type: string
        homepage:
          description: The URL to the homepage of the associated application.
          type: string
        keyCredentials:
          description: The collection of key credentials associated with the service
            principal.
          items:
            $ref: "#/components/schemas/KeyCredential"
          type: array
        logoutUrl:
          description: A URL provided by the author of the associated application to logout
          type: string
        oauth2Permissions:
          description: The OAuth 2.0 permissions exposed by the associated application.
          items:
            $ref: "#/components/schemas/OAuth2Permission"
          readOnly: true
          type: array
        passwordCredentials:
          description: The collection of password credentials associated with the service
            principal.
          items:
            $ref: "#/components/schemas/PasswordCredential"
          type: array
        preferredTokenSigningKeyThumbprint:
          description: The thumbprint of preferred certificate to sign the token
          type: string
        publisherName:
          description: The publisher's name of the associated application
          type: string
        replyUrls:
          description: The URLs that user tokens are sent to for sign in with the
            associated application.  The redirect URIs that the oAuth 2.0
            authorization code and access tokens are sent to for the associated
            application.
          items:
            type: string
          type: array
        samlMetadataUrl:
          description: The URL to the SAML metadata of the associated application
          type: string
        servicePrincipalNames:
          description: A collection of service principal names.
          items:
            type: string
          type: array
        servicePrincipalType:
          description: the type of the service principal
          type: string
        tags:
          description: Optional list of tags that you can apply to your service
            principals. Not nullable.
          items:
            type: string
          type: array
      type: object
    ServicePrincipalBase:
      description: Active Directory service principal common properties shared among
        GET, POST and PATCH
      properties:
        accountEnabled:
          description: whether or not the service principal account is enabled
          type: boolean
        appRoleAssignmentRequired:
          description: Specifies whether an AppRoleAssignment to a user or group is
            required before Azure AD will issue a user or access token to the
            application.
          type: boolean
        keyCredentials:
          description: The collection of key credentials associated with the service
            principal.
          items:
            $ref: "#/components/schemas/KeyCredential"
          type: array
        passwordCredentials:
          description: The collection of password credentials associated with the service
            principal.
          items:
            $ref: "#/components/schemas/PasswordCredential"
          type: array
        servicePrincipalType:
          description: the type of the service principal
          type: string
        tags:
          description: Optional list of tags that you can apply to your service
            principals. Not nullable.
          items:
            type: string
          type: array
      type: object
    ServicePrincipalCreateParameters:
      allOf:
        - $ref: "#/components/schemas/ServicePrincipalBase"
      description: Request parameters for creating a new service principal.
      properties:
        appId:
          description: The application ID.
          type: string
      required:
        - appId
      type: object
    ServicePrincipalListResult:
      description: Server response for get tenant service principals API call.
      properties:
        odata.nextLink:
          description: the URL to get the next set of results.
          type: string
        value:
          description: the list of service principals.
          items:
            $ref: "#/components/schemas/ServicePrincipal"
          type: array
      type: object
    ServicePrincipalObjectResult:
      description: Service Principal Object Result.
      properties:
        odata.metadata:
          description: The URL representing edm equivalent.
          type: string
        value:
          description: The Object ID of the service principal with the specified
            application ID.
          type: string
      type: object
    ServicePrincipalUpdateParameters:
      allOf:
        - $ref: "#/components/schemas/ServicePrincipalBase"
      description: Request parameters for update an existing service principal.
      type: object
    SignInName:
      additionalProperties:
        type: object
      description: Contains information about a sign-in name of a local account user
        in an Azure Active Directory B2C tenant.
      properties:
        type:
          description: A string value that can be used to classify user sign-in types in
            your directory, such as 'emailAddress' or 'userName'.
          type: string
        value:
          description: The sign-in used by the local account. Must be unique across the
            company/tenant. For example, 'johnc@example.com'.
          type: string
      type: object
    User:
      allOf:
        - $ref: "#/components/schemas/DirectoryObject"
      description: Active Directory user information.
      properties:
        accountEnabled:
          description: Whether the account is enabled.
          type: boolean
        displayName:
          description: The display name of the user.
          type: string
        givenName:
          description: The given name for the user.
          type: string
        immutableId:
          description: This must be specified if you are using a federated domain for the
            user's userPrincipalName (UPN) property when creating a new user
            account. It is used to associate an on-premises Active Directory
            user account with their Azure AD user object.
          type: string
        mail:
          description: The primary email address of the user.
          type: string
        mailNickname:
          description: The mail alias for the user.
          type: string
        signInNames:
          description: The sign-in names of the user.
          items:
            $ref: "#/components/schemas/SignInName"
          type: array
        surname:
          description: The user's surname (family name or last name).
          type: string
        usageLocation:
          description: 'A two letter country code (ISO standard 3166). Required for users
            that will be assigned licenses due to legal requirement to check for
            availability of services in countries. Examples include: "US", "JP",
            and "GB".'
          type: string
        userPrincipalName:
          description: The principal name of the user.
          type: string
        userType:
          description: A string value that can be used to classify user types in your
            directory, such as 'Member' and 'Guest'.
          enum:
            - Member
            - Guest
          type: string
          x-ms-enum:
            modelAsString: true
            name: UserType
      type: object
    UserBase:
      additionalProperties:
        type: object
      properties:
        givenName:
          description: The given name for the user.
          type: string
        immutableId:
          description: This must be specified if you are using a federated domain for the
            user's userPrincipalName (UPN) property when creating a new user
            account. It is used to associate an on-premises Active Directory
            user account with their Azure AD user object.
          type: string
        surname:
          description: The user's surname (family name or last name).
          type: string
        usageLocation:
          description: 'A two letter country code (ISO standard 3166). Required for users
            that will be assigned licenses due to legal requirement to check for
            availability of services in countries. Examples include: "US", "JP",
            and "GB".'
          type: string
        userType:
          description: A string value that can be used to classify user types in your
            directory, such as 'Member' and 'Guest'.
          enum:
            - Member
            - Guest
          type: string
          x-ms-enum:
            modelAsString: true
            name: UserType
      type: object
    UserCreateParameters:
      allOf:
        - $ref: "#/components/schemas/UserBase"
      description: Request parameters for creating a new work or school account user.
      properties:
        accountEnabled:
          description: Whether the account is enabled.
          type: boolean
        displayName:
          description: The display name of the user.
          type: string
        mail:
          description: The primary email address of the user.
          type: string
        mailNickname:
          description: The mail alias for the user.
          type: string
        passwordProfile:
          $ref: "#/components/schemas/PasswordProfile"
        userPrincipalName:
          description: The user principal name (someuser@contoso.com). It must contain one
            of the verified domains for the tenant.
          type: string
      required:
        - accountEnabled
        - displayName
        - passwordProfile
        - userPrincipalName
        - mailNickname
      type: object
    UserGetMemberGroupsParameters:
      additionalProperties:
        type: object
      description: Request parameters for GetMemberGroups API call.
      properties:
        securityEnabledOnly:
          description: If true, only membership in security-enabled groups should be
            checked. Otherwise, membership in all groups should be checked.
          type: boolean
      required:
        - securityEnabledOnly
      type: object
    UserGetMemberGroupsResult:
      description: Server response for GetMemberGroups API call.
      properties:
        value:
          description: A collection of group IDs of which the user is a member.
          items:
            type: string
          type: array
      type: object
    UserListResult:
      description: Server response for Get tenant users API call.
      properties:
        odata.nextLink:
          description: The URL to get the next set of results.
          type: string
        value:
          description: the list of users.
          items:
            $ref: "#/components/schemas/User"
          type: array
      type: object
    UserUpdateParameters:
      allOf:
        - $ref: "#/components/schemas/UserBase"
      description: Request parameters for updating an existing work or school account user.
      properties:
        accountEnabled:
          description: Whether the account is enabled.
          type: boolean
        displayName:
          description: The display name of the user.
          type: string
        mail:
          description: The primary email address of the user.
          type: string
        mailNickname:
          description: The mail alias for the user.
          type: string
        passwordProfile:
          $ref: "#/components/schemas/PasswordProfile"
        userPrincipalName:
          description: The user principal name (someuser@contoso.com). It must contain one
            of the verified domains for the tenant.
          type: string
      type: object
  securitySchemes:
    azure_auth:
      description: Azure Active Directory OAuth2 Flow
      flows:
        implicit:
          authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize
          scopes:
            user_impersonation: impersonate your user account
      type: oauth2
x-ms-paths:
  "/{tenantID}/{nextLink}?Applications_ListNext":
    get:
      description: Gets a list of applications from the current tenant.
      operationId: Applications_ListNext
      parameters:
        - description: Next link for the list operation.
          in: path
          name: nextLink
          required: true
          schema:
            type: string
          x-ms-skip-url-encoding: true
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApplicationListResult"
            text/json:
              schema:
                $ref: "#/components/schemas/ApplicationListResult"
          description: OK. The operation was successful.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - Applications
      x-ms-pageable:
        nextLinkName: odata.nextLink
        operationName: Applications_ListNext
  "/{tenantID}/{nextLink}?DeletedApplications_ListNext":
    get:
      description: Gets a list of deleted applications in the directory.
      operationId: DeletedApplications_ListNext
      parameters:
        - description: Next link for the list operation.
          in: path
          name: nextLink
          required: true
          schema:
            type: string
          x-ms-skip-url-encoding: true
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApplicationListResult"
            text/json:
              schema:
                $ref: "#/components/schemas/ApplicationListResult"
          description: OK. The operation was successful.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - deletedApplications
      x-ms-pageable:
        nextLinkName: odata.nextLink
        operationName: DeletedApplications_ListNext
  "/{tenantID}/{nextLink}?Groups_GetGroupMembersNext":
    get:
      description: Gets the members of a group.
      operationId: Groups_GetGroupMembersNext
      parameters:
        - description: Next link for the list operation.
          in: path
          name: nextLink
          required: true
          schema:
            type: string
          x-ms-skip-url-encoding: true
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DirectoryObjectListResult"
            text/json:
              schema:
                $ref: "#/components/schemas/DirectoryObjectListResult"
          description: OK. The operation was successful.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - Group
      x-ms-pageable:
        nextLinkName: odata.nextLink
        operationName: Groups_GetGroupMembersNext
  "/{tenantID}/{nextLink}?Groups_ListNext":
    get:
      description: Gets a list of groups for the current tenant.
      operationId: Groups_ListNext
      parameters:
        - description: Next link for the list operation.
          in: path
          name: nextLink
          required: true
          schema:
            type: string
          x-ms-skip-url-encoding: true
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GroupListResult"
            text/json:
              schema:
                $ref: "#/components/schemas/GroupListResult"
          description: OK. The operation was successful.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - Group
      x-ms-pageable:
        nextLinkName: odata.nextLink
        operationName: Groups_ListNext
  "/{tenantID}/{nextLink}?OAuth2PermissionGrant_ListNext":
    get:
      description: Gets the next page of OAuth2 permission grants
      operationId: OAuth2PermissionGrant_ListNext
      parameters:
        - description: Next link for the list operation.
          in: path
          name: nextLink
          required: true
          schema:
            type: string
          x-ms-skip-url-encoding: true
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OAuth2PermissionGrantListResult"
            text/json:
              schema:
                $ref: "#/components/schemas/OAuth2PermissionGrantListResult"
          description: OK. The operation was successful.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - OAuth2PermissionGrant_ListNext
      x-ms-pageable:
        nextLinkName: odata.nextLink
        operationName: OAuth2PermissionGrant_ListNext
  "/{tenantID}/{nextLink}?Objects_GetObjectsByObjectIdsNext":
    post:
      description: Gets AD group membership for the specified AD object IDs.
      operationId: Objects_GetObjectsByObjectIdsNext
      parameters:
        - description: Next link for the list operation.
          in: path
          name: nextLink
          required: true
          schema:
            type: string
          x-ms-skip-url-encoding: true
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DirectoryObjectListResult"
            text/json:
              schema:
                $ref: "#/components/schemas/DirectoryObjectListResult"
          description: OK. The operation was successful.
      tags:
        - Objects
      x-ms-pageable:
        nextLinkName: odata.nextLink
        operationName: Objects_GetObjectsByObjectIdsNext
  "/{tenantID}/{nextLink}?ServicePrincipals_ListNext":
    get:
      description: Gets a list of service principals from the current tenant.
      operationId: ServicePrincipals_ListNext
      parameters:
        - description: Next link for the list operation.
          in: path
          name: nextLink
          required: true
          schema:
            type: string
          x-ms-skip-url-encoding: true
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServicePrincipalListResult"
            text/json:
              schema:
                $ref: "#/components/schemas/ServicePrincipalListResult"
          description: OK. The operation was successful.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - ServicePrincipal
      x-ms-pageable:
        nextLinkName: odata.nextLink
        operationName: ServicePrincipals_ListNext
  "/{tenantID}/{nextLink}?SignedInUser_ListOwnedObjectsNext":
    get:
      description: Get the list of directory objects that are owned by the user.
      operationId: SignedInUser_ListOwnedObjectsNext
      parameters:
        - description: Next link for the list operation.
          in: path
          name: nextLink
          required: true
          schema:
            type: string
          x-ms-skip-url-encoding: true
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DirectoryObjectListResult"
            text/json:
              schema:
                $ref: "#/components/schemas/DirectoryObjectListResult"
          description: OK. The operation was successful.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - SignedInUser
      x-ms-pageable:
        nextLinkName: odata.nextLink
        operationName: SignedInUser_ListOwnedObjectsNext
  "/{tenantID}/{nextLink}?Users_ListNext":
    get:
      description: Gets a list of users for the current tenant.
      operationId: Users_ListNext
      parameters:
        - description: Next link for the list operation.
          in: path
          name: nextLink
          required: true
          schema:
            type: string
          x-ms-skip-url-encoding: true
        - $ref: "#/components/parameters/ApiVersionParameter"
        - $ref: "#/components/parameters/tenantIDInPath"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UserListResult"
            text/json:
              schema:
                $ref: "#/components/schemas/UserListResult"
          description: OK. The operation was successful.
        default:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GraphError"
            text/json:
              schema:
                $ref: "#/components/schemas/GraphError"
          description: Error response describing why the operation failed.
      tags:
        - User
      x-ms-pageable:
        nextLinkName: odata.nextLink
        operationName: Users_ListNext
