device resource type

Namespace: microsoft.graph

Important

APIs under the /beta version in Microsoft Graph are subject to change. Use of these APIs in production applications is not supported. To determine whether an API is available in v1.0, use the Version selector.

Represents a device registered in the directory. Devices are created in the cloud using the Device Registration Service or by Intune. They're used by conditional access policies for multi-factor authentication. These devices can range from desktop and laptop machines to phones and tablets. Inherits from directoryObject.

This resource lets you add your own data to custom properties using extensions.

Methods

Method Return Type Description
Get device device Read properties and relationships of device object.
List devices device collection Retrieve a list of devices registered in the directory.
Update device device Update the properties of the device object.
Delete device None Delete the device object.
List memberOf directoryObject collection List the groups that the device is a direct member of.
List transitive memberOf directoryObject collection List the groups that the device is a member of. This operation is transitive.
List registeredOwners directoryObject collection Get the users that are registered owners of the device from the registeredOwners navigation property.
List registeredUsers directoryObject collection Get the registered users of the device from the registeredUsers navigation property.
List usageRights usageRight collection Get a collection of usage rights granted to the device.
checkMemberObjects String collection Check for membership in a list of groups, directory role, or administrative unit objects.
Open extensions
Create open extension openTypeExtension Create an open extension and add custom properties to a new or existing resource.
Get open extension openTypeExtension collection Get an open extension identified by the extension name.
Schema extensions
Add schema extension values Create a schema extension definition and then use it to add custom typed data to a resource.

Properties

Important

Specific usage of $filter and the $search query parameter is supported only when you use the ConsistencyLevel header set to eventual and $count. For more information, see Advanced query capabilities on Azure AD directory objects.

Property Type Description
accountEnabled Boolean true if the account is enabled; otherwise, false. Default is true.

Supports $filter (eq, ne, NOT, in). Only callers in Global Administrator and Cloud Device Administrator roles can set this property.
alternativeSecurityIds alternativeSecurityId collection For internal use only. Not nullable. Supports $filter (eq, NOT, ge, le).
approximateLastSignInDateTime DateTimeOffset 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. Supports $filter (eq, ne, NOT, ge, le) and $orderBy.
complianceExpirationDateTime DateTimeOffset The timestamp when the device is no longer deemed compliant. 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.
deviceCategory String User-defined property set by Intune to automatically add devices to groups and simplify managing devices.
deviceId String Identifier set by Azure Device Registration Service at the time of registration. Supports $filter (eq, ne, NOT, startsWith).
deviceMetadata String For internal use only. Set to null.
deviceOwnership String Ownership of the device. This property is set by Intune. Possible values are: unknown, company, personal.
deviceVersion Int32 For internal use only.
displayName String The display name for the device. Required. Supports $filter (eq, ne, NOT, ge, le, in, startsWith), $search, and $orderBy.
domainName String The on-premises domain name of Hybrid Azure AD joined devices. This property is set by Intune.
enrollmentProfileName String Enrollment profile applied to the device. For example, Apple Device Enrollment Profile, Device enrollment - Corporate device identifiers, or Windows Autopilot profile name. This property is set by Intune.
enrollmentType String Enrollment type of the device. This property is set by Intune. Possible values are: unknown, userEnrollment, deviceEnrollmentManager, appleBulkWithUser, appleBulkWithoutUser, windowsAzureADJoin, windowsBulkUserless, windowsAutoEnrollment, windowsBulkAzureDomainJoin, windowsCoManagement.
id String The unique identifier for the device. Inherited from directoryObject. Key, Not nullable. Read-only. Supports $filter (eq, ne, NOT, in).
isCompliant Boolean true if the device complies with Mobile Device Management (MDM) policies; otherwise, false. Read-only. This can only be updated by Intune for any device OS type or by an approved MDM app for Windows OS devices. Supports $filter (eq, ne, NOT).
isManaged Boolean true if the device is managed by a Mobile Device Management (MDM) app; otherwise, false. This can only be updated by Intune for any device OS type or by an approved MDM app for Windows OS devices. Supports $filter (eq, ne, NOT).
isRooted Boolean true if device is rooted; false if device is jail-broken. This can only be updated by Intune.
managementType String Management channel of the device. This property is set by Intune. Possible values are: eas, mdm, easMdm, intuneClient, easIntuneClient, configurationManagerClient, configurationManagerClientMdm, configurationManagerClientMdmEas, unknown, jamf, googleCloudDevicePolicyController.
manufacturer String Manufacturer of the device. Read-only.
mdmAppId String Application identifier used to register device into MDM. Read-only. Supports $filter (eq, ne, NOT, startsWith).
model String Model of the device. Read-only.
onPremisesLastSyncDateTime DateTimeOffset The last time at which the object was synced with the on-premises directory. 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. Supports $filter (eq, ne, NOT, ge, le, in).
onPremisesSyncEnabled Boolean true if this object is synced from an on-premises directory; false if this object was originally synced from an on-premises directory but is no longer synced; null if this object has never been synced from an on-premises directory (default). Read-only. Supports $filter (eq, ne, NOT, in).
operatingSystem String The type of operating system on the device. Required. Supports $filter (eq, ne, NOT, ge, le, startsWith).
operatingSystemVersion String Operating system version of the device. Required. Supports $filter (eq, ne, NOT, ge, le, startsWith).
physicalIds String collection For internal use only. Not nullable. Supports $filter (eq, NOT, ge, le, startsWith).
profileType String The profile type of the device. Possible values: RegisteredDevice (default), SecureVM, Printer, Shared, IoT.
registrationDateTime DateTimeOffset Date and time of when the device was registered. 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.
systemLabels String collection List of labels applied to the device by the system.
hostnames String collection List of hostNames for the device.
trustType String Type of trust for the joined device. Read-only. Possible values: Workplace (indicates bring your own personal devices), AzureAd (Cloud only joined devices), ServerAd (on-premises domain joined devices joined to Azure AD). For more details, see Introduction to device management in Azure Active Directory
name String Friendly name of a device. Only returned if user signs in with a Microsoft account as part of Project Rome.
status String Device is online or offline. Only returned if user signs in with a Microsoft account as part of Project Rome.
platform String Platform of device. Only returned if user signs in with a Microsoft account as part of Project Rome. Only returned if user signs in with a Microsoft account as part of Project Rome.
kind String Form factor of device. Only returned if user signs in with a Microsoft account as part of Project Rome.
model String Model of device. Only returned if user signs in with a Microsoft account as part of Project Rome.
manufacturer String Manufacturer of device. Only returned if user signs in with a Microsoft account as part of Project Rome.

Relationships

Relationship Type Description
commands command collection Set of commands sent to this device.
extensions extension collection The collection of open extensions defined for the device. Read-only. Nullable.
memberOf directoryObject collection Groups that this device is a member of. Read-only. Nullable. Supports $expand.
registeredOwners directoryObject collection The user that cloud joined the device or registered their personal device. The registered owner is set at the time of registration. Currently, there can be only one owner. Read-only. Nullable. Supports $expand.
registeredUsers directoryObject collection Collection of registered users of the device. For cloud joined devices and registered personal devices, registered users are set to the same value as registered owners at the time of registration. Read-only. Nullable. Supports $expand.
transitiveMemberOf directoryObject collection Groups that this device is a member of. This operation is transitive. Supports $expand.
usageRights usageRight collection Represents the usage rights a device has been granted.

JSON representation

The following is a JSON representation of the resource.

{
  "accountEnabled": true,
  "approximateLastSignInDateTime": "String (timestamp)",
  "complianceExpirationDateTime": "String (timestamp)",
  "deviceCategory": "string",
  "deviceId": "string",
  "deviceMetadata": "string",
  "deviceOwnership": "string",
  "deviceVersion": 1024,
  "displayName": "string",
  "domainName": "string",
  "enrollmentProfileName": "string",
  "enrollmentType": "string",
  "id": "string (identifier)",
  "isCompliant": true,
  "isManaged": true,
  "isRooted": true,
  "mdmAppId": "string",
  "onPremisesLastSyncDateTime": "String (timestamp)",
  "onPremisesSyncEnabled": true,
  "operatingSystem": "string",
  "operatingSystemVersion": "string",
  "physicalIds": ["string"],
  "profileType": "string",
  "registrationDateTime": "String (timestamp)",
  "systemLabels": ["string"],
  "hostNames" : ["string"],
  "trustType": "string",
  "Name": "string",
  "Status": "string",
  "Platform": "string",
  "Kind": "string",
  "Model": "string",
  "managementType": "string",
  "Manufacturer": "string"
}

See also