openapi: 3.1.0 info: title: Microsoft Graph Admin Admin.admin Applications Owners API description: 'Microsoft Graph API for managing administrative resources in Microsoft Entra ID. This API enables administrators to manage Microsoft Edge browser settings, Internet Explorer mode configurations, site lists, shared browser sites, Microsoft 365 Apps installation options, people insights, service announcements, SharePoint settings, Copilot administration, directory administrative units, and admin consent policies.' version: 1.0.0 contact: name: Microsoft Graph API Support url: https://developer.microsoft.com/graph servers: - url: https://graph.microsoft.com/v1.0 description: Microsoft Graph API v1.0 endpoint tags: - name: Applications Owners description: Operations for managing application registrations paths: /applications/{application-id}/owners: description: Provides operations to manage the owners property of the microsoft.graph.application entity. parameters: - name: application-id in: path description: The unique identifier of application required: true schema: type: string x-ms-docs-key-type: application get: tags: - Applications Owners summary: Microsoft Graph List owners of an application description: Retrieve a list of owners for an application that are directoryObject types. operationId: getApplicationsOwners externalDocs: description: Find more info here url: https://learn.microsoft.com/graph/api/application-list-owners?view=graph-rest-1.0 parameters: - name: ConsistencyLevel in: header description: 'Indicates the requested consistency level. Documentation URL: https://docs.microsoft.com/graph/aad-advanced-queries' schema: type: string examples: example-1: description: $search and $count queries require the client to set the ConsistencyLevel HTTP header to 'eventual'. value: eventual - $ref: '#/components/parameters/Top' - $ref: '#/components/parameters/Skip' - $ref: '#/components/parameters/Search' - $ref: '#/components/parameters/Filter' - $ref: '#/components/parameters/Count' - name: $orderby in: query description: Order items by property values style: form explode: false schema: uniqueItems: true type: array items: type: string - name: $select in: query description: Select properties to be returned style: form explode: false schema: uniqueItems: true type: array items: type: string - name: $expand in: query description: Expand related entities style: form explode: false schema: uniqueItems: true type: array items: type: string responses: 2XX: $ref: '#/components/responses/DirectoryObjectCollectionResponse' 4XX: $ref: '#/components/responses/error' 5XX: $ref: '#/components/responses/error' x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: 2XX x-ms-pageable: nextLinkName: '@odata.nextLink' operationName: listMore x-ms-docs-operation-type: operation /applications/{application-id}/owners/{directoryObject-id}/$ref: description: Provides operations to manage the collection of application entities. parameters: - name: application-id in: path description: The unique identifier of application required: true schema: type: string x-ms-docs-key-type: application - name: directoryObject-id in: path description: The unique identifier of directoryObject required: true schema: type: string x-ms-docs-key-type: directoryObject delete: tags: - Applications Owners summary: Microsoft Graph Remove application owner description: Remove an owner from an application. As a recommended best practice, apps should have at least two owners. operationId: deleteApplicationsOwners externalDocs: description: Find more info here url: https://learn.microsoft.com/graph/api/application-delete-owners?view=graph-rest-1.0 parameters: - name: If-Match in: header description: ETag schema: type: string responses: '204': description: Success 4XX: $ref: '#/components/responses/error' 5XX: $ref: '#/components/responses/error' x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '204' x-ms-docs-operation-type: operation /applications/{application-id}/owners/{directoryObject-id}/graph.appRoleAssignment: description: Casts the previous resource to appRoleAssignment. parameters: - name: application-id in: path description: The unique identifier of application required: true schema: type: string x-ms-docs-key-type: application - name: directoryObject-id in: path description: The unique identifier of directoryObject required: true schema: type: string x-ms-docs-key-type: directoryObject get: tags: - Applications Owners summary: Microsoft Graph Get the item of type microsoft.graph.directoryObject as microsoft.graph.appRoleAssignment description: Performs GET operation on /applications/{application-id}/owners/{directoryObject-id}/graph.appRoleAssignment operationId: getApplicationsOwnersGraphAppRoleAssignment parameters: - name: ConsistencyLevel in: header description: 'Indicates the requested consistency level. Documentation URL: https://docs.microsoft.com/graph/aad-advanced-queries' schema: type: string examples: example-1: description: $search and $count queries require the client to set the ConsistencyLevel HTTP header to 'eventual'. value: eventual - name: $select in: query description: Select properties to be returned style: form explode: false schema: uniqueItems: true type: array items: type: string - name: $expand in: query description: Expand related entities style: form explode: false schema: uniqueItems: true type: array items: type: string responses: 2XX: description: Entity result. content: application/json: schema: $ref: '#/components/schemas/AppRoleAssignment' examples: AppRoleAssignmentExample: $ref: '#/components/examples/AppRoleAssignmentExample' 4XX: $ref: '#/components/responses/error' 5XX: $ref: '#/components/responses/error' x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: 2XX /applications/{application-id}/owners/{directoryObject-id}/graph.endpoint: description: Casts the previous resource to endpoint. parameters: - name: application-id in: path description: The unique identifier of application required: true schema: type: string x-ms-docs-key-type: application - name: directoryObject-id in: path description: The unique identifier of directoryObject required: true schema: type: string x-ms-docs-key-type: directoryObject get: tags: - Applications Owners summary: Microsoft Graph Get the item of type microsoft.graph.directoryObject as microsoft.graph.endpoint description: Performs GET operation on /applications/{application-id}/owners/{directoryObject-id}/graph.endpoint operationId: getApplicationsOwnersGraphEndpoint parameters: - name: ConsistencyLevel in: header description: 'Indicates the requested consistency level. Documentation URL: https://docs.microsoft.com/graph/aad-advanced-queries' schema: type: string examples: example-1: description: $search and $count queries require the client to set the ConsistencyLevel HTTP header to 'eventual'. value: eventual - name: $select in: query description: Select properties to be returned style: form explode: false schema: uniqueItems: true type: array items: type: string - name: $expand in: query description: Expand related entities style: form explode: false schema: uniqueItems: true type: array items: type: string responses: 2XX: description: Entity result. content: application/json: schema: $ref: '#/components/schemas/Endpoint' examples: EndpointExample: $ref: '#/components/examples/EndpointExample' 4XX: $ref: '#/components/responses/error' 5XX: $ref: '#/components/responses/error' x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: 2XX /applications/{application-id}/owners/{directoryObject-id}/graph.servicePrincipal: description: Casts the previous resource to servicePrincipal. parameters: - name: application-id in: path description: The unique identifier of application required: true schema: type: string x-ms-docs-key-type: application - name: directoryObject-id in: path description: The unique identifier of directoryObject required: true schema: type: string x-ms-docs-key-type: directoryObject get: tags: - Applications Owners summary: Microsoft Graph Get the item of type microsoft.graph.directoryObject as microsoft.graph.servicePrincipal description: Performs GET operation on /applications/{application-id}/owners/{directoryObject-id}/graph.servicePrincipal operationId: getApplicationsOwnersGraphServicePrincipal parameters: - name: ConsistencyLevel in: header description: 'Indicates the requested consistency level. Documentation URL: https://docs.microsoft.com/graph/aad-advanced-queries' schema: type: string examples: example-1: description: $search and $count queries require the client to set the ConsistencyLevel HTTP header to 'eventual'. value: eventual - name: $select in: query description: Select properties to be returned style: form explode: false schema: uniqueItems: true type: array items: type: string - name: $expand in: query description: Expand related entities style: form explode: false schema: uniqueItems: true type: array items: type: string responses: 2XX: description: Entity result. content: application/json: schema: $ref: '#/components/schemas/ServicePrincipal' examples: ServicePrincipalExample: $ref: '#/components/examples/ServicePrincipalExample' 4XX: $ref: '#/components/responses/error' 5XX: $ref: '#/components/responses/error' x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: 2XX /applications/{application-id}/owners/{directoryObject-id}/graph.user: description: Casts the previous resource to user. parameters: - name: application-id in: path description: The unique identifier of application required: true schema: type: string x-ms-docs-key-type: application - name: directoryObject-id in: path description: The unique identifier of directoryObject required: true schema: type: string x-ms-docs-key-type: directoryObject get: tags: - Applications Owners summary: Microsoft Graph Get the item of type microsoft.graph.directoryObject as microsoft.graph.user description: Performs GET operation on /applications/{application-id}/owners/{directoryObject-id}/graph.user operationId: getApplicationsOwnersGraphUser parameters: - name: ConsistencyLevel in: header description: 'Indicates the requested consistency level. Documentation URL: https://docs.microsoft.com/graph/aad-advanced-queries' schema: type: string examples: example-1: description: $search and $count queries require the client to set the ConsistencyLevel HTTP header to 'eventual'. value: eventual - name: $select in: query description: Select properties to be returned style: form explode: false schema: uniqueItems: true type: array items: type: string - name: $expand in: query description: Expand related entities style: form explode: false schema: uniqueItems: true type: array items: type: string responses: 2XX: description: Entity result. content: application/json: schema: $ref: '#/components/schemas/User' examples: UserExample: $ref: '#/components/examples/UserExample' 4XX: $ref: '#/components/responses/error' 5XX: $ref: '#/components/responses/error' x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: 2XX /applications/{application-id}/owners/$count: description: Provides operations to count the resources in the collection. parameters: - name: application-id in: path description: The unique identifier of application required: true schema: type: string x-ms-docs-key-type: application get: tags: - Applications Owners summary: Microsoft Graph Get the number of the resource description: Performs GET operation on /applications/{application-id}/owners/$count operationId: countApplicationsOwners parameters: - name: ConsistencyLevel in: header description: 'Indicates the requested consistency level. Documentation URL: https://docs.microsoft.com/graph/aad-advanced-queries' schema: type: string examples: example-1: description: $search and $count queries require the client to set the ConsistencyLevel HTTP header to 'eventual'. value: eventual - $ref: '#/components/parameters/Search' - $ref: '#/components/parameters/Filter' responses: 2XX: $ref: '#/components/responses/ODataCountResponse' 4XX: $ref: '#/components/responses/error' 5XX: $ref: '#/components/responses/error' x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: 2XX /applications/{application-id}/owners/$ref: description: Provides operations to manage the collection of application entities. parameters: - name: application-id in: path description: The unique identifier of application required: true schema: type: string x-ms-docs-key-type: application get: tags: - Applications Owners summary: Microsoft Graph List owners of an application description: Retrieve a list of owners for an application that are directoryObject types. operationId: getApplicationsOwners1 externalDocs: description: Find more info here url: https://learn.microsoft.com/graph/api/application-list-owners?view=graph-rest-1.0 parameters: - name: ConsistencyLevel in: header description: 'Indicates the requested consistency level. Documentation URL: https://docs.microsoft.com/graph/aad-advanced-queries' schema: type: string examples: example-1: description: $search and $count queries require the client to set the ConsistencyLevel HTTP header to 'eventual'. value: eventual - $ref: '#/components/parameters/Top' - $ref: '#/components/parameters/Skip' - $ref: '#/components/parameters/Search' - $ref: '#/components/parameters/Filter' - $ref: '#/components/parameters/Count' - name: $orderby in: query description: Order items by property values style: form explode: false schema: uniqueItems: true type: array items: type: string responses: 2XX: $ref: '#/components/responses/StringCollectionResponse' 4XX: $ref: '#/components/responses/error' 5XX: $ref: '#/components/responses/error' x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: 2XX x-ms-pageable: nextLinkName: '@odata.nextLink' operationName: listMore x-ms-docs-operation-type: operation post: tags: - Applications Owners summary: Microsoft Graph Add owner description: Add an owner to an application. Application owners can be individual users, the associated service principal, or another service principal. operationId: createApplicationsOwners externalDocs: description: Find more info here url: https://learn.microsoft.com/graph/api/application-post-owners?view=graph-rest-1.0 requestBody: $ref: '#/components/requestBodies/refPostBody' responses: '204': description: Success 4XX: $ref: '#/components/responses/error' 5XX: $ref: '#/components/responses/error' x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '204' x-ms-docs-operation-type: operation delete: tags: - Applications Owners summary: Microsoft Graph Remove application owner description: Remove an owner from an application. As a recommended best practice, apps should have at least two owners. operationId: deleteApplicationsOwners1 externalDocs: description: Find more info here url: https://learn.microsoft.com/graph/api/application-delete-owners?view=graph-rest-1.0 parameters: - name: If-Match in: header description: ETag schema: type: string - name: '@id' in: query description: The delete Uri required: true schema: type: string responses: '204': description: Success 4XX: $ref: '#/components/responses/error' 5XX: $ref: '#/components/responses/error' x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '204' x-ms-docs-operation-type: operation /applications/{application-id}/owners/graph.appRoleAssignment: description: Casts the previous resource to appRoleAssignment. parameters: - name: application-id in: path description: The unique identifier of application required: true schema: type: string x-ms-docs-key-type: application get: tags: - Applications Owners summary: Microsoft Graph Get the items of type microsoft.graph.appRoleAssignment in the microsoft.graph.directoryObject collection description: Performs GET operation on /applications/{application-id}/owners/graph.appRoleAssignment operationId: getApplicationsOwnersGraphAppRoleAssignment1 parameters: - name: ConsistencyLevel in: header description: 'Indicates the requested consistency level. Documentation URL: https://docs.microsoft.com/graph/aad-advanced-queries' schema: type: string examples: example-1: description: $search and $count queries require the client to set the ConsistencyLevel HTTP header to 'eventual'. value: eventual - $ref: '#/components/parameters/Top' - $ref: '#/components/parameters/Skip' - $ref: '#/components/parameters/Search' - $ref: '#/components/parameters/Filter' - $ref: '#/components/parameters/Count' - name: $orderby in: query description: Order items by property values style: form explode: false schema: uniqueItems: true type: array items: type: string - name: $select in: query description: Select properties to be returned style: form explode: false schema: uniqueItems: true type: array items: type: string - name: $expand in: query description: Expand related entities style: form explode: false schema: uniqueItems: true type: array items: type: string responses: 2XX: $ref: '#/components/responses/AppRoleAssignmentCollectionResponse' 4XX: $ref: '#/components/responses/error' 5XX: $ref: '#/components/responses/error' x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: 2XX x-ms-pageable: nextLinkName: '@odata.nextLink' operationName: listMore /applications/{application-id}/owners/graph.appRoleAssignment/$count: description: Provides operations to count the resources in the collection. parameters: - name: application-id in: path description: The unique identifier of application required: true schema: type: string x-ms-docs-key-type: application get: tags: - Applications Owners summary: Microsoft Graph Get the number of the resource description: Performs GET operation on /applications/{application-id}/owners/graph.appRoleAssignment/$count operationId: countApplicationsOwnersGraphAppRoleAssignment parameters: - name: ConsistencyLevel in: header description: 'Indicates the requested consistency level. Documentation URL: https://docs.microsoft.com/graph/aad-advanced-queries' schema: type: string examples: example-1: description: $search and $count queries require the client to set the ConsistencyLevel HTTP header to 'eventual'. value: eventual - $ref: '#/components/parameters/Search' - $ref: '#/components/parameters/Filter' responses: 2XX: $ref: '#/components/responses/ODataCountResponse' 4XX: $ref: '#/components/responses/error' 5XX: $ref: '#/components/responses/error' x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: 2XX /applications/{application-id}/owners/graph.endpoint: description: Casts the previous resource to endpoint. parameters: - name: application-id in: path description: The unique identifier of application required: true schema: type: string x-ms-docs-key-type: application get: tags: - Applications Owners summary: Microsoft Graph Get the items of type microsoft.graph.endpoint in the microsoft.graph.directoryObject collection description: Performs GET operation on /applications/{application-id}/owners/graph.endpoint operationId: getApplicationsOwnersGraphEndpoint1 parameters: - name: ConsistencyLevel in: header description: 'Indicates the requested consistency level. Documentation URL: https://docs.microsoft.com/graph/aad-advanced-queries' schema: type: string examples: example-1: description: $search and $count queries require the client to set the ConsistencyLevel HTTP header to 'eventual'. value: eventual - $ref: '#/components/parameters/Top' - $ref: '#/components/parameters/Skip' - $ref: '#/components/parameters/Search' - $ref: '#/components/parameters/Filter' - $ref: '#/components/parameters/Count' - name: $orderby in: query description: Order items by property values style: form explode: false schema: uniqueItems: true type: array items: type: string - name: $select in: query description: Select properties to be returned style: form explode: false schema: uniqueItems: true type: array items: type: string - name: $expand in: query description: Expand related entities style: form explode: false schema: uniqueItems: true type: array items: type: string responses: 2XX: $ref: '#/components/responses/EndpointCollectionResponse' 4XX: $ref: '#/components/responses/error' 5XX: $ref: '#/components/responses/error' x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: 2XX x-ms-pageable: nextLinkName: '@odata.nextLink' operationName: listMore /applications/{application-id}/owners/graph.endpoint/$count: description: Provides operations to count the resources in the collection. parameters: - name: application-id in: path description: The unique identifier of application required: true schema: type: string x-ms-docs-key-type: application get: tags: - Applications Owners summary: Microsoft Graph Get the number of the resource description: Performs GET operation on /applications/{application-id}/owners/graph.endpoint/$count operationId: countApplicationsOwnersGraphEndpoint parameters: - name: ConsistencyLevel in: header description: 'Indicates the requested consistency level. Documentation URL: https://docs.microsoft.com/graph/aad-advanced-queries' schema: type: string examples: example-1: description: $search and $count queries require the client to set the ConsistencyLevel HTTP header to 'eventual'. value: eventual - $ref: '#/components/parameters/Search' - $ref: '#/components/parameters/Filter' responses: 2XX: $ref: '#/components/responses/ODataCountResponse' 4XX: $ref: '#/components/responses/error' 5XX: $ref: '#/components/responses/error' x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: 2XX /applications/{application-id}/owners/graph.servicePrincipal: description: Casts the previous resource to servicePrincipal. parameters: - name: application-id in: path description: The unique identifier of application required: true schema: type: string x-ms-docs-key-type: application get: tags: - Applications Owners summary: Microsoft Graph Get the items of type microsoft.graph.servicePrincipal in the microsoft.graph.directoryObject collection description: Performs GET operation on /applications/{application-id}/owners/graph.servicePrincipal operationId: getApplicationsOwnersGraphServicePrincipal1 parameters: - name: ConsistencyLevel in: header description: 'Indicates the requested consistency level. Documentation URL: https://docs.microsoft.com/graph/aad-advanced-queries' schema: type: string examples: example-1: description: $search and $count queries require the client to set the ConsistencyLevel HTTP header to 'eventual'. value: eventual - $ref: '#/components/parameters/Top' - $ref: '#/components/parameters/Skip' - $ref: '#/components/parameters/Search' - $ref: '#/components/parameters/Filter' - $ref: '#/components/parameters/Count' - name: $orderby in: query description: Order items by property values style: form explode: false schema: uniqueItems: true type: array items: type: string - name: $select in: query description: Select properties to be returned style: form explode: false schema: uniqueItems: true type: array items: type: string - name: $expand in: query description: Expand related entities style: form explode: false schema: uniqueItems: true type: array items: type: string responses: 2XX: $ref: '#/components/responses/ServicePrincipalCollectionResponse' 4XX: $ref: '#/components/responses/error' 5XX: $ref: '#/components/responses/error' x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: 2XX x-ms-pageable: nextLinkName: '@odata.nextLink' operationName: listMore /applications/{application-id}/owners/graph.servicePrincipal/$count: description: Provides operations to count the resources in the collection. parameters: - name: application-id in: path description: The unique identifier of application required: true schema: type: string x-ms-docs-key-type: application get: tags: - Applications Owners summary: Microsoft Graph Get the number of the resource description: Performs GET operation on /applications/{application-id}/owners/graph.servicePrincipal/$count operationId: countApplicationsOwnersGraphServicePrincipal parameters: - name: ConsistencyLevel in: header description: 'Indicates the requested consistency level. Documentation URL: https://docs.microsoft.com/graph/aad-advanced-queries' schema: type: string examples: example-1: description: $search and $count queries require the client to set the ConsistencyLevel HTTP header to 'eventual'. value: eventual - $ref: '#/components/parameters/Search' - $ref: '#/components/parameters/Filter' responses: 2XX: $ref: '#/components/responses/ODataCountResponse' 4XX: $ref: '#/components/responses/error' 5XX: $ref: '#/components/responses/error' x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: 2XX /applications/{application-id}/owners/graph.user: description: Casts the previous resource to user. parameters: - name: application-id in: path description: The unique identifier of application required: true schema: type: string x-ms-docs-key-type: application get: tags: - Applications Owners summary: Microsoft Graph Get the items of type microsoft.graph.user in the microsoft.graph.directoryObject collection description: Performs GET operation on /applications/{application-id}/owners/graph.user operationId: getApplicationsOwnersGraphUser1 parameters: - name: ConsistencyLevel in: header description: 'Indicates the requested consistency level. Documentation URL: https://docs.microsoft.com/graph/aad-advanced-queries' schema: type: string examples: example-1: description: $search and $count queries require the client to set the ConsistencyLevel HTTP header to 'eventual'. value: eventual - $ref: '#/components/parameters/Top' - $ref: '#/components/parameters/Skip' - $ref: '#/components/parameters/Search' - $ref: '#/components/parameters/Filter' - $ref: '#/components/parameters/Count' - name: $orderby in: query description: Order items by property values style: form explode: false schema: uniqueItems: true type: array items: type: string - name: $select in: query description: Select properties to be returned style: form explode: false schema: uniqueItems: true type: array items: type: string - name: $expand in: query description: Expand related entities style: form explode: false schema: uniqueItems: true type: array items: type: string responses: 2XX: $ref: '#/components/responses/UserCollectionResponse' 4XX: $ref: '#/components/responses/error' 5XX: $ref: '#/components/responses/error' x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: 2XX x-ms-pageable: nextLinkName: '@odata.nextLink' operationName: listMore /applications/{application-id}/owners/graph.user/$count: description: Provides operations to count the resources in the collection. parameters: - name: application-id in: path description: The unique identifier of application required: true schema: type: string x-ms-docs-key-type: application get: tags: - Applications Owners summary: Microsoft Graph Get the number of the resource description: Performs GET operation on /applications/{application-id}/owners/graph.user/$count operationId: countApplicationsOwnersGraphUser parameters: - name: ConsistencyLevel in: header description: 'Indicates the requested consistency level. Documentation URL: https://docs.microsoft.com/graph/aad-advanced-queries' schema: type: string examples: example-1: description: $search and $count queries require the client to set the ConsistencyLevel HTTP header to 'eventual'. value: eventual - $ref: '#/components/parameters/Search' - $ref: '#/components/parameters/Filter' responses: 2XX: $ref: '#/components/responses/ODataCountResponse' 4XX: $ref: '#/components/responses/error' 5XX: $ref: '#/components/responses/error' x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: 2XX components: responses: ODataCountResponse: description: The count of the resource content: text/plain: schema: $ref: '#/components/schemas/ODataCountResponse' examples: ODataCountResponseExample: $ref: '#/components/examples/ODataCountResponseExample' EndpointCollectionResponse: description: Retrieved collection content: application/json: schema: $ref: '#/components/schemas/EndpointCollectionResponse' UserCollectionResponse: description: Retrieved collection content: application/json: schema: $ref: '#/components/schemas/UserCollectionResponse' StringCollectionResponse: description: Retrieved collection content: application/json: schema: $ref: '#/components/schemas/StringCollectionResponse' error: description: error content: application/json: schema: $ref: '#/components/schemas/ODataError' examples: ODataErrorExample: $ref: '#/components/examples/ODataErrorExample' examples: UserExample: value: id: 00000000-0000-0000-0000-000000000001 deletedDateTime: '2024-01-15T10:30:00Z' '@odata.type': '#microsoft.graph.user' aboutMe: string-value accountEnabled: true ageGroup: string-value assignedLicenses: - {} assignedPlans: - {} authorizationInfo: {} ODataCountResponseExample: value: 42 EndpointExample: value: id: 00000000-0000-0000-0000-000000000001 deletedDateTime: '2024-01-15T10:30:00Z' '@odata.type': '#microsoft.graph.endpoint' capability: string-value providerId: 00000000-0000-0000-0000-000000000001 providerName: 00000000-0000-0000-0000-000000000001 providerResourceId: 00000000-0000-0000-0000-000000000001 uri: https://example.com/resource ServicePrincipalExample: value: id: 00000000-0000-0000-0000-000000000001 deletedDateTime: '2024-01-15T10:30:00Z' '@odata.type': '#microsoft.graph.serviceprincipal' accountEnabled: true addIns: - {} alternativeNames: - example-name appDescription: This is an example description. appDisplayName: Example Display Name appId: 00000000-0000-0000-0000-000000000001 ODataErrorExample: value: error: code: BadRequest message: The request is invalid. target: /resource details: - code: InvalidParameter message: Parameter value is invalid. target: parameterName innerError: request-id: 00000000-0000-0000-0000-000000000001 date: '2024-01-15T10:30:00Z' client-request-id: 00000000-0000-0000-0000-000000000002 AppRoleAssignmentExample: value: id: 00000000-0000-0000-0000-000000000001 deletedDateTime: '2024-01-15T10:30:00Z' '@odata.type': '#microsoft.graph.approleassignment' appRoleId: 00000000-0000-0000-0000-000000000001 createdDateTime: '2024-01-15T10:30:00Z' principalDisplayName: Example Display Name principalId: 00000000-0000-0000-0000-000000000001 principalType: exampleType resourceDisplayName: Example Display Name schemas: User: allOf: - $ref: '#/components/schemas/DirectoryObject' - title: user required: - '@odata.type' type: object properties: aboutMe: type: string description: A freeform text entry field for the user to describe themselves. Returned only on $select. nullable: true accountEnabled: type: boolean description: true if the account is enabled; otherwise, false. This property is required when a user is created. Returned only on $select. Supports $filter (eq, ne, not, and in). nullable: true ageGroup: type: string description: 'Sets the age group of the user. Allowed values: null, Minor, NotAdult, and Adult. For more information, see legal age group property definitions. Returned only on $select. Supports $filter (eq, ne, not, and in).' nullable: true assignedLicenses: type: array items: $ref: '#/components/schemas/AssignedLicense' description: The licenses that are assigned to the user, including inherited (group-based) licenses. This property doesn't differentiate between directly assigned and inherited licenses. Use the licenseAssignmentStates property to identify the directly assigned and inherited licenses. Not nullable. Returned only on $select. Supports $filter (eq, not, /$count eq 0, /$count ne 0). assignedPlans: type: array items: $ref: '#/components/schemas/AssignedPlan' description: The plans that are assigned to the user. Read-only. Not nullable. Returned only on $select. Supports $filter (eq and not). authorizationInfo: anyOf: - $ref: '#/components/schemas/AuthorizationInfo' - type: object nullable: true birthday: pattern: ^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$ type: string description: The birthday of the user. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC. For example, midnight UTC on Jan 1, 2014, is 2014-01-01T00:00:00Z. Returned only on $select. format: date-time businessPhones: type: array items: type: string description: 'The telephone numbers for the user. NOTE: Although it''s a string collection, only one number can be set for this property. Read-only for users synced from the on-premises directory. Returned by default. Supports $filter (eq, not, ge, le, startsWith).' city: type: string description: The city where the user is located. Maximum length is 128 characters. Returned only on $select. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq on null values). nullable: true companyName: type: string description: The name of the company that the user is associated with. This property can be useful for describing the company that a guest comes from. The maximum length is 64 characters.Returned only on $select. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq on null values). nullable: true consentProvidedForMinor: type: string description: 'Sets whether consent was obtained for minors. Allowed values: null, Granted, Denied, and NotRequired. For more information, see legal age group property definitions. Returned only on $select. Supports $filter (eq, ne, not, and in).' nullable: true country: type: string description: The country or region where the user is located; for example, US or UK. Maximum length is 128 characters. Returned only on $select. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq on null values). nullable: true createdDateTime: pattern: ^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$ type: string description: The date and time the user was created, in ISO 8601 format and UTC. The value can't be modified and is automatically populated when the entity is created. Nullable. For on-premises users, the value represents when they were first created in Microsoft Entra ID. Property is null for some users created before June 2018 and on-premises users that were synced to Microsoft Entra ID before June 2018. Read-only. Returned only on $select. Supports $filter (eq, ne, not , ge, le, in). format: date-time nullable: true creationType: type: string description: 'Indicates whether the user account was created through one of the following methods: As a regular school or work account (null). As an external account (Invitation). As a local account for an Azure Active Directory B2C tenant (LocalAccount). Through self-service sign-up by an internal user using email verification (EmailVerified). Through self-service sign-up by a guest signing up through a link that is part of a user flow (SelfServiceSignUp). Read-only.Returned only on $select. Supports $filter (eq, ne, not, in).' nullable: true customSecurityAttributes: anyOf: - $ref: '#/components/schemas/CustomSecurityAttributeValue' - type: object nullable: true description: An open complex type that holds the value of a custom security attribute that is assigned to a directory object. Nullable. Returned only on $select. Supports $filter (eq, ne, not, startsWith). The filter value is case-sensitive. To read this property, the calling app must be assigned the CustomSecAttributeAssignment.Read.All permission. To write this property, the calling app must be assigned the CustomSecAttributeAssignment.ReadWrite.All permissions. To read or write this property in delegated scenarios, the admin must be assigned the Attribute Assignment Administrator role. department: type: string description: The name of the department in which the user works. Maximum length is 64 characters. Returned only on $select. Supports $filter (eq, ne, not , ge, le, in, and eq on null values). nullable: true deviceEnrollmentLimit: maximum: 2147483647 minimum: -2147483648 type: number description: The limit on the maximum number of devices that the user is permitted to enroll. Allowed values are 5 or 1000. format: int32 displayName: type: string description: The name displayed in the address book for the user. This value is usually the combination of the user's first name, middle initial, and family name. This property is required when a user is created and it can't be cleared during updates. Maximum length is 256 characters. Returned by default. Supports $filter (eq, ne, not , ge, le, in, startsWith, and eq on null values), $orderby, and $search. nullable: true employeeHireDate: pattern: ^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$ type: string description: The date and time when the user was hired or will start work in a future hire. Returned only on $select. Supports $filter (eq, ne, not , ge, le, in). format: date-time nullable: true employeeId: type: string description: The employee identifier assigned to the user by the organization. The maximum length is 16 characters. Returned only on $select. Supports $filter (eq, ne, not , ge, le, in, startsWith, and eq on null values). nullable: true employeeLeaveDateTime: pattern: ^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$ type: string description: 'The date and time when the user left or will leave the organization. To read this property, the calling app must be assigned the User-LifeCycleInfo.Read.All permission. To write this property, the calling app must be assigned the User.Read.All and User-LifeCycleInfo.ReadWrite.All permissions. To read this property in delegated scenarios, the admin needs at least one of the following Microsoft Entra roles: Lifecycle Workflows Administrator (least privilege), Global Reader. To write this property in delegated scenarios, the admin needs the Global Administrator role. Supports $filter (eq, ne, not , ge, le, in). For more information, see Configure the employeeLeaveDateTime property for a user.' format: date-time nullable: true employeeOrgData: anyOf: - $ref: '#/components/schemas/EmployeeOrgData' - type: object nullable: true description: Represents organization data (for example, division and costCenter) associated with a user. Returned only on $select. Supports $filter (eq, ne, not , ge, le, in). employeeType: type: string description: Captures enterprise worker type. For example, Employee, Contractor, Consultant, or Vendor. Returned only on $select. Supports $filter (eq, ne, not , ge, le, in, startsWith). nullable: true externalUserState: type: string description: For a guest invited to the tenant using the invitation API, this property represents the invited user's invitation status. For invited users, the state can be PendingAcceptance or Accepted, or null for all other users. Returned only on $select. Supports $filter (eq, ne, not , in). nullable: true externalUserStateChangeDateTime: pattern: ^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$ type: string description: Shows the timestamp for the latest change to the externalUserState property. Returned only on $select. Supports $filter (eq, ne, not , in). format: date-time nullable: true faxNumber: type: string description: The fax number of the user. Returned only on $select. Supports $filter (eq, ne, not , ge, le, in, startsWith, and eq on null values). nullable: true givenName: type: string description: The given name (first name) of the user. Maximum length is 64 characters. Returned by default. Supports $filter (eq, ne, not , ge, le, in, startsWith, and eq on null values). nullable: true hireDate: pattern: ^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$ type: string description: 'The hire date of the user. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC. For example, midnight UTC on Jan 1, 2014, is 2014-01-01T00:00:00Z. Returned only on $select. Note: This property is specific to SharePoint in Microsoft 365. We recommend using the native employeeHireDate property to set and update hire date values using Microsoft Graph APIs.' format: date-time identities: type: array items: $ref: '#/components/schemas/ObjectIdentity' description: Represents the identities that can be used to sign in to this user account. Microsoft (also known as a local account), organizations, or social identity providers such as Facebook, Google, and Microsoft can provide identity and tie it to a user account. It might contain multiple items with the same signInType value. Returned only on $select. Supports $filter (eq) with limitations. imAddresses: type: array items: type: string nullable: true description: The instant message voice-over IP (VOIP) session initiation protocol (SIP) addresses for the user. Read-only. Returned only on $select. Supports $filter (eq, not, ge, le, startsWith). interests: type: array items: type: string nullable: true description: A list for the user to describe their interests. Returned only on $select. isManagementRestricted: type: boolean description: true if the user is a member of a restricted management administrative unit. If not set, the default value is null and the default behavior is false. Read-only. To manage a user who is a member of a restricted management administrative unit, the administrator or calling app must be assigned a Microsoft Entra role at the scope of the restricted management administrative unit. Returned only on $select. nullable: true isResourceAccount: type: boolean description: Don't use – reserved for future use. nullable: true jobTitle: type: string description: The user's job title. Maximum length is 128 characters. Returned by default. Supports $filter (eq, ne, not , ge, le, in, startsWith, and eq on null values). nullable: true lastPasswordChangeDateTime: pattern: ^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$ type: string description: The time when this Microsoft Entra user last changed their password or when their password was created, whichever date the latest action was performed. The date and time information uses ISO 8601 format and is always in UTC. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Returned only on $select. format: date-time nullable: true legalAgeGroupClassification: type: string description: 'Used by enterprise applications to determine the legal age group of the user. This property is read-only and calculated based on ageGroup and consentProvidedForMinor properties. Allowed values: null, Undefined, MinorWithOutParentalConsent, MinorWithParentalConsent, MinorNoParentalConsentRequired, NotAdult, and Adult. For more information, see legal age group property definitions. Returned only on $select.' nullable: true licenseAssignmentStates: type: array items: $ref: '#/components/schemas/LicenseAssignmentState' description: State of license assignments for this user. Also indicates licenses that are directly assigned or the user inherited through group memberships. Read-only. Returned only on $select. mail: type: string description: 'The SMTP address for the user, for example, jeff@contoso.com. Changes to this property update the user''s proxyAddresses collection to include the value as an SMTP address. This property can''t contain accent characters. NOTE: We don''t recommend updating this property for Azure AD B2C user profiles. Use the otherMails property instead. Returned by default. Supports $filter (eq, ne, not, ge, le, in, startsWith, endsWith, and eq on null values).' nullable: true mailboxSettings: anyOf: - $ref: '#/components/schemas/MailboxSettings' - type: object nullable: true description: Settings for the primary mailbox of the signed-in user. You can get or update settings for sending automatic replies to incoming messages, locale, and time zone. Returned only on $select. mailNickname: type: string description: The mail alias for the user. This property must be specified when a user is created. Maximum length is 64 characters. Returned only on $select. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq on null values). nullable: true mobilePhone: type: string description: The primary cellular telephone number for the user. Read-only for users synced from the on-premises directory. Maximum length is 64 characters. Returned by default. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq on null values) and $search. nullable: true mySite: type: string description: The URL for the user's site. Returned only on $select. nullable: true officeLocation: type: string description: The office location in the user's place of business. Returned by default. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq on null values). nullable: true onPremisesDistinguishedName: type: string description: Contains the on-premises Active Directory distinguished name or DN. The property is only populated for customers who are synchronizing their on-premises directory to Microsoft Entra ID via Microsoft Entra Connect. Read-only. Returned only on $select. nullable: true onPremisesDomainName: type: string description: Contains the on-premises domainFQDN, also called dnsDomainName synchronized from the on-premises directory. The property is only populated for customers who are synchronizing their on-premises directory to Microsoft Entra ID via Microsoft Entra Connect. Read-only. Returned only on $select. nullable: true onPremisesExtensionAttributes: anyOf: - $ref: '#/components/schemas/OnPremisesExtensionAttributes' - type: object nullable: true description: Contains extensionAttributes1-15 for the user. These extension attributes are also known as Exchange custom attributes 1-15. Each attribute can store up to 1024 characters. For an onPremisesSyncEnabled user, the source of authority for this set of properties is the on-premises and is read-only. For a cloud-only user (where onPremisesSyncEnabled is false), these properties can be set during the creation or update of a user object. For a cloud-only user previously synced from on-premises Active Directory, these properties are read-only in Microsoft Graph but can be fully managed through the Exchange Admin Center or the Exchange Online V2 module in PowerShell. Returned only on $select. Supports $filter (eq, ne, not, in). onPremisesImmutableId: type: string description: 'This property is used to associate an on-premises Active Directory user account to their Microsoft Entra user object. This property must be specified when creating a new user account in the Graph if you''re using a federated domain for the user''s userPrincipalName (UPN) property. NOTE: The $ and _ characters can''t be used when specifying this property. Returned only on $select. Supports $filter (eq, ne, not, ge, le, in).' nullable: true onPremisesLastSyncDateTime: pattern: ^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$ type: string description: 'Indicates the last time at which the object was synced with the on-premises directory; for example: 2013-02-16T03:04:54Z. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Read-only. Returned only on $select. Supports $filter (eq, ne, not, ge, le, in).' format: date-time nullable: true onPremisesProvisioningErrors: type: array items: $ref: '#/components/schemas/OnPremisesProvisioningError' description: Errors when using Microsoft synchronization product during provisioning. Returned only on $select. Supports $filter (eq, not, ge, le). onPremisesSamAccountName: type: string description: Contains the on-premises samAccountName synchronized from the on-premises directory. The property is only populated for customers who are synchronizing their on-premises directory to Microsoft Entra ID via Microsoft Entra Connect. Read-only. Returned only on $select. Supports $filter (eq, ne, not, ge, le, in, startsWith). nullable: true onPremisesSecurityIdentifier: type: string description: Contains the on-premises security identifier (SID) for the user that was synchronized from on-premises to the cloud. Read-only. Returned only on $select. Supports $filter (eq including on null values). nullable: true onPremisesSyncEnabled: type: boolean description: true if this user object is currently being synced from an on-premises Active Directory (AD); otherwise the user isn't being synced and can be managed in Microsoft Entra ID. Read-only. Returned only on $select. Supports $filter (eq, ne, not, in, and eq on null values). nullable: true onPremisesUserPrincipalName: type: string description: Contains the on-premises userPrincipalName synchronized from the on-premises directory. The property is only populated for customers who are synchronizing their on-premises directory to Microsoft Entra ID via Microsoft Entra Connect. Read-only. Returned only on $select. Supports $filter (eq, ne, not, ge, le, in, startsWith). nullable: true otherMails: type: array items: type: string description: 'A list of other email addresses for the user; for example: [''bob@contoso.com'', ''Robert@fabrikam.com'']. Can store up to 250 values, each with a limit of 250 characters. NOTE: This property can''t contain accent characters. Returned only on $select. Supports $filter (eq, not, ge, le, in, startsWith, endsWith, /$count eq 0, /$count ne 0).' passwordPolicies: type: string description: 'Specifies password policies for the user. This value is an enumeration with one possible value being DisableStrongPassword, which allows weaker passwords than the default policy to be specified. DisablePasswordExpiration can also be specified. The two might be specified together; for example: DisablePasswordExpiration, DisableStrongPassword. Returned only on $select. For more information on the default password policies, see Microsoft Entra password policies. Supports $filter (ne, not, and eq on null values).' nullable: true passwordProfile: anyOf: - $ref: '#/components/schemas/PasswordProfile' - type: object nullable: true description: 'Specifies the password profile for the user. The profile contains the user''s password. This property is required when a user is created. The password in the profile must satisfy minimum requirements as specified by the passwordPolicies property. By default, a strong password is required. Returned only on $select. Supports $filter (eq, ne, not, in, and eq on null values). To update this property: User-PasswordProfile.ReadWrite.All is the least privileged permission to update this property. In delegated scenarios, the User Administrator Microsoft Entra role is the least privileged admin role supported to update this property for nonadmin users. Privileged Authentication Administrator is the least privileged role that''s allowed to update this property for all administrators in the tenant. In general, the signed-in user must have a higher privileged administrator role as indicated in Who can reset passwords. In app-only scenarios, the calling app must be assigned a supported permission and at least the User Administrator Microsoft Entra role.' pastProjects: type: array items: type: string nullable: true description: A list for the user to enumerate their past projects. Returned only on $select. postalCode: type: string description: The postal code for the user's postal address. The postal code is specific to the user's country or region. In the United States of America, this attribute contains the ZIP code. Maximum length is 40 characters. Returned only on $select. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq on null values). nullable: true preferredDataLocation: type: string description: The preferred data location for the user. For more information, see OneDrive Online Multi-Geo. nullable: true preferredLanguage: type: string description: 'The preferred language for the user. The preferred language format is based on RFC 4646. The name is a combination of an ISO 639 two-letter lowercase culture code associated with the language, and an ISO 3166 two-letter uppercase subculture code associated with the country or region. Example: ''en-US'', or ''es-ES''. Returned by default. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq on null values)' nullable: true preferredName: type: string description: The preferred name for the user. Not Supported. This attribute returns an empty string.Returned only on $select. nullable: true print: anyOf: - $ref: '#/components/schemas/UserPrint' - type: object nullable: true provisionedPlans: type: array items: $ref: '#/components/schemas/ProvisionedPlan' description: The plans that are provisioned for the user. Read-only. Not nullable. Returned only on $select. Supports $filter (eq, not, ge, le). proxyAddresses: type: array items: type: string description: 'For example: [''SMTP: bob@contoso.com'', ''smtp: bob@sales.contoso.com'']. Changes to the mail property update this collection to include the value as an SMTP address. For more information, see mail and proxyAddresses properties. The proxy address prefixed with SMTP (capitalized) is the primary proxy address, while those addresses prefixed with smtp are the secondary proxy addresses. For Azure AD B2C accounts, this property has a limit of 10 unique addresses. Read-only in Microsoft Graph; you can update this property only through the Microsoft 365 admin center. Not nullable. Returned only on $select. Supports $filter (eq, not, ge, le, startsWith, endsWith, /$count eq 0, /$count ne 0).' responsibilities: type: array items: type: string nullable: true description: A list for the user to enumerate their responsibilities. Returned only on $select. schools: type: array items: type: string nullable: true description: A list for the user to enumerate the schools they attended. Returned only on $select. securityIdentifier: type: string description: Security identifier (SID) of the user, used in Windows scenarios. Read-only. Returned by default. Supports $select and $filter (eq, not, ge, le, startsWith). nullable: true serviceProvisioningErrors: type: array items: $ref: '#/components/schemas/ServiceProvisioningError' description: Errors published by a federated service describing a nontransient, service-specific error regarding the properties or link from a user object. Supports $filter (eq, not, for isResolved and serviceInstance). showInAddressList: type: boolean description: Do not use in Microsoft Graph. Manage this property through the Microsoft 365 admin center instead. Represents whether the user should be included in the Outlook global address list. See Known issue. nullable: true signInActivity: anyOf: - $ref: '#/components/schemas/SignInActivity' - type: object nullable: true description: 'Get the last signed-in date and request ID of the sign-in for a given user. Read-only.Returned only on $select. Supports $filter (eq, ne, not, ge, le) but not with any other filterable properties. Note: Details for this property require a Microsoft Entra ID P1 or P2 license and the AuditLog.Read.All permission.This property isn''t returned for a user who never signed in or last signed in before April 2020.' signInSessionsValidFromDateTime: pattern: ^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$ type: string description: Any refresh tokens or session tokens (session cookies) issued before this time are invalid. Applications get an error when using an invalid refresh or session token to acquire a delegated access token (to access APIs such as Microsoft Graph). If this happens, the application needs to acquire a new refresh token by requesting the authorized endpoint. Read-only. Use revokeSignInSessions to reset. Returned only on $select. format: date-time nullable: true skills: type: array items: type: string nullable: true description: A list for the user to enumerate their skills. Returned only on $select. state: type: string description: The state or province in the user's address. Maximum length is 128 characters. Returned only on $select. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq on null values). nullable: true streetAddress: type: string description: The street address of the user's place of business. Maximum length is 1,024 characters. Returned only on $select. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq on null values). nullable: true surname: type: string description: The user's surname (family name or last name). Maximum length is 64 characters. Returned by default. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq on null values). nullable: true usageLocation: type: string description: 'A two-letter country code (ISO standard 3166). Required for users that are assigned licenses due to legal requirements to check for availability of services in countries/regions. Examples include: US, JP, and GB. Not nullable. Returned only on $select. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq on null values).' nullable: true userPrincipalName: type: string description: 'The user principal name (UPN) of the user. The UPN is an Internet-style sign-in name for the user based on the Internet standard RFC 822. By convention, this value should map to the user''s email name. The general format is alias@domain, where the domain must be present in the tenant''s collection of verified domains. This property is required when a user is created. The verified domains for the tenant can be accessed from the verifiedDomains property of organization.NOTE: This property can''t contain accent characters. Only the following characters are allowed A - Z, a - z, 0 - 9, '' . - _ ! # ^ ~. For the complete list of allowed characters, see username policies. Returned by default. Supports $filter (eq, ne, not, ge, le, in, startsWith, endsWith) and $orderby.' nullable: true userType: type: string description: 'A string value that can be used to classify user types in your directory. The possible values are Member and Guest. Returned only on $select. Supports $filter (eq, ne, not, in, and eq on null values). NOTE: For more information about the permissions for members and guests, see What are the default user permissions in Microsoft Entra ID?' nullable: true activities: type: array items: $ref: '#/components/schemas/UserActivity' description: The user's activities across devices. Read-only. Nullable. x-ms-navigationProperty: true agreementAcceptances: type: array items: $ref: '#/components/schemas/AgreementAcceptance' description: The user's terms of use acceptance statuses. Read-only. Nullable. x-ms-navigationProperty: true appRoleAssignments: type: array items: $ref: '#/components/schemas/AppRoleAssignment' description: Represents the app roles a user is granted for an application. Supports $expand. x-ms-navigationProperty: true authentication: anyOf: - $ref: '#/components/schemas/Authentication' - type: object nullable: true description: The authentication methods that are supported for the user. x-ms-navigationProperty: true calendar: anyOf: - $ref: '#/components/schemas/Calendar' - type: object nullable: true description: The user's primary calendar. Read-only. x-ms-navigationProperty: true calendarGroups: type: array items: $ref: '#/components/schemas/CalendarGroup' description: The user's calendar groups. Read-only. Nullable. x-ms-navigationProperty: true calendars: type: array items: $ref: '#/components/schemas/Calendar' description: The user's calendars. Read-only. Nullable. x-ms-navigationProperty: true calendarView: type: array items: $ref: '#/components/schemas/Event' description: The calendar view for the calendar. Read-only. Nullable. x-ms-navigationProperty: true chats: type: array items: $ref: '#/components/schemas/Chat' x-ms-navigationProperty: true cloudClipboard: anyOf: - $ref: '#/components/schemas/CloudClipboardRoot' - type: object nullable: true x-ms-navigationProperty: true cloudPCs: type: array items: $ref: '#/components/schemas/CloudPc' description: The user's Cloud PCs. Read-only. Nullable. x-ms-navigationProperty: true contactFolders: type: array items: $ref: '#/components/schemas/ContactFolder' description: The user's contacts folders. Read-only. Nullable. x-ms-navigationProperty: true contacts: type: array items: $ref: '#/components/schemas/Contact' description: The user's contacts. Read-only. Nullable. x-ms-navigationProperty: true createdObjects: type: array items: $ref: '#/components/schemas/DirectoryObject' description: Directory objects that the user created. Read-only. Nullable. x-ms-navigationProperty: true dataSecurityAndGovernance: anyOf: - $ref: '#/components/schemas/UserDataSecurityAndGovernance' - type: object nullable: true description: The data security and governance settings for the user. Read-only. Nullable. x-ms-navigationProperty: true deviceManagementTroubleshootingEvents: type: array items: $ref: '#/components/schemas/DeviceManagementTroubleshootingEvent' description: The list of troubleshooting events for this user. x-ms-navigationProperty: true directReports: type: array items: $ref: '#/components/schemas/DirectoryObject' description: The users and contacts that report to the user. (The users and contacts that have their manager property set to this user.) Read-only. Nullable. Supports $expand. x-ms-navigationProperty: true drive: anyOf: - $ref: '#/components/schemas/Drive' - type: object nullable: true description: The user's OneDrive. Read-only. x-ms-navigationProperty: true drives: type: array items: $ref: '#/components/schemas/Drive' description: A collection of drives available for this user. Read-only. x-ms-navigationProperty: true employeeExperience: anyOf: - $ref: '#/components/schemas/EmployeeExperienceUser' - type: object nullable: true x-ms-navigationProperty: true events: type: array items: $ref: '#/components/schemas/Event' description: The user's events. Default is to show Events under the Default Calendar. Read-only. Nullable. x-ms-navigationProperty: true extensions: type: array items: $ref: '#/components/schemas/Extension' description: The collection of open extensions defined for the user. Read-only. Supports $expand. Nullable. x-ms-navigationProperty: true followedSites: type: array items: $ref: '#/components/schemas/Site' x-ms-navigationProperty: true inferenceClassification: anyOf: - $ref: '#/components/schemas/InferenceClassification' - type: object nullable: true description: Relevance classification of the user's messages based on explicit designations that override inferred relevance or importance. x-ms-navigationProperty: true insights: anyOf: - $ref: '#/components/schemas/ItemInsights' - type: object nullable: true description: Represents relationships between a user and items such as OneDrive for work or school documents, calculated using advanced analytics and machine learning techniques. Read-only. Nullable. x-ms-navigationProperty: true joinedTeams: type: array items: $ref: '#/components/schemas/Team' x-ms-navigationProperty: true licenseDetails: type: array items: $ref: '#/components/schemas/LicenseDetails' description: A collection of this user's license details. Read-only. x-ms-navigationProperty: true mailFolders: type: array items: $ref: '#/components/schemas/MailFolder' description: The user's mail folders. Read-only. Nullable. x-ms-navigationProperty: true managedAppRegistrations: type: array items: $ref: '#/components/schemas/ManagedAppRegistration' description: Zero or more managed app registrations that belong to the user. x-ms-navigationProperty: true managedDevices: type: array items: $ref: '#/components/schemas/ManagedDevice' description: The managed devices associated with the user. x-ms-navigationProperty: true manager: anyOf: - $ref: '#/components/schemas/DirectoryObject' - type: object nullable: true description: The user or contact that is this user's manager. Read-only. Supports $expand. x-ms-navigationProperty: true memberOf: type: array items: $ref: '#/components/schemas/DirectoryObject' description: The groups and directory roles that the user is a member of. Read-only. Nullable. Supports $expand. x-ms-navigationProperty: true messages: type: array items: $ref: '#/components/schemas/Message' description: The messages in a mailbox or folder. Read-only. Nullable. x-ms-navigationProperty: true oauth2PermissionGrants: type: array items: $ref: '#/components/schemas/OAuth2permissionGrant' x-ms-navigationProperty: true onenote: anyOf: - $ref: '#/components/schemas/Onenote' - type: object nullable: true x-ms-navigationProperty: true onlineMeetings: type: array items: $ref: '#/components/schemas/OnlineMeeting' description: Information about a meeting, including the URL used to join a meeting, the attendees list, and the description. x-ms-navigationProperty: true outlook: anyOf: - $ref: '#/components/schemas/OutlookUser' - type: object nullable: true x-ms-navigationProperty: true ownedDevices: type: array items: $ref: '#/components/schemas/DirectoryObject' description: Devices the user owns. Read-only. Nullable. Supports $expand and $filter (/$count eq 0, /$count ne 0, /$count eq 1, /$count ne 1). x-ms-navigationProperty: true ownedObjects: type: array items: $ref: '#/components/schemas/DirectoryObject' description: Directory objects the user owns. Read-only. Nullable. Supports $expand, $select nested in $expand, and $filter (/$count eq 0, /$count ne 0, /$count eq 1, /$count ne 1). x-ms-navigationProperty: true people: type: array items: $ref: '#/components/schemas/Person' description: People that are relevant to the user. Read-only. Nullable. x-ms-navigationProperty: true permissionGrants: type: array items: $ref: '#/components/schemas/ResourceSpecificPermissionGrant' description: List all resource-specific permission grants of a user. x-ms-navigationProperty: true photo: anyOf: - $ref: '#/components/schemas/ProfilePhoto' - type: object nullable: true description: The user's profile photo. Read-only. x-ms-navigationProperty: true photos: type: array items: $ref: '#/components/schemas/ProfilePhoto' description: The collection of the user's profile photos in different sizes. Read-only. x-ms-navigationProperty: true planner: anyOf: - $ref: '#/components/schemas/PlannerUser' - type: object nullable: true description: Entry-point to the Planner resource that might exist for a user. Read-only. x-ms-navigationProperty: true presence: anyOf: - $ref: '#/components/schemas/Presence' - type: object nullable: true x-ms-navigationProperty: true registeredDevices: type: array items: $ref: '#/components/schemas/DirectoryObject' description: Devices that are registered for the user. Read-only. Nullable. Supports $expand and returns up to 100 objects. x-ms-navigationProperty: true scopedRoleMemberOf: type: array items: $ref: '#/components/schemas/ScopedRoleMembership' x-ms-navigationProperty: true settings: anyOf: - $ref: '#/components/schemas/UserSettings' - type: object nullable: true x-ms-navigationProperty: true solutions: anyOf: - $ref: '#/components/schemas/UserSolutionRoot' - type: object nullable: true description: The identifier that relates the user to the working time schedule triggers. Read-Only. Nullable x-ms-navigationProperty: true sponsors: type: array items: $ref: '#/components/schemas/DirectoryObject' description: 'The users and groups responsible for this guest''s privileges in the tenant and keeping the guest''s information and access updated. (HTTP Methods: GET, POST, DELETE.). Supports $expand.' x-ms-navigationProperty: true teamwork: anyOf: - $ref: '#/components/schemas/UserTeamwork' - type: object nullable: true description: A container for Microsoft Teams features available for the user. Read-only. Nullable. x-ms-navigationProperty: true todo: anyOf: - $ref: '#/components/schemas/Todo' - type: object nullable: true description: Represents the To Do services available to a user. x-ms-navigationProperty: true transitiveMemberOf: type: array items: $ref: '#/components/schemas/DirectoryObject' description: The groups, including nested groups, and directory roles that a user is a member of. Nullable. x-ms-navigationProperty: true '@odata.type': type: string default: '#microsoft.graph.user' description: Represents a Microsoft Entra user account. x-ms-discriminator-value: '#microsoft.graph.user' Synchronization: allOf: - $ref: '#/components/schemas/Entity' - title: synchronization required: - '@odata.type' type: object properties: secrets: type: array items: $ref: '#/components/schemas/SynchronizationSecretKeyStringValuePair' description: Represents a collection of credentials to access provisioned cloud applications. jobs: type: array items: $ref: '#/components/schemas/SynchronizationJob' description: Performs synchronization by periodically running in the background, polling for changes in one directory, and pushing them to another directory. x-ms-navigationProperty: true templates: type: array items: $ref: '#/components/schemas/SynchronizationTemplate' description: Preconfigured synchronization settings for a particular application. x-ms-navigationProperty: true '@odata.type': type: string x-ms-discriminator-value: '#microsoft.graph.synchronization' KeyCredential: title: keyCredential required: - '@odata.type' type: object properties: customKeyIdentifier: type: string description: A 40-character binary type that can be used to identify the credential. Optional. When not provided in the payload, defaults to the thumbprint of the certificate. format: base64url nullable: true displayName: type: string description: The friendly name for the key, with a maximum length of 90 characters. Longer values are accepted but shortened. Optional. nullable: true endDateTime: pattern: ^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$ type: string description: The date and time at which the credential expires. The DateTimeOffset type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. format: date-time nullable: true key: type: string description: The certificate's raw data in byte array converted to Base64 string. Returned only on $select for a single object, that is, GET applications/{applicationId}?$select=keyCredentials or GET servicePrincipals/{servicePrincipalId}?$select=keyCredentials; otherwise, it's always null. From a .cer certificate, you can read the key using the Convert.ToBase64String() method. For more information, see Get the certificate key. format: base64url nullable: true keyId: pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ type: string description: The unique identifier (GUID) for the key. format: uuid nullable: true startDateTime: pattern: ^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$ type: string description: The date and time at which the credential becomes valid.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. format: date-time nullable: true type: type: string description: The type of key credential; for example, Symmetric, AsymmetricX509Cert. nullable: true usage: type: string description: A string that describes the purpose for which the key can be used; for example, Verify. nullable: true '@odata.type': type: string ServicePrincipal: allOf: - $ref: '#/components/schemas/DirectoryObject' - title: servicePrincipal required: - '@odata.type' type: object properties: accountEnabled: type: boolean description: true if the service principal account is enabled; otherwise, false. If set to false, then no users are able to sign in to this app, even if they're assigned to it. Supports $filter (eq, ne, not, in). nullable: true addIns: type: array items: $ref: '#/components/schemas/AddIn' description: Defines custom behavior that a consuming service can use to call an app in specific contexts. For example, applications that can render file streams may set the addIns property for its 'FileHandler' functionality. This lets services like Microsoft 365 call the application in the context of a document the user is working on. alternativeNames: type: array items: type: string description: Used to retrieve service principals by subscription, identify resource group and full resource IDs for managed identities. Supports $filter (eq, not, ge, le, startsWith). appDescription: type: string description: The description exposed by the associated application. nullable: true appDisplayName: type: string description: The display name exposed by the associated application. Maximum length is 256 characters. nullable: true appId: type: string description: The unique identifier for the associated application (its appId property). Alternate key. Supports $filter (eq, ne, not, in, startsWith). nullable: true applicationTemplateId: type: string description: Unique identifier of the applicationTemplate. Supports $filter (eq, not, ne). Read-only. null if the service principal wasn't created from an application template. nullable: true appOwnerOrganizationId: pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ type: string description: Contains the tenant ID where the application is registered. This is applicable only to service principals backed by applications. Supports $filter (eq, ne, NOT, ge, le). format: uuid nullable: true appRoleAssignmentRequired: type: boolean description: Specifies whether users or other service principals need to be granted an app role assignment for this service principal before users can sign in or apps can get tokens. The default value is false. Not nullable. Supports $filter (eq, ne, NOT). appRoles: type: array items: $ref: '#/components/schemas/AppRole' description: The roles exposed by the application that's linked to this service principal. For more information, see the appRoles property definition on the application entity. Not nullable. customSecurityAttributes: anyOf: - $ref: '#/components/schemas/CustomSecurityAttributeValue' - type: object nullable: true description: An open complex type that holds the value of a custom security attribute that is assigned to a directory object. Nullable. Returned only on $select. Supports $filter (eq, ne, not, startsWith). Filter value is case sensitive. To read this property, the calling app must be assigned the CustomSecAttributeAssignment.Read.All permission. To write this property, the calling app must be assigned the CustomSecAttributeAssignment.ReadWrite.All permissions. To read or write this property in delegated scenarios, the admin must be assigned the Attribute Assignment Administrator role. description: type: string description: Free text field to provide an internal end-user facing description of the service principal. End-user portals such MyApps displays the application description in this field. The maximum allowed size is 1,024 characters. Supports $filter (eq, ne, not, ge, le, startsWith) and $search. nullable: true disabledByMicrosoftStatus: type: string description: 'Specifies whether Microsoft has disabled the registered application. The possible values are: null (default value), NotDisabled, and DisabledDueToViolationOfServicesAgreement (reasons include suspicious, abusive, or malicious activity, or a violation of the Microsoft Services Agreement). Supports $filter (eq, ne, not).' nullable: true displayName: type: string description: The display name for the service principal. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq on null values), $search, and $orderby. nullable: true homepage: type: string description: Home page or landing page of the application. nullable: true info: anyOf: - $ref: '#/components/schemas/InformationalUrl' - type: object nullable: true description: 'Basic profile information of the acquired application such as app''s marketing, support, terms of service and privacy statement URLs. The terms of service and privacy statement are surfaced to users through the user consent experience. For more info, see How to: Add Terms of service and privacy statement for registered Microsoft Entra apps. Supports $filter (eq, ne, not, ge, le, and eq on null values).' keyCredentials: type: array items: $ref: '#/components/schemas/KeyCredential' description: The collection of key credentials associated with the service principal. Not nullable. Supports $filter (eq, not, ge, le). loginUrl: type: string description: Specifies the URL where the service provider redirects the user to Microsoft Entra ID to authenticate. Microsoft Entra ID uses the URL to launch the application from Microsoft 365 or the Microsoft Entra My Apps. When blank, Microsoft Entra ID performs IdP-initiated sign-on for applications configured with SAML-based single sign-on. The user launches the application from Microsoft 365, the Microsoft Entra My Apps, or the Microsoft Entra SSO URL. nullable: true logoutUrl: type: string description: Specifies the URL that the Microsoft's authorization service uses to sign out a user using OpenID Connect front-channel, back-channel, or SAML sign out protocols. nullable: true notes: type: string description: Free text field to capture information about the service principal, typically used for operational purposes. Maximum allowed size is 1,024 characters. nullable: true notificationEmailAddresses: type: array items: type: string description: Specifies the list of email addresses where Microsoft Entra ID sends a notification when the active certificate is near the expiration date. This is only for the certificates used to sign the SAML token issued for Microsoft Entra Gallery applications. oauth2PermissionScopes: type: array items: $ref: '#/components/schemas/PermissionScope' description: The delegated permissions exposed by the application. For more information, see the oauth2PermissionScopes property on the application entity's api property. Not nullable. passwordCredentials: type: array items: $ref: '#/components/schemas/PasswordCredential' description: The collection of password credentials associated with the application. Not nullable. preferredSingleSignOnMode: type: string description: 'Specifies the single sign-on mode configured for this application. Microsoft Entra ID uses the preferred single sign-on mode to launch the application from Microsoft 365 or the My Apps portal. The supported values are password, saml, notSupported, and oidc. Note: This field might be null for older SAML apps and for OIDC applications where it isn''t set automatically.' nullable: true preferredTokenSigningKeyThumbprint: type: string description: This property can be used on SAML applications (apps that have preferredSingleSignOnMode set to saml) to control which certificate is used to sign the SAML responses. For applications that aren't SAML, don't write or otherwise rely on this property. nullable: true replyUrls: type: array items: type: string description: The URLs that user tokens are sent to for sign in with the associated application, or the redirect URIs that OAuth 2.0 authorization codes and access tokens are sent to for the associated application. Not nullable. resourceSpecificApplicationPermissions: type: array items: $ref: '#/components/schemas/ResourceSpecificPermission' description: The resource-specific application permissions exposed by this application. Currently, resource-specific permissions are only supported for Teams apps accessing to specific chats and teams using Microsoft Graph. Read-only. samlSingleSignOnSettings: anyOf: - $ref: '#/components/schemas/SamlSingleSignOnSettings' - type: object nullable: true description: The collection for settings related to saml single sign-on. servicePrincipalNames: type: array items: type: string description: Contains the list of identifiersUris, copied over from the associated application. Additional values can be added to hybrid applications. These values can be used to identify the permissions exposed by this app within Microsoft Entra ID. For example,Client apps can specify a resource URI that is based on the values of this property to acquire an access token, which is the URI returned in the 'aud' claim.The any operator is required for filter expressions on multi-valued properties. Not nullable. Supports $filter (eq, not, ge, le, startsWith). servicePrincipalType: type: string description: 'Identifies whether the service principal represents an application, a managed identity, or a legacy application. This is set by Microsoft Entra ID internally. The servicePrincipalType property can be set to three different values: Application - A service principal that represents an application or service. The appId property identifies the associated app registration, and matches the appId of an application, possibly from a different tenant. If the associated app registration is missing, tokens aren''t issued for the service principal.ManagedIdentity - A service principal that represents a managed identity. Service principals representing managed identities can be granted access and permissions, but can''t be updated or modified directly.Legacy - A service principal that represents an app created before app registrations, or through legacy experiences. A legacy service principal can have credentials, service principal names, reply URLs, and other properties that are editable by an authorized user, but doesn''t have an associated app registration. The appId value doesn''t associate the service principal with an app registration. The service principal can only be used in the tenant where it was created.SocialIdp - For internal use.' nullable: true signInAudience: type: string description: 'Specifies the Microsoft accounts that are supported for the current application. Read-only. Supported values are:AzureADMyOrg: Users with a Microsoft work or school account in my organization''s Microsoft Entra tenant (single-tenant).AzureADMultipleOrgs: Users with a Microsoft work or school account in any organization''s Microsoft Entra tenant (multitenant).AzureADandPersonalMicrosoftAccount: Users with a personal Microsoft account, or a work or school account in any organization''s Microsoft Entra tenant.PersonalMicrosoftAccount: Users with a personal Microsoft account only.' nullable: true tags: type: array items: type: string description: Custom strings that can be used to categorize and identify the service principal. Not nullable. The value is the union of strings set here and on the associated application entity's tags property.Supports $filter (eq, not, ge, le, startsWith). tokenEncryptionKeyId: pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ type: string description: Specifies the keyId of a public key from the keyCredentials collection. When configured, Microsoft Entra ID issues tokens for this application encrypted using the key specified by this property. The application code that receives the encrypted token must use the matching private key to decrypt the token before it can be used for the signed-in user. format: uuid nullable: true verifiedPublisher: anyOf: - $ref: '#/components/schemas/VerifiedPublisher' - type: object nullable: true description: Specifies the verified publisher of the application that's linked to this service principal. appManagementPolicies: type: array items: $ref: '#/components/schemas/AppManagementPolicy' description: The appManagementPolicy applied to this application. x-ms-navigationProperty: true appRoleAssignedTo: type: array items: $ref: '#/components/schemas/AppRoleAssignment' description: App role assignments for this app or service, granted to users, groups, and other service principals. Supports $expand. x-ms-navigationProperty: true appRoleAssignments: type: array items: $ref: '#/components/schemas/AppRoleAssignment' description: App role assignment for another app or service, granted to this service principal. Supports $expand. x-ms-navigationProperty: true claimsMappingPolicies: type: array items: $ref: '#/components/schemas/ClaimsMappingPolicy' description: The claimsMappingPolicies assigned to this service principal. Supports $expand. x-ms-navigationProperty: true createdObjects: type: array items: $ref: '#/components/schemas/DirectoryObject' description: Directory objects created by this service principal. Read-only. Nullable. x-ms-navigationProperty: true delegatedPermissionClassifications: type: array items: $ref: '#/components/schemas/DelegatedPermissionClassification' x-ms-navigationProperty: true endpoints: type: array items: $ref: '#/components/schemas/Endpoint' x-ms-navigationProperty: true federatedIdentityCredentials: type: array items: $ref: '#/components/schemas/FederatedIdentityCredential' description: Federated identities for a specific type of service principal - managed identity. Supports $expand and $filter (/$count eq 0, /$count ne 0). x-ms-navigationProperty: true homeRealmDiscoveryPolicies: type: array items: $ref: '#/components/schemas/HomeRealmDiscoveryPolicy' description: The homeRealmDiscoveryPolicies assigned to this service principal. Supports $expand. x-ms-navigationProperty: true memberOf: type: array items: $ref: '#/components/schemas/DirectoryObject' description: 'Roles that this service principal is a member of. HTTP Methods: GET Read-only. Nullable. Supports $expand.' x-ms-navigationProperty: true oauth2PermissionGrants: type: array items: $ref: '#/components/schemas/OAuth2permissionGrant' description: Delegated permission grants authorizing this service principal to access an API on behalf of a signed-in user. Read-only. Nullable. x-ms-navigationProperty: true ownedObjects: type: array items: $ref: '#/components/schemas/DirectoryObject' description: Directory objects that this service principal owns. Read-only. Nullable. Supports $expand, $select nested in $expand, and $filter (/$count eq 0, /$count ne 0, /$count eq 1, /$count ne 1). x-ms-navigationProperty: true owners: type: array items: $ref: '#/components/schemas/DirectoryObject' description: Directory objects that are owners of this servicePrincipal. The owners are a set of nonadmin users or servicePrincipals who are allowed to modify this object. Supports $expand, $filter (/$count eq 0, /$count ne 0, /$count eq 1, /$count ne 1), and $select nested in $expand. x-ms-navigationProperty: true remoteDesktopSecurityConfiguration: anyOf: - $ref: '#/components/schemas/RemoteDesktopSecurityConfiguration' - type: object nullable: true description: The remoteDesktopSecurityConfiguration object applied to this service principal. Supports $filter (eq) for isRemoteDesktopProtocolEnabled property. x-ms-navigationProperty: true synchronization: anyOf: - $ref: '#/components/schemas/Synchronization' - type: object nullable: true description: Represents the capability for Microsoft Entra identity synchronization through the Microsoft Graph API. x-ms-navigationProperty: true tokenIssuancePolicies: type: array items: $ref: '#/components/schemas/TokenIssuancePolicy' description: The tokenIssuancePolicies assigned to this service principal. x-ms-navigationProperty: true tokenLifetimePolicies: type: array items: $ref: '#/components/schemas/TokenLifetimePolicy' description: The tokenLifetimePolicies assigned to this service principal. x-ms-navigationProperty: true transitiveMemberOf: type: array items: $ref: '#/components/schemas/DirectoryObject' x-ms-navigationProperty: true '@odata.type': type: string default: '#microsoft.graph.servicePrincipal' x-ms-discriminator-value: '#microsoft.graph.servicePrincipal' ErrorDetail: title: ErrorDetail type: object required: - code - message properties: code: type: string message: type: string target: type: string nullable: true MainError: title: MainError type: object required: - code - message properties: code: type: string description: Error code message: type: string description: Error message target: type: string description: Target of the error nullable: true details: type: array items: $ref: '#/components/schemas/ErrorDetail' innerError: $ref: '#/components/schemas/InnerError' InnerError: title: InnerError type: object properties: request-id: type: string date: type: string format: date-time client-request-id: type: string Entity: title: Entity type: object properties: id: type: string description: The unique identifier for the entity. DirectoryDefinition: allOf: - $ref: '#/components/schemas/Entity' - title: directoryDefinition required: - '@odata.type' type: object properties: discoverabilities: $ref: '#/components/schemas/DirectoryDefinitionDiscoverabilities' discoveryDateTime: pattern: ^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$ type: string description: Represents the discovery date and time using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. format: date-time nullable: true name: type: string description: Name of the directory. Must be unique within the synchronization schema. Not nullable. nullable: true objects: type: array items: $ref: '#/components/schemas/ObjectDefinition' description: Collection of objects supported by the directory. readOnly: type: boolean description: Whether this object is read-only. version: type: string description: Read only value that indicates version discovered. null if discovery hasn't yet occurred. nullable: true '@odata.type': type: string x-ms-discriminator-value: '#microsoft.graph.directoryDefinition' HomeRealmDiscoveryPolicy: allOf: - $ref: '#/components/schemas/StsPolicy' - title: homeRealmDiscoveryPolicy required: - '@odata.type' type: object properties: '@odata.type': type: string default: '#microsoft.graph.homeRealmDiscoveryPolicy' x-ms-discriminator-value: '#microsoft.graph.homeRealmDiscoveryPolicy' FederatedIdentityCredential: allOf: - $ref: '#/components/schemas/Entity' - title: federatedIdentityCredential required: - '@odata.type' type: object properties: audiences: type: array items: type: string description: The audience that can appear in the external token. This field is mandatory and should be set to api://AzureADTokenExchange for Microsoft Entra ID. It says what Microsoft identity platform should accept in the aud claim in the incoming token. This value represents Microsoft Entra ID in your external identity provider and has no fixed value across identity providers - you might need to create a new application registration in your identity provider to serve as the audience of this token. This field can only accept a single value and has a limit of 600 characters. Required. description: type: string description: The unvalidated description of the federated identity credential, provided by the user. It has a limit of 600 characters. Optional. nullable: true issuer: type: string description: The URL of the external identity provider, which must match the issuer claim of the external token being exchanged. The combination of the values of issuer and subject must be unique within the app. It has a limit of 600 characters. Required. name: type: string description: The unique identifier for the federated identity credential, which has a limit of 120 characters and must be URL friendly. The string is immutable after it's created. Alternate key. Required. Not nullable. Supports $filter (eq). subject: type: string description: Required. The identifier of the external software workload within the external identity provider. Like the audience value, it has no fixed format; each identity provider uses their own - sometimes a GUID, sometimes a colon delimited identifier, sometimes arbitrary strings. The value here must match the sub claim within the token presented to Microsoft Entra ID. The combination of issuer and subject must be unique within the app. It has a limit of 600 characters. Supports $filter (eq). '@odata.type': type: string x-ms-discriminator-value: '#microsoft.graph.federatedIdentityCredential' AppRoleAssignment: allOf: - $ref: '#/components/schemas/DirectoryObject' - title: appRoleAssignment required: - '@odata.type' type: object properties: appRoleId: pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ type: string description: The identifier (id) for the app role that's assigned to the principal. This app role must be exposed in the appRoles property on the resource application's service principal (resourceId). If the resource application hasn't declared any app roles, a default app role ID of 00000000-0000-0000-0000-000000000000 can be specified to signal that the principal is assigned to the resource app without any specific app roles. Required on create. format: uuid createdDateTime: pattern: ^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$ type: string description: The time when the app role assignment was created. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Read-only. format: date-time nullable: true principalDisplayName: type: string description: The display name of the user, group, or service principal that was granted the app role assignment. Maximum length is 256 characters. Read-only. Supports $filter (eq and startswith). nullable: true principalId: pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ type: string description: The unique identifier (id) for the user, security group, or service principal being granted the app role. Security groups with dynamic memberships are supported. Required on create. format: uuid nullable: true principalType: type: string description: The type of the assigned principal. This can either be User, Group, or ServicePrincipal. Read-only. nullable: true resourceDisplayName: type: string description: The display name of the resource app's service principal to which the assignment is made. Maximum length is 256 characters. nullable: true resourceId: pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ type: string description: The unique identifier (id) for the resource service principal for which the assignment is made. Required on create. Supports $filter (eq only). format: uuid nullable: true '@odata.type': type: string default: '#microsoft.graph.appRoleAssignment' x-ms-discriminator-value: '#microsoft.graph.appRoleAssignment' PasswordCredential: title: passwordCredential required: - '@odata.type' type: object properties: customKeyIdentifier: type: string description: Do not use. format: base64url nullable: true displayName: type: string description: Friendly name for the password. Optional. nullable: true endDateTime: pattern: ^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$ type: string description: The date and time at which the password expires represented using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Optional. format: date-time nullable: true hint: type: string description: Contains the first three characters of the password. Read-only. nullable: true keyId: pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ type: string description: The unique identifier for the password. format: uuid nullable: true secretText: type: string description: Read-only; Contains the strong passwords generated by Microsoft Entra ID that are 16-64 characters in length. The generated password value is only returned during the initial POST request to addPassword. There is no way to retrieve this password in the future. nullable: true startDateTime: pattern: ^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$ type: string description: The date and time at which the password becomes valid. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Optional. format: date-time nullable: true '@odata.type': type: string SynchronizationTemplate: allOf: - $ref: '#/components/schemas/Entity' - title: synchronizationTemplate required: - '@odata.type' type: object properties: applicationId: pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ type: string description: Identifier of the application this template belongs to. format: uuid default: type: boolean description: true if this template is recommended to be the default for the application. description: type: string description: Description of the template. nullable: true discoverable: type: boolean description: true if this template should appear in the collection of templates available for the application instance (service principal). factoryTag: type: string description: One of the well-known factory tags supported by the synchronization engine. The factoryTag tells the synchronization engine which implementation to use when processing jobs based on this template. nullable: true metadata: type: array items: $ref: '#/components/schemas/SynchronizationMetadataEntry' description: Additional extension properties. Unless mentioned explicitly, metadata values should not be changed. schema: anyOf: - $ref: '#/components/schemas/SynchronizationSchema' - type: object nullable: true description: Default synchronization schema for the jobs based on this template. x-ms-navigationProperty: true '@odata.type': type: string x-ms-discriminator-value: '#microsoft.graph.synchronizationTemplate' SynchronizationSchema: allOf: - $ref: '#/components/schemas/Entity' - title: synchronizationSchema required: - '@odata.type' type: object properties: synchronizationRules: type: array items: $ref: '#/components/schemas/SynchronizationRule' description: A collection of synchronization rules configured for the synchronizationJob or synchronizationTemplate. version: type: string description: The version of the schema, updated automatically with every schema change. nullable: true directories: type: array items: $ref: '#/components/schemas/DirectoryDefinition' description: Contains the collection of directories and all of their objects. x-ms-navigationProperty: true '@odata.type': type: string x-ms-discriminator-value: '#microsoft.graph.synchronizationSchema' Endpoint: allOf: - $ref: '#/components/schemas/DirectoryObject' - title: endpoint required: - '@odata.type' type: object properties: capability: type: string providerId: type: string nullable: true providerName: type: string nullable: true providerResourceId: type: string nullable: true uri: type: string '@odata.type': type: string default: '#microsoft.graph.endpoint' x-ms-discriminator-value: '#microsoft.graph.endpoint' SynchronizationJob: allOf: - $ref: '#/components/schemas/Entity' - title: synchronizationJob required: - '@odata.type' type: object properties: schedule: anyOf: - $ref: '#/components/schemas/SynchronizationSchedule' - type: object nullable: true description: Schedule used to run the job. Read-only. status: anyOf: - $ref: '#/components/schemas/SynchronizationStatus' - type: object nullable: true description: Status of the job, which includes when the job was last run, current job state, and errors. synchronizationJobSettings: type: array items: $ref: '#/components/schemas/KeyValuePair' description: Settings associated with the job. Some settings are inherited from the template. templateId: type: string description: Identifier of the synchronization template this job is based on. nullable: true bulkUpload: anyOf: - $ref: '#/components/schemas/BulkUpload' - type: object nullable: true description: The bulk upload operation for the job. x-ms-navigationProperty: true schema: anyOf: - $ref: '#/components/schemas/SynchronizationSchema' - type: object nullable: true description: The synchronization schema configured for the job. x-ms-navigationProperty: true '@odata.type': type: string x-ms-discriminator-value: '#microsoft.graph.synchronizationJob' BulkUpload: allOf: - $ref: '#/components/schemas/Entity' - title: bulkUpload required: - '@odata.type' type: object properties: '@odata.type': type: string x-ms-discriminator-value: '#microsoft.graph.bulkUpload' ODataCountResponse: title: ODataCountResponse type: integer format: int32 description: The count of entities ODataError: title: ODataError type: object required: - error properties: error: $ref: '#/components/schemas/MainError' DirectoryObject: allOf: - $ref: '#/components/schemas/Entity' - title: directoryObject required: - '@odata.type' type: object properties: deletedDateTime: pattern: ^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$ type: string description: Date and time when this object was deleted. Always null when the object hasn't been deleted. format: date-time nullable: true '@odata.type': type: string discriminator: propertyName: '@odata.type' mapping: '#microsoft.graph.administrativeUnit': '#/components/schemas/microsoft.graph.administrativeUnit' '#microsoft.graph.application': '#/components/schemas/microsoft.graph.application' '#microsoft.graph.appRoleAssignment': '#/components/schemas/microsoft.graph.appRoleAssignment' '#microsoft.graph.certificateAuthorityDetail': '#/components/schemas/microsoft.graph.certificateAuthorityDetail' '#microsoft.graph.certificateBasedAuthPki': '#/components/schemas/microsoft.graph.certificateBasedAuthPki' '#microsoft.graph.contract': '#/components/schemas/microsoft.graph.contract' '#microsoft.graph.device': '#/components/schemas/microsoft.graph.device' '#microsoft.graph.directoryObjectPartnerReference': '#/components/schemas/microsoft.graph.directoryObjectPartnerReference' '#microsoft.graph.directoryRole': '#/components/schemas/microsoft.graph.directoryRole' '#microsoft.graph.directoryRoleTemplate': '#/components/schemas/microsoft.graph.directoryRoleTemplate' '#microsoft.graph.endpoint': '#/components/schemas/microsoft.graph.endpoint' '#microsoft.graph.extensionProperty': '#/components/schemas/microsoft.graph.extensionProperty' '#microsoft.graph.group': '#/components/schemas/microsoft.graph.group' '#microsoft.graph.groupSettingTemplate': '#/components/schemas/microsoft.graph.groupSettingTemplate' '#microsoft.graph.multiTenantOrganizationMember': '#/components/schemas/microsoft.graph.multiTenantOrganizationMember' '#microsoft.graph.organization': '#/components/schemas/microsoft.graph.organization' '#microsoft.graph.orgContact': '#/components/schemas/microsoft.graph.orgContact' '#microsoft.graph.policyBase': '#/components/schemas/microsoft.graph.policyBase' '#microsoft.graph.appManagementPolicy': '#/components/schemas/microsoft.graph.appManagementPolicy' '#microsoft.graph.authorizationPolicy': '#/components/schemas/microsoft.graph.authorizationPolicy' '#microsoft.graph.crossTenantAccessPolicy': '#/components/schemas/microsoft.graph.crossTenantAccessPolicy' '#microsoft.graph.identitySecurityDefaultsEnforcementPolicy': '#/components/schemas/microsoft.graph.identitySecurityDefaultsEnforcementPolicy' '#microsoft.graph.permissionGrantPolicy': '#/components/schemas/microsoft.graph.permissionGrantPolicy' '#microsoft.graph.stsPolicy': '#/components/schemas/microsoft.graph.stsPolicy' '#microsoft.graph.activityBasedTimeoutPolicy': '#/components/schemas/microsoft.graph.activityBasedTimeoutPolicy' '#microsoft.graph.claimsMappingPolicy': '#/components/schemas/microsoft.graph.claimsMappingPolicy' '#microsoft.graph.homeRealmDiscoveryPolicy': '#/components/schemas/microsoft.graph.homeRealmDiscoveryPolicy' '#microsoft.graph.tokenIssuancePolicy': '#/components/schemas/microsoft.graph.tokenIssuancePolicy' '#microsoft.graph.tokenLifetimePolicy': '#/components/schemas/microsoft.graph.tokenLifetimePolicy' '#microsoft.graph.tenantAppManagementPolicy': '#/components/schemas/microsoft.graph.tenantAppManagementPolicy' '#microsoft.graph.resourceSpecificPermissionGrant': '#/components/schemas/microsoft.graph.resourceSpecificPermissionGrant' '#microsoft.graph.servicePrincipal': '#/components/schemas/microsoft.graph.servicePrincipal' '#microsoft.graph.user': '#/components/schemas/microsoft.graph.user' parameters: Filter: name: $filter in: query description: Filter items by property values style: form explode: false schema: type: string Top: name: $top in: query description: Show only the first n items style: form explode: false schema: minimum: 0 type: integer example: 50 Skip: name: $skip in: query description: Skip the first n items style: form explode: false schema: minimum: 0 type: integer Count: name: $count in: query description: Include count of items style: form explode: false schema: type: boolean Search: name: $search in: query description: Search items by search phrases style: form explode: false schema: type: string