---
title: "POST /v1/devices"
method: POST
path: "/v1/devices"
tags: ["devices"]
---

# POST /v1/devices

`POST /v1/devices`

Creates a device. Only company-owned device may be created. **Note**: This method is available only to customers who have one of the following SKUs: Enterprise Standard, Enterprise Plus, Enterprise for Education, and Cloud Identity Premium

## Query parameters

- `customer` string

## Request body

- GoogleAppsCloudidentityDevicesV1Device — A Device within the Cloud Identity Devices API. Represents a Device known to Google Cloud, independent of the device ownership, type, and whether it is assigned or in use by a user.
  - `deviceType` 'DEVICE_TYPE_UNSPECIFIED' | 'ANDROID' | 'IOS' | 'GOOGLE_SYNC' | 'WINDOWS' | 'MAC_OS' | 'LINUX' | 'CHROME_OS' — Output only. Type of device.
  - `manufacturer` string — Output only. Device manufacturer. Example: Motorola.
  - `lastSyncTime` string, google-datetime — Most recent time when device synced with this service.
  - `hostname` string — Host name of the device.
  - `serialNumber` string — Serial Number of device. Example: HT82V1A01076.
  - `bootloaderVersion` string — Output only. Device bootloader version. Example: 0.6.7.
  - `buildNumber` string — Output only. Build number of the device.
  - `releaseVersion` string — Output only. OS release version. Example: 6.0.
  - `name` string — Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}`, where device is the unique id assigned to the Device. Important: Device API scopes require that you use domain-wide delegation to access the API. For more information, see [Set up the Devices API](https://cloud.google.com/identity/docs/how-to/setup-devices).
  - `kernelVersion` string — Output only. Kernel version of the device.
  - `osVersion` string — Output only. OS version of the device. Example: Android 8.1.0.
  - `wifiMacAddresses` string[] — WiFi MAC addresses of device.
  - `ownerType` 'DEVICE_OWNERSHIP_UNSPECIFIED' | 'COMPANY' | 'BYOD' — Output only. Whether the device is owned by the company or an individual
  - `encryptionState` 'ENCRYPTION_STATE_UNSPECIFIED' | 'UNSUPPORTED_BY_DEVICE' | 'ENCRYPTED' | 'NOT_ENCRYPTED' — Output only. Device encryption state.
  - `model` string — Output only. Model name of device. Example: Pixel 3.
  - `createTime` string, google-datetime — Output only. When the Company-Owned device was imported. This field is empty for BYOD devices.
  - `unifiedDeviceId` string — Output only. Unified device id of the device.
  - `brand` string — Output only. Device brand. Example: Samsung.
  - `securityPatchTime` string, google-datetime — Output only. OS security patch update time on device.
  - `endpointVerificationSpecificAttributes` GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes — Resource representing the [Endpoint Verification-specific attributes](https://cloud.google.com/endpoint-verification/docs/device-information) of a device.
    - `certificateAttributes` GoogleAppsCloudidentityDevicesV1CertificateAttributes[] — Details of certificates.
      - `issuer` string — The name of the issuer of this certificate.
      - `subject` string — The subject name of this certificate.
      - `fingerprint` string — The encoded certificate fingerprint.
      - `certificateTemplate` GoogleAppsCloudidentityDevicesV1CertificateTemplate — CertificateTemplate (v3 Extension in X.509).
        - `majorVersion` integer — The Major version of the template. Example: 100.
        - `minorVersion` integer — The minor version of the template. Example: 12.
        - `id` string — The template id of the template. Example: "1.3.6.1.4.1.311.21.8.15608621.11768144.5720724.16068415.6889630.81.2472537.7784047".
      - `validityStartTime` string, google-datetime — Certificate not valid before this timestamp.
      - `serialNumber` string — Serial number of the certificate, Example: "123456789".
      - `validationState` 'CERTIFICATE_VALIDATION_STATE_UNSPECIFIED' | 'VALIDATION_SUCCESSFUL' | 'VALIDATION_FAILED' — Output only. Validation state of this certificate.
      - `validityExpirationTime` string, google-datetime — Certificate not valid at or after this timestamp.
      - `thumbprint` string — The certificate thumbprint.
    - `additionalSignals` object — [Additional signals](https://cloud.google.com/endpoint-verification/docs/device-information) reported by Endpoint Verification. It includes the following attributes: * Non-configurable attributes: hotfixes, av_installed, av_enabled, windows_domain_name, is_os_native_firewall_enabled, and is_secure_boot_enabled. * [Configurable attributes](https://cloud.google.com/endpoint-verification/docs/collect-config-attributes): file, folder, and binary attributes; registry entries; and properties in a plist.
    - `browserAttributes` GoogleAppsCloudidentityDevicesV1BrowserAttributes[] — Details of browser profiles reported by Endpoint Verification.
      - `lastProfileSyncTime` string, google-datetime — Timestamp in milliseconds since the Unix epoch when the profile/gcm id was last synced.
      - `chromeBrowserInfo` GoogleAppsCloudidentityDevicesV1BrowserInfo — Browser-specific fields reported by the [Endpoint Verification extension](https://chromewebstore.google.com/detail/endpoint-verification/callobklhcbilhphinckomhgkigmfocg?pli=1).
        - `isSiteIsolationEnabled` boolean — Current state of [site isolation](https://chromeenterprise.google/policies/?policy=IsolateOrigins).
        - `isSecurityEventAnalysisEnabled` boolean — Current state of [security event analysis](https://chromeenterprise.google/policies/#OnSecurityEventEnterpriseConnector). Set to true if provider list from Chrome is non-empty.
        - `isRealtimeUrlCheckEnabled` boolean — Current state of [real-time URL check](https://chromeenterprise.google/policies/#EnterpriseRealTimeUrlCheckMode). Set to true if provider list from Chrome is non-empty.
        - `isBuiltInDnsClientEnabled` boolean — Current state of [built-in DNS client](https://chromeenterprise.google/policies/#BuiltInDnsClientEnabled).
        - `browserVersion` string — Version of the request initiating browser. E.g. `91.0.4442.4`.
        - `safeBrowsingProtectionLevel` 'SAFE_BROWSING_LEVEL_UNSPECIFIED' | 'DISABLED' | 'STANDARD' | 'ENHANCED' — Current state of [Safe Browsing protection level](https://chromeenterprise.google/policies/#SafeBrowsingProtectionLevel).
        - `isBulkDataEntryAnalysisEnabled` boolean — Current state of [bulk data analysis](https://chromeenterprise.google/policies/#OnBulkDataEntryEnterpriseConnector). Set to true if provider list from Chrome is non-empty.
        - `isChromeCleanupEnabled` boolean — Deprecated: This field is not used for Chrome version 118 and later. Current state of [Chrome Cleanup](https://chromeenterprise.google/policies/#ChromeCleanupEnabled).
        - `isThirdPartyBlockingEnabled` boolean — Current state of [third-party blocking](https://chromeenterprise.google/policies/#ThirdPartyBlockingEnabled).
        - `isFileDownloadAnalysisEnabled` boolean — Current state of [file download analysis](https://chromeenterprise.google/policies/#OnFileDownloadedEnterpriseConnector). Set to true if provider list from Chrome is non-empty.
        - `isChromeRemoteDesktopAppBlocked` boolean — Current state of [Chrome Remote Desktop app](https://chromeenterprise.google/policies/#URLBlocklist).
        - `browserManagementState` 'UNSPECIFIED' | 'UNMANAGED' | 'MANAGED_BY_OTHER_DOMAIN' | 'PROFILE_MANAGED' | 'BROWSER_MANAGED' — Output only. Browser's management state.
        - `isFileUploadAnalysisEnabled` boolean — Current state of [file upload analysis](https://chromeenterprise.google/policies/#OnFileAttachedEnterpriseConnector). Set to true if provider list from Chrome is non-empty.
        - `passwordProtectionWarningTrigger` 'PASSWORD_PROTECTION_TRIGGER_UNSPECIFIED' | 'PROTECTION_OFF' | 'PASSWORD_REUSE' | 'PHISHING_REUSE' — Current state of [password protection trigger](https://chromeenterprise.google/policies/#PasswordProtectionWarningTrigger).
      - `chromeProfileId` string — Chrome profile ID that is exposed by the Chrome API. It is unique for each device.
  - `assetTag` string — Asset tag of the device.
  - `enabledDeveloperOptions` boolean — Output only. Whether developer options is enabled on device.
  - `basebandVersion` string — Output only. Baseband version of the device.
  - `networkOperator` string — Output only. Mobile or network operator of device, if available.
  - `enabledUsbDebugging` boolean — Output only. Whether USB debugging is enabled on device.
  - `imei` string — Output only. IMEI number of device if GSM device; empty otherwise.
  - `meid` string — Output only. MEID number of device if CDMA device; empty otherwise.
  - `androidSpecificAttributes` GoogleAppsCloudidentityDevicesV1AndroidAttributes — Resource representing the Android specific attributes of a Device.
    - `supportsWorkProfile` boolean — Whether device supports Android work profiles. If false, this service will not block access to corp data even if an administrator turns on the "Enforce Work Profile" policy.
    - `verifyAppsEnabled` boolean — Whether Google Play Protect Verify Apps is enabled.
    - `enabledUnknownSources` boolean — Whether applications from unknown sources can be installed on device.
    - `ownershipPrivilege` 'OWNERSHIP_PRIVILEGE_UNSPECIFIED' | 'DEVICE_ADMINISTRATOR' | 'PROFILE_OWNER' | 'DEVICE_OWNER' — Ownership privileges on device.
    - `ownerProfileAccount` boolean — Whether this account is on an owner/primary profile. For phones, only true for owner profiles. Android 4+ devices can have secondary or restricted user profiles.
    - `ctsProfileMatch` boolean — Whether the device passes Android CTS compliance.
    - `hasPotentiallyHarmfulApps` boolean — Whether any potentially harmful apps were detected on the device.
    - `verifiedBoot` boolean — Whether Android verified boot status is GREEN.
  - `deviceId` string — Unique identifier for the device.
  - `otherAccounts` string[] — Output only. Domain name for Google accounts on device. Type for other accounts on device. On Android, will only be populated if |ownership_privilege| is |PROFILE_OWNER| or |DEVICE_OWNER|. Does not include the account signed in to the device policy app if that account's domain has only one account. Examples: "com.example", "xyz.com".
  - `managementState` 'MANAGEMENT_STATE_UNSPECIFIED' | 'APPROVED' | 'BLOCKED' | 'PENDING' | 'UNPROVISIONED' | 'WIPING' | 'WIPED' — Output only. Management state of the device
  - `compromisedState` 'COMPROMISED_STATE_UNSPECIFIED' | 'COMPROMISED' | 'UNCOMPROMISED' — Output only. Represents whether the Device is compromised.

## Response `200`

Successful response

---

[API](https://skmtc.net/google/apis/cloudidentity.md) · [All operations](https://skmtc.net/google/apis/cloudidentity/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/google/cloudidentity/revisions/179b4eeed5a2/schema)
