AI-generated Key Takeaways
- 
          
CompanyReferenceuniquely identifies a company using a server-assignedcompanyIdand specifies thevendoras eitherSamsungorGoogle. - 
          
A
Companyobject includes acompanyReference,companyName(displayed in the zero-touch enrollment portal), andvendorParamsfor additional vendor-specific data. - 
          
A
Deviceis identified by a server-assigneddeviceId, hardwaredeviceIdentifier, associatedcustomercompany, and allows forvendorParams. - 
          
DeviceIdentifierrequires different fields depending on the device type: Samsung devices need one of IMEI, serialNumber, or meid, while other devices require IMEI and manufacturer for cellular and serialNumber, manufacturer, and model for Wi-Fi-only. - 
          
An
Operationrepresents an asynchronous API call's status, which can beIN_PROGRESS,COMPLETE,COMPLETE_WITH_ERRORS, orFAILED, and includes anoperationId,operationType, and potentially a list ofdeviceErrors. 
CompanyReference
Uniquely identifies a company.
| Field name | Data type | Description | 
|---|---|---|
companyId | 
string | 
Output only. The ID of the company, assigned by the server. | 
vendor | 
enum | 
Samsung or Google. | 
Company
Represents a company.
| Field name | Data type | Description | 
|---|---|---|
companyReference | 
object(CompanyReference) | 
Company reference object. | 
companyName | 
string | 
The name of the company. For example XYZ Corp. Displayed to the company's employees in the zero-touch enrollment portal. | 
vendorParams | 
map | 
Extra fields in vendor-specified key-value pairs. | 
Device
An Android device registered for enrollment.
| Field name | Data type | Description | 
|---|---|---|
deviceId | 
string | 
Output only. The ID of the device, assigned by the server. | 
deviceIdentifier | 
object(DeviceIdentifier) | 
The hardware IDs that identify a manufactured device. | 
customer | 
object(CompanyReference) | 
The company IDs that identify which company the devices is assigned to. | 
orderNumber | 
string | 
The order number. | 
vendorParams | 
map | 
Extra fields in vendor-specified key-value pairs. | 
DeviceIdentifier
Encapsulates hardware and product IDs to identify a manufacturer's device.
Samsung devices require one of the following fields:
IMEIserialNumbermeid
All other fields, like model, are ignored.
For all other Android devices:
- Cellular devices require 
imeiandmanufacturer. - WiFi-only devices require 
serialNumber,manufacturer, andmodel. 
| Field name | Data type | Description | 
|---|---|---|
imei | 
string | 
The device's IMEI number. Validated on input. | 
serialNumber | 
string | 
The manufacturer's serial number for the device. This value might not be unique across different device models. | 
meid | 
string | 
The device's MEID number. | 
manufacturer | 
string | 
The device manufacturer's name. Matches the device's built-in value returned from android.os.Build.MANUFACTURER. Allowed values are listed in manufacturers. | 
model | 
string | 
The device model's name. Matches the device's built-in value returned from android.os.Build.MODEL. Allowed values are listed in models. | 
Operation
This resource contains the status of an asynchronous API call. There are four possible statuses:
IN_PROGRESS: The operation is in progress.COMPLETE: All devices were successfully processed.COMPLETE_WITH_ERRORS: The operation was processed, but some errors occurred. All errors are listed in thedeviceErrorslist.FAILED: The operation failed and nooperationIdis returned.
| Field name | Data type | Description | 
|---|---|---|
operationId | 
string | 
The operation ID, prefixed with samsung/ or google/. If empty,state is FAILED. | 
operationType | 
enum(operationType) | 
The operation type: CLAIM_DEVICES or UNCLAIM_DEVICES. | 
state | 
enum(operationState) | 
The operation state: IN_PROGRESS, COMPLETE, COMPLETE_WITH_ERRORS, FAILED. | 
deviceErrors | 
List of object(DeviceOperationError) | 
List of device operation errors. | 
vendorParams | 
map | 
Extra fields in vendor-specified key-value pairs. | 
DeviceOperationError
A device-specific error in an Operation. Each resource contains the same
deviceId and deviceIdentifier as the request that started the operation.
| Field name | Data type | Description | 
|---|---|---|
deviceId | 
string | 
Output only. The ID of the device, assigned by the server. | 
deviceIdentifier | 
object(DeviceIdentifier) | 
The hardware IDs that identify a manufactured device. | 
error | 
object(Error) | 
The device operation error. | 
CommonException
An exception that can be thrown by all synchronous APIs.
| Property name | Value | Description | 
|---|---|---|
error | 
object(Error) | 
Synchronous operation error. | 
Error
An object containing details about an error.
| Property name | Value | Description | 
|---|---|---|
code | 
enum(ErrorCode) | 
The error code. For example, INVALID_REQUESET or PERMISSION_DENIED | 
message | 
string | 
The error message. | 
vendorMsg | 
string | 
A detailed explanation of the error from the vendor. | 
errorId | 
string | 
The internal error identifier. | 
vendorParams | 
map | 
Extra fields in vendor-specified key-value pairs. | 
ErrorCode
Common errors.
| Enum | Description | 
|---|---|
INVALID_PARAM_DEFAULT | 
Unspecified invalid input parameter. Look at the vendorMsg to get more details. | 
INVALID_PAGE_TOKEN | 
The pageToken that was provided is invalid. | 
INVALID_CUSTOMER_ID | 
The customerId provided is invalid. | 
INVALID_DEVICE_IMEI | 
Invalid IMEI. | 
INVALID_DEVICE_MEID | 
Invalid MEID. | 
INVALID_DEVICE_SERIAL | 
Invalid Serial number. | 
INVALID_OPERATION_ID | 
The operationId provided is invalid. | 
INVALID_RESELLER_ID | 
The resellerId provided is invalid. | 
INVALID_MANUFACTURER | 
The manufacturer provided is invalid / unsupported. | 
INVALID_IDENTIFIER_SET | 
The set of identifiers provided is not sufficient for the request. See DeviceIdentifier for more information on allowed identifier sets. | 
INVALID_MODEL | 
The model provided is invalid / unsupported. | 
INVALID_DEVICE_ID | 
The deviceId provided is invalid. | 
INVALID_DEVICE | 
The provided device does not exist. This is a Samsung specific error code. | 
DUPLICATE_DEVICE | 
The device was previously claimed to the same customer. No corrective action required. | 
DEVICE_UPLOAD_COUNT_EXCEEDED | 
The request contains more devices that the limit (currently 100k). | 
AUTHORIZATION_FAIL | 
You do not have access to a given resource (e.g. device, customer), or the resource does not exist. Look at vendorMsg to get more details. | 
INTERNAL_SERVER_ERROR | 
Unspecified internal server error. Look at vendorMsg to get more details. These requests can be retried depending on the nature of the server error. | 
NOT_IMPLEMENTED | 
The request method is not supported by the server. |