{
  "basePath": "",
  "baseUrl": "https://androiddeviceprovisioning.googleapis.com/",
  "batchPath": "batch",
  "canonicalName": "Android Provisioning Partner",
  "description": "Automates Android zero-touch enrollment for device resellers, customers, and EMMs.",
  "discoveryVersion": "v1",
  "documentationLink": "https://developers.google.com/zero-touch/",
  "fullyEncodeReservedExpansion": true,
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "id": "androiddeviceprovisioning:v1",
  "kind": "discovery#restDescription",
  "name": "androiddeviceprovisioning",
  "ownerDomain": "google.com",
  "ownerName": "Google",
  "parameters": {
    "$.xgafv": {
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "type": "string"
    },
    "access_token": {
      "description": "OAuth access token.",
      "location": "query",
      "type": "string"
    },
    "alt": {
      "default": "json",
      "description": "Data format for response.",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "location": "query",
      "type": "string"
    },
    "callback": {
      "description": "JSONP",
      "location": "query",
      "type": "string"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query",
      "type": "string"
    },
    "key": {
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "location": "query",
      "type": "string"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "location": "query",
      "type": "string"
    },
    "prettyPrint": {
      "default": "true",
      "description": "Returns response with indentations and line breaks.",
      "location": "query",
      "type": "boolean"
    },
    "quotaUser": {
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "location": "query",
      "type": "string"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query",
      "type": "string"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query",
      "type": "string"
    }
  },
  "protocol": "rest",
  "resources": {
    "customers": {
      "methods": {
        "list": {
          "description": "Lists the user's customer accounts.",
          "flatPath": "v1/customers",
          "httpMethod": "GET",
          "id": "androiddeviceprovisioning.customers.list",
          "parameterOrder": [],
          "parameters": {
            "pageSize": {
              "description": "The maximum number of customers to show in a page of results.\nA number between 1 and 100 (inclusive).",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "pageToken": {
              "description": "A token specifying which result page to return.",
              "location": "query",
              "type": "string"
            }
          },
          "path": "v1/customers",
          "response": {
            "$ref": "CustomerListCustomersResponse"
          }
        }
      },
      "resources": {
        "configurations": {
          "methods": {
            "create": {
              "description": "Creates a new configuration. Once created, a customer can apply the\nconfiguration to devices.",
              "flatPath": "v1/customers/{customersId}/configurations",
              "httpMethod": "POST",
              "id": "androiddeviceprovisioning.customers.configurations.create",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. The customer that manages the configuration. An API resource name\nin the format `customers/[CUSTOMER_ID]`.",
                  "location": "path",
                  "pattern": "^customers/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+parent}/configurations",
              "request": {
                "$ref": "Configuration"
              },
              "response": {
                "$ref": "Configuration"
              }
            },
            "delete": {
              "description": "Deletes an unused configuration. The API call fails if the customer has\ndevices with the configuration applied.",
              "flatPath": "v1/customers/{customersId}/configurations/{configurationsId}",
              "httpMethod": "DELETE",
              "id": "androiddeviceprovisioning.customers.configurations.delete",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. The configuration to delete. An API resource name in the format\n`customers/[CUSTOMER_ID]/configurations/[CONFIGURATION_ID]`. If the\nconfiguration is applied to any devices, the API call fails.",
                  "location": "path",
                  "pattern": "^customers/[^/]+/configurations/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}",
              "response": {
                "$ref": "Empty"
              }
            },
            "get": {
              "description": "Gets the details of a configuration.",
              "flatPath": "v1/customers/{customersId}/configurations/{configurationsId}",
              "httpMethod": "GET",
              "id": "androiddeviceprovisioning.customers.configurations.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. The configuration to get. An API resource name in the format\n`customers/[CUSTOMER_ID]/configurations/[CONFIGURATION_ID]`.",
                  "location": "path",
                  "pattern": "^customers/[^/]+/configurations/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}",
              "response": {
                "$ref": "Configuration"
              }
            },
            "list": {
              "description": "Lists a customer's configurations.",
              "flatPath": "v1/customers/{customersId}/configurations",
              "httpMethod": "GET",
              "id": "androiddeviceprovisioning.customers.configurations.list",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. The customer that manages the listed configurations. An API\nresource name in the format `customers/[CUSTOMER_ID]`.",
                  "location": "path",
                  "pattern": "^customers/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+parent}/configurations",
              "response": {
                "$ref": "CustomerListConfigurationsResponse"
              }
            },
            "patch": {
              "description": "Updates a configuration's field values.",
              "flatPath": "v1/customers/{customersId}/configurations/{configurationsId}",
              "httpMethod": "PATCH",
              "id": "androiddeviceprovisioning.customers.configurations.patch",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Output only. The API resource name in the format\n`customers/[CUSTOMER_ID]/configurations/[CONFIGURATION_ID]`. Assigned by\nthe server.",
                  "location": "path",
                  "pattern": "^customers/[^/]+/configurations/[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "updateMask": {
                  "description": "Required. The field mask applied to the target `Configuration` before\nupdating the fields. To learn more about using field masks, read\n[FieldMask](/protocol-buffers/docs/reference/google.protobuf#fieldmask) in\nthe Protocol Buffers documentation.",
                  "format": "google-fieldmask",
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v1/{+name}",
              "request": {
                "$ref": "Configuration"
              },
              "response": {
                "$ref": "Configuration"
              }
            }
          }
        },
        "devices": {
          "methods": {
            "applyConfiguration": {
              "description": "Applies a Configuration to the device to register the device for zero-touch\nenrollment. After applying a configuration to a device, the device\nautomatically provisions itself on first boot, or next factory reset.",
              "flatPath": "v1/customers/{customersId}/devices:applyConfiguration",
              "httpMethod": "POST",
              "id": "androiddeviceprovisioning.customers.devices.applyConfiguration",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. The customer managing the device. An API resource name in the\nformat `customers/[CUSTOMER_ID]`.",
                  "location": "path",
                  "pattern": "^customers/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+parent}/devices:applyConfiguration",
              "request": {
                "$ref": "CustomerApplyConfigurationRequest"
              },
              "response": {
                "$ref": "Empty"
              }
            },
            "get": {
              "description": "Gets the details of a device.",
              "flatPath": "v1/customers/{customersId}/devices/{devicesId}",
              "httpMethod": "GET",
              "id": "androiddeviceprovisioning.customers.devices.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. The device to get. An API resource name in the format\n`customers/[CUSTOMER_ID]/devices/[DEVICE_ID]`.",
                  "location": "path",
                  "pattern": "^customers/[^/]+/devices/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}",
              "response": {
                "$ref": "Device"
              }
            },
            "list": {
              "description": "Lists a customer's devices.",
              "flatPath": "v1/customers/{customersId}/devices",
              "httpMethod": "GET",
              "id": "androiddeviceprovisioning.customers.devices.list",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "pageSize": {
                  "description": "The maximum number of devices to show in a page of results.\nMust be between 1 and 100 inclusive.",
                  "format": "int64",
                  "location": "query",
                  "type": "string"
                },
                "pageToken": {
                  "description": "A token specifying which result page to return.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "Required. The customer managing the devices. An API resource name in the\nformat `customers/[CUSTOMER_ID]`.",
                  "location": "path",
                  "pattern": "^customers/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+parent}/devices",
              "response": {
                "$ref": "CustomerListDevicesResponse"
              }
            },
            "removeConfiguration": {
              "description": "Removes a configuration from device.",
              "flatPath": "v1/customers/{customersId}/devices:removeConfiguration",
              "httpMethod": "POST",
              "id": "androiddeviceprovisioning.customers.devices.removeConfiguration",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. The customer managing the device in the format\n`customers/[CUSTOMER_ID]`.",
                  "location": "path",
                  "pattern": "^customers/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+parent}/devices:removeConfiguration",
              "request": {
                "$ref": "CustomerRemoveConfigurationRequest"
              },
              "response": {
                "$ref": "Empty"
              }
            },
            "unclaim": {
              "description": "Unclaims a device from a customer and removes it from zero-touch\nenrollment.\n\nAfter removing a device, a customer must contact their reseller to register\nthe device into zero-touch enrollment again.",
              "flatPath": "v1/customers/{customersId}/devices:unclaim",
              "httpMethod": "POST",
              "id": "androiddeviceprovisioning.customers.devices.unclaim",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. The customer managing the device. An API resource name in the\nformat `customers/[CUSTOMER_ID]`.",
                  "location": "path",
                  "pattern": "^customers/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+parent}/devices:unclaim",
              "request": {
                "$ref": "CustomerUnclaimDeviceRequest"
              },
              "response": {
                "$ref": "Empty"
              }
            }
          }
        },
        "dpcs": {
          "methods": {
            "list": {
              "description": "Lists the DPCs (device policy controllers) that support zero-touch\nenrollment.",
              "flatPath": "v1/customers/{customersId}/dpcs",
              "httpMethod": "GET",
              "id": "androiddeviceprovisioning.customers.dpcs.list",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. The customer that can use the DPCs in configurations. An API\nresource name in the format `customers/[CUSTOMER_ID]`.",
                  "location": "path",
                  "pattern": "^customers/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+parent}/dpcs",
              "response": {
                "$ref": "CustomerListDpcsResponse"
              }
            }
          }
        }
      }
    },
    "operations": {
      "methods": {
        "get": {
          "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
          "flatPath": "v1/operations/{operationsId}",
          "httpMethod": "GET",
          "id": "androiddeviceprovisioning.operations.get",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "The name of the operation resource.",
              "location": "path",
              "pattern": "^operations/.+$",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1/{+name}",
          "response": {
            "$ref": "Operation"
          }
        }
      }
    },
    "partners": {
      "resources": {
        "customers": {
          "methods": {
            "create": {
              "description": "Creates a customer for zero-touch enrollment. After the method returns\nsuccessfully, admin and owner roles can manage devices and EMM configs\nby calling API methods or using their zero-touch enrollment portal. The API\ndoesn't notify the customer that they have access.",
              "flatPath": "v1/partners/{partnersId}/customers",
              "httpMethod": "POST",
              "id": "androiddeviceprovisioning.partners.customers.create",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. The parent resource ID in the format `partners/[PARTNER_ID]` that\nidentifies the reseller.",
                  "location": "path",
                  "pattern": "^partners/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+parent}/customers",
              "request": {
                "$ref": "CreateCustomerRequest"
              },
              "response": {
                "$ref": "Company"
              }
            },
            "list": {
              "description": "Lists the customers that are enrolled to the reseller identified by the\n`partnerId` argument. This list includes customers that the reseller\ncreated and customers that enrolled themselves using the portal.",
              "flatPath": "v1/partners/{partnersId}/customers",
              "httpMethod": "GET",
              "id": "androiddeviceprovisioning.partners.customers.list",
              "parameterOrder": [
                "partnerId"
              ],
              "parameters": {
                "partnerId": {
                  "description": "Required. The ID of the reseller partner.",
                  "format": "int64",
                  "location": "path",
                  "pattern": "^[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/partners/{+partnerId}/customers",
              "response": {
                "$ref": "ListCustomersResponse"
              }
            }
          }
        },
        "devices": {
          "methods": {
            "claim": {
              "description": "Claims a device for a customer and adds it to zero-touch enrollment. If the\ndevice is already claimed by another customer, the call returns an error.",
              "flatPath": "v1/partners/{partnersId}/devices:claim",
              "httpMethod": "POST",
              "id": "androiddeviceprovisioning.partners.devices.claim",
              "parameterOrder": [
                "partnerId"
              ],
              "parameters": {
                "partnerId": {
                  "description": "Required. The ID of the reseller partner.",
                  "format": "int64",
                  "location": "path",
                  "pattern": "^[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/partners/{+partnerId}/devices:claim",
              "request": {
                "$ref": "ClaimDeviceRequest"
              },
              "response": {
                "$ref": "ClaimDeviceResponse"
              }
            },
            "claimAsync": {
              "description": "Claims a batch of devices for a customer asynchronously. Adds the devices\nto zero-touch enrollment. To learn more, read [Long‑running batch\noperations](/zero-touch/guides/how-it-works#operations).",
              "flatPath": "v1/partners/{partnersId}/devices:claimAsync",
              "httpMethod": "POST",
              "id": "androiddeviceprovisioning.partners.devices.claimAsync",
              "parameterOrder": [
                "partnerId"
              ],
              "parameters": {
                "partnerId": {
                  "description": "Required. The ID of the reseller partner.",
                  "format": "int64",
                  "location": "path",
                  "pattern": "^[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/partners/{+partnerId}/devices:claimAsync",
              "request": {
                "$ref": "ClaimDevicesRequest"
              },
              "response": {
                "$ref": "Operation"
              }
            },
            "findByIdentifier": {
              "description": "Finds devices by hardware identifiers, such as IMEI.",
              "flatPath": "v1/partners/{partnersId}/devices:findByIdentifier",
              "httpMethod": "POST",
              "id": "androiddeviceprovisioning.partners.devices.findByIdentifier",
              "parameterOrder": [
                "partnerId"
              ],
              "parameters": {
                "partnerId": {
                  "description": "Required. The ID of the reseller partner.",
                  "format": "int64",
                  "location": "path",
                  "pattern": "^[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/partners/{+partnerId}/devices:findByIdentifier",
              "request": {
                "$ref": "FindDevicesByDeviceIdentifierRequest"
              },
              "response": {
                "$ref": "FindDevicesByDeviceIdentifierResponse"
              }
            },
            "findByOwner": {
              "description": "Finds devices claimed for customers. The results only contain devices\nregistered to the reseller that's identified by the `partnerId` argument.\nThe customer's devices purchased from other resellers don't appear in the\nresults.",
              "flatPath": "v1/partners/{partnersId}/devices:findByOwner",
              "httpMethod": "POST",
              "id": "androiddeviceprovisioning.partners.devices.findByOwner",
              "parameterOrder": [
                "partnerId"
              ],
              "parameters": {
                "partnerId": {
                  "description": "Required. The ID of the reseller partner.",
                  "format": "int64",
                  "location": "path",
                  "pattern": "^[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/partners/{+partnerId}/devices:findByOwner",
              "request": {
                "$ref": "FindDevicesByOwnerRequest"
              },
              "response": {
                "$ref": "FindDevicesByOwnerResponse"
              }
            },
            "get": {
              "description": "Gets a device.",
              "flatPath": "v1/partners/{partnersId}/devices/{devicesId}",
              "httpMethod": "GET",
              "id": "androiddeviceprovisioning.partners.devices.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. The device API resource name in the format\n`partners/[PARTNER_ID]/devices/[DEVICE_ID]`.",
                  "location": "path",
                  "pattern": "^partners/[^/]+/devices/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}",
              "response": {
                "$ref": "Device"
              }
            },
            "metadata": {
              "description": "Updates reseller metadata associated with the device.",
              "flatPath": "v1/partners/{partnersId}/devices/{devicesId}/metadata",
              "httpMethod": "POST",
              "id": "androiddeviceprovisioning.partners.devices.metadata",
              "parameterOrder": [
                "metadataOwnerId",
                "deviceId"
              ],
              "parameters": {
                "deviceId": {
                  "description": "Required. The ID of the reseller partner.",
                  "format": "int64",
                  "location": "path",
                  "pattern": "^[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "metadataOwnerId": {
                  "description": "Required. The owner of the newly set metadata. Set this to the partner ID.",
                  "format": "int64",
                  "location": "path",
                  "pattern": "^[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/partners/{+metadataOwnerId}/devices/{+deviceId}/metadata",
              "request": {
                "$ref": "UpdateDeviceMetadataRequest"
              },
              "response": {
                "$ref": "DeviceMetadata"
              }
            },
            "unclaim": {
              "description": "Unclaims a device from a customer and removes it from zero-touch\nenrollment.",
              "flatPath": "v1/partners/{partnersId}/devices:unclaim",
              "httpMethod": "POST",
              "id": "androiddeviceprovisioning.partners.devices.unclaim",
              "parameterOrder": [
                "partnerId"
              ],
              "parameters": {
                "partnerId": {
                  "description": "Required. The ID of the reseller partner.",
                  "format": "int64",
                  "location": "path",
                  "pattern": "^[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/partners/{+partnerId}/devices:unclaim",
              "request": {
                "$ref": "UnclaimDeviceRequest"
              },
              "response": {
                "$ref": "Empty"
              }
            },
            "unclaimAsync": {
              "description": "Unclaims a batch of devices for a customer asynchronously. Removes the\ndevices from zero-touch enrollment. To learn more, read [Long‑running batch\noperations](/zero-touch/guides/how-it-works#operations).",
              "flatPath": "v1/partners/{partnersId}/devices:unclaimAsync",
              "httpMethod": "POST",
              "id": "androiddeviceprovisioning.partners.devices.unclaimAsync",
              "parameterOrder": [
                "partnerId"
              ],
              "parameters": {
                "partnerId": {
                  "description": "Required. The reseller partner ID.",
                  "format": "int64",
                  "location": "path",
                  "pattern": "^[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/partners/{+partnerId}/devices:unclaimAsync",
              "request": {
                "$ref": "UnclaimDevicesRequest"
              },
              "response": {
                "$ref": "Operation"
              }
            },
            "updateMetadataAsync": {
              "description": "Updates the reseller metadata attached to a batch of devices. This method\nupdates devices asynchronously and returns an `Operation` that can be used\nto track progress. Read [Long‑running batch\noperations](/zero-touch/guides/how-it-works#operations).",
              "flatPath": "v1/partners/{partnersId}/devices:updateMetadataAsync",
              "httpMethod": "POST",
              "id": "androiddeviceprovisioning.partners.devices.updateMetadataAsync",
              "parameterOrder": [
                "partnerId"
              ],
              "parameters": {
                "partnerId": {
                  "description": "Required. The reseller partner ID.",
                  "format": "int64",
                  "location": "path",
                  "pattern": "^[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/partners/{+partnerId}/devices:updateMetadataAsync",
              "request": {
                "$ref": "UpdateDeviceMetadataInBatchRequest"
              },
              "response": {
                "$ref": "Operation"
              }
            }
          }
        },
        "vendors": {
          "methods": {
            "list": {
              "description": "Lists the vendors of the partner.",
              "flatPath": "v1/partners/{partnersId}/vendors",
              "httpMethod": "GET",
              "id": "androiddeviceprovisioning.partners.vendors.list",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "pageSize": {
                  "description": "The maximum number of results to be returned.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "A token identifying a page of results returned by the server.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "Required. The resource name in the format `partners/[PARTNER_ID]`.",
                  "location": "path",
                  "pattern": "^partners/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+parent}/vendors",
              "response": {
                "$ref": "ListVendorsResponse"
              }
            }
          },
          "resources": {
            "customers": {
              "methods": {
                "list": {
                  "description": "Lists the customers of the vendor.",
                  "flatPath": "v1/partners/{partnersId}/vendors/{vendorsId}/customers",
                  "httpMethod": "GET",
                  "id": "androiddeviceprovisioning.partners.vendors.customers.list",
                  "parameterOrder": [
                    "parent"
                  ],
                  "parameters": {
                    "pageSize": {
                      "description": "The maximum number of results to be returned.",
                      "format": "int32",
                      "location": "query",
                      "type": "integer"
                    },
                    "pageToken": {
                      "description": "A token identifying a page of results returned by the server.",
                      "location": "query",
                      "type": "string"
                    },
                    "parent": {
                      "description": "Required. The resource name in the format\n`partners/[PARTNER_ID]/vendors/[VENDOR_ID]`.",
                      "location": "path",
                      "pattern": "^partners/[^/]+/vendors/[^/]+$",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1/{+parent}/customers",
                  "response": {
                    "$ref": "ListVendorCustomersResponse"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "revision": "20180804",
  "rootUrl": "https://androiddeviceprovisioning.googleapis.com/",
  "schemas": {
    "ClaimDeviceRequest": {
      "description": "Request message to claim a device on behalf of a customer.",
      "id": "ClaimDeviceRequest",
      "properties": {
        "customerId": {
          "description": "Required. The ID of the customer for whom the device is being claimed.",
          "format": "int64",
          "type": "string"
        },
        "deviceIdentifier": {
          "$ref": "DeviceIdentifier",
          "description": "Required. The device identifier of the device to claim."
        },
        "sectionType": {
          "description": "Required. The section type of the device's provisioning record.",
          "enum": [
            "SECTION_TYPE_UNSPECIFIED",
            "SECTION_TYPE_SIM_LOCK",
            "SECTION_TYPE_ZERO_TOUCH"
          ],
          "enumDescriptions": [
            "Unspecified section type.",
            "SIM-lock section type.",
            "Zero-touch enrollment section type."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "ClaimDeviceResponse": {
      "description": "Response message containing device id of the claim.",
      "id": "ClaimDeviceResponse",
      "properties": {
        "deviceId": {
          "description": "The device ID of the claimed device.",
          "format": "int64",
          "type": "string"
        },
        "deviceName": {
          "description": "The resource name of the device in the format\n`partners/[PARTNER_ID]/devices/[DEVICE_ID]`.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ClaimDevicesRequest": {
      "description": "Request to claim devices asynchronously in batch. Claiming a device adds the\ndevice to zero-touch enrollment and shows the device in the customer's view\nof the portal.",
      "id": "ClaimDevicesRequest",
      "properties": {
        "claims": {
          "description": "Required. A list of device claims.",
          "items": {
            "$ref": "PartnerClaim"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Company": {
      "description": "A reseller, vendor, or customer in the zero-touch reseller and customer APIs.",
      "id": "Company",
      "properties": {
        "adminEmails": {
          "description": "Input only. Optional. Email address of customer's users in the admin role.\nEach email address must be associated with a Google Account.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "companyId": {
          "description": "Output only. The ID of the company. Assigned by the server.",
          "format": "int64",
          "type": "string"
        },
        "companyName": {
          "description": "Required. The name of the company. For example _XYZ Corp_. Displayed to the\ncompany's employees in the zero-touch enrollment portal.",
          "type": "string"
        },
        "name": {
          "description": "Output only. The API resource name of the company. The resource name is one\nof the following formats:\n\n* `partners/[PARTNER_ID]/customers/[CUSTOMER_ID]`\n* `partners/[PARTNER_ID]/vendors/[VENDOR_ID]`\n* `partners/[PARTNER_ID]/vendors/[VENDOR_ID]/customers/[CUSTOMER_ID]`\n\nAssigned by the server.",
          "type": "string"
        },
        "ownerEmails": {
          "description": "Input only. Email address of customer's users in the owner role. At least\none `owner_email` is required. Each email address must be associated with a\nGoogle Account. Owners share the same access as admins but can also add,\ndelete, and edit your organization's portal users.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "termsStatus": {
          "description": "Output only. Whether any user from the company has accepted the latest\nTerms of Service (ToS). See\nTermsStatus.",
          "enum": [
            "TERMS_STATUS_UNSPECIFIED",
            "TERMS_STATUS_NOT_ACCEPTED",
            "TERMS_STATUS_ACCEPTED",
            "TERMS_STATUS_STALE"
          ],
          "enumDescriptions": [
            "Default value. This value should never be set if the enum is present.",
            "None of the company's users have accepted the ToS.",
            "One (or more) of the company's users has accepted the ToS.",
            "None of the company's users has accepted the current ToS but at least one\nuser accepted a previous ToS."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "Configuration": {
      "description": "A configuration collects the provisioning options for Android devices. Each\nconfiguration combines the following:\n\n* The EMM device policy controller (DPC) installed on the devices.\n* EMM policies enforced on the devices.\n* Metadata displayed on the device to help users during setup.\n\nCustomers can add as many configurations as they need. However, zero-touch\nenrollment works best when a customer sets a default configuration that's\napplied to any new devices the organization purchases.",
      "id": "Configuration",
      "properties": {
        "companyName": {
          "description": "Required. The name of the organization. Zero-touch enrollment shows this\norganization name to device users during device provisioning.",
          "type": "string"
        },
        "configurationId": {
          "description": "Output only. The ID of the configuration. Assigned by the server.",
          "format": "int64",
          "type": "string"
        },
        "configurationName": {
          "description": "Required. A short name that describes the configuration's purpose. For\nexample, _Sales team_ or _Temporary employees_. The zero-touch enrollment\nportal displays this name to IT admins.",
          "type": "string"
        },
        "contactEmail": {
          "description": "Required. The email address that device users can contact to get help.\nZero-touch enrollment shows this email address to device users before\ndevice provisioning. The value is validated on input.",
          "type": "string"
        },
        "contactPhone": {
          "description": "Required. The telephone number that device users can call, using another\ndevice, to get help. Zero-touch enrollment shows this number to device\nusers before device provisioning. Accepts numerals, spaces, the plus sign,\nhyphens, and parentheses.",
          "type": "string"
        },
        "customMessage": {
          "description": "A message, containing one or two sentences, to help device users get help\nor give them more details about what’s happening to their device.\nZero-touch enrollment shows this message before the device is provisioned.",
          "type": "string"
        },
        "dpcExtras": {
          "description": "The JSON-formatted EMM provisioning extras that are passed to the DPC.",
          "type": "string"
        },
        "dpcResourcePath": {
          "description": "Required. The resource name of the selected DPC (device policy controller)\nin the format `customers/[CUSTOMER_ID]/dpcs/*`. To list the supported DPCs,\ncall\n`customers.dpcs.list`.",
          "type": "string"
        },
        "isDefault": {
          "description": "Required. Whether this is the default configuration that zero-touch\nenrollment applies to any new devices the organization purchases in the\nfuture. Only one customer configuration can be the default. Setting this\nvalue to `true`, changes the previous default configuration's `isDefault`\nvalue to `false`.",
          "type": "boolean"
        },
        "name": {
          "description": "Output only. The API resource name in the format\n`customers/[CUSTOMER_ID]/configurations/[CONFIGURATION_ID]`. Assigned by\nthe server.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CreateCustomerRequest": {
      "description": "Request message to create a customer.",
      "id": "CreateCustomerRequest",
      "properties": {
        "customer": {
          "$ref": "Company",
          "description": "Required. The company data to populate the new customer. Must contain a\nvalue for `companyName` and at least one `owner_email` that's associated\nwith a Google Account. The values for `companyId` and `name` must be empty."
        }
      },
      "type": "object"
    },
    "CustomerApplyConfigurationRequest": {
      "description": "Request message for customer to assign a configuration to device.",
      "id": "CustomerApplyConfigurationRequest",
      "properties": {
        "configuration": {
          "description": "Required. The configuration applied to the device in the format\n`customers/[CUSTOMER_ID]/configurations/[CONFIGURATION_ID]`.",
          "type": "string"
        },
        "device": {
          "$ref": "DeviceReference",
          "description": "Required. The device the configuration is applied to."
        }
      },
      "type": "object"
    },
    "CustomerListConfigurationsResponse": {
      "description": "Response message of customer's listing configuration.",
      "id": "CustomerListConfigurationsResponse",
      "properties": {
        "configurations": {
          "description": "The configurations.",
          "items": {
            "$ref": "Configuration"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "CustomerListCustomersResponse": {
      "description": "Response message for listing my customers.",
      "id": "CustomerListCustomersResponse",
      "properties": {
        "customers": {
          "description": "The customer accounts the calling user is a member of.",
          "items": {
            "$ref": "Company"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token used to access the next page of results. Omitted if no further\nresults are available.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CustomerListDevicesResponse": {
      "description": "Response message of customer's liting devices.",
      "id": "CustomerListDevicesResponse",
      "properties": {
        "devices": {
          "description": "The customer's devices.",
          "items": {
            "$ref": "Device"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token used to access the next page of results. Omitted if no further\nresults are available.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CustomerListDpcsResponse": {
      "description": "Response message of customer's listing DPCs.",
      "id": "CustomerListDpcsResponse",
      "properties": {
        "dpcs": {
          "description": "The list of DPCs available to the customer that support zero-touch\nenrollment.",
          "items": {
            "$ref": "Dpc"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "CustomerRemoveConfigurationRequest": {
      "description": "Request message for customer to remove the configuration from device.",
      "id": "CustomerRemoveConfigurationRequest",
      "properties": {
        "device": {
          "$ref": "DeviceReference",
          "description": "Required. The device to remove the configuration from."
        }
      },
      "type": "object"
    },
    "CustomerUnclaimDeviceRequest": {
      "description": "Request message for customer to unclaim a device.",
      "id": "CustomerUnclaimDeviceRequest",
      "properties": {
        "device": {
          "$ref": "DeviceReference",
          "description": "Required. The device to unclaim."
        }
      },
      "type": "object"
    },
    "Device": {
      "description": "An Android device registered for zero-touch enrollment.",
      "id": "Device",
      "properties": {
        "claims": {
          "description": "Output only. The provisioning claims for a device. Devices claimed for\nzero-touch enrollment have a claim with the type `SECTION_TYPE_ZERO_TOUCH`.\nCall\n`partners.devices.unclaim`\nor\n`partners.devices.unclaimAsync`\nto remove the device from zero-touch enrollment.",
          "items": {
            "$ref": "DeviceClaim"
          },
          "type": "array"
        },
        "configuration": {
          "description": "Not available to resellers.",
          "type": "string"
        },
        "deviceId": {
          "description": "Output only. The ID of the device. Assigned by the server.",
          "format": "int64",
          "type": "string"
        },
        "deviceIdentifier": {
          "$ref": "DeviceIdentifier",
          "description": "The hardware IDs that identify a manufactured device. To learn more, read\n[Identifiers](/zero-touch/guides/identifiers)."
        },
        "deviceMetadata": {
          "$ref": "DeviceMetadata",
          "description": "The metadata attached to the device. Structured as key-value pairs. To\nlearn more, read [Device metadata](/zero-touch/guides/metadata)."
        },
        "name": {
          "description": "Output only. The API resource name in the format\n`partners/[PARTNER_ID]/devices/[DEVICE_ID]`. Assigned by the server.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DeviceClaim": {
      "description": "A record of a device claimed by a reseller for a customer. Devices claimed\nfor zero-touch enrollment have a claim with the type\n`SECTION_TYPE_ZERO_TOUCH`. To learn more, read\n[Claim devices for customers](/zero-touch/guides/how-it-works#claim).",
      "id": "DeviceClaim",
      "properties": {
        "ownerCompanyId": {
          "description": "The ID of the Customer that purchased the device.",
          "format": "int64",
          "type": "string"
        },
        "resellerId": {
          "description": "The ID of the reseller that claimed the device.",
          "format": "int64",
          "type": "string"
        },
        "sectionType": {
          "description": "Output only. The type of claim made on the device.",
          "enum": [
            "SECTION_TYPE_UNSPECIFIED",
            "SECTION_TYPE_SIM_LOCK",
            "SECTION_TYPE_ZERO_TOUCH"
          ],
          "enumDescriptions": [
            "Unspecified section type.",
            "SIM-lock section type.",
            "Zero-touch enrollment section type."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "DeviceIdentifier": {
      "description": "Encapsulates hardware and product IDs to identify a manufactured device.\nTo understand requirements on identifier sets, read\n[Identifiers](/zero-touch/guides/identifiers).",
      "id": "DeviceIdentifier",
      "properties": {
        "imei": {
          "description": "The device’s IMEI number. Validated on input.",
          "type": "string"
        },
        "manufacturer": {
          "description": "The device manufacturer’s name. Matches the device's built-in\nvalue returned from `android.os.Build.MANUFACTURER`. Allowed values are\nlisted in\n[manufacturers](/zero-touch/resources/manufacturer-names#manufacturers-names).",
          "type": "string"
        },
        "meid": {
          "description": "The device’s MEID number.",
          "type": "string"
        },
        "model": {
          "description": "The device model's name. Matches the device's built-in value returned from\n`android.os.Build.MODEL`. Allowed values are listed in\n[models](/zero-touch/resources/manufacturer-names#model-names).",
          "type": "string"
        },
        "serialNumber": {
          "description": "The manufacturer's serial number for the device. This value might not be\nunique across different device models.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DeviceMetadata": {
      "description": "Metadata entries that can be attached to a `Device`. To learn more, read\n[Device metadata](/zero-touch/guides/metadata).",
      "id": "DeviceMetadata",
      "properties": {
        "entries": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Metadata entries recorded as key-value pairs.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "DeviceReference": {
      "description": "A `DeviceReference` is an API abstraction that lets you supply a _device_\nargument to a method using one of the following identifier types:\n\n* A numeric API resource ID.\n* Real-world hardware IDs, such as IMEI number, belonging to the manufactured\n  device.\n\nMethods that operate on devices take a `DeviceReference` as a parameter type\nbecause it's more flexible for the caller. To learn more about device\nidentifiers, read [Identifiers](/zero-touch/guides/identifiers).",
      "id": "DeviceReference",
      "properties": {
        "deviceId": {
          "description": "The ID of the device.",
          "format": "int64",
          "type": "string"
        },
        "deviceIdentifier": {
          "$ref": "DeviceIdentifier",
          "description": "The hardware IDs of the device."
        }
      },
      "type": "object"
    },
    "DevicesLongRunningOperationMetadata": {
      "description": "Tracks the status of a long-running operation to asynchronously update a\nbatch of reseller metadata attached to devices. To learn more, read\n[Long‑running batch operations](/zero-touch/guides/how-it-works#operations).",
      "id": "DevicesLongRunningOperationMetadata",
      "properties": {
        "devicesCount": {
          "description": "The number of metadata updates in the operation. This might be different\nfrom the number of updates in the request if the API can't parse some of\nthe updates.",
          "format": "int32",
          "type": "integer"
        },
        "processingStatus": {
          "description": "The processing status of the operation.",
          "enum": [
            "BATCH_PROCESS_STATUS_UNSPECIFIED",
            "BATCH_PROCESS_PENDING",
            "BATCH_PROCESS_IN_PROGRESS",
            "BATCH_PROCESS_PROCESSED"
          ],
          "enumDescriptions": [
            "Invalid code. Shouldn't be used.",
            "Pending.",
            "In progress.",
            "Processed.\nThis doesn't mean all items were processed successfully, you should\ncheck the `response` field for the result of every item."
          ],
          "type": "string"
        },
        "progress": {
          "description": "The processing progress of the operation. Measured as a number from 0 to\n100. A value of 10O doesnt always mean the operation completed—check for\nthe inclusion of a `done` field.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "DevicesLongRunningOperationResponse": {
      "description": "Tracks the status of a long-running operation to claim, unclaim, or attach\nmetadata to devices. To learn more, read\n[Long‑running batch operations](/zero-touch/guides/how-it-works#operations).",
      "id": "DevicesLongRunningOperationResponse",
      "properties": {
        "perDeviceStatus": {
          "description": "The processing status for each device in the operation.\nOne `PerDeviceStatus` per device. The list order matches the items in the\noriginal request.",
          "items": {
            "$ref": "OperationPerDevice"
          },
          "type": "array"
        },
        "successCount": {
          "description": "A summary of how many items in the operation the server processed\nsuccessfully. Updated as the operation progresses.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "Dpc": {
      "description": "An EMM's DPC ([device policy\ncontroller](http://developer.android.com/work/dpc/build-dpc.html)).\nZero-touch enrollment installs a DPC (listed in the `Configuration`) on a\ndevice to maintain the customer's mobile policies. All the DPCs listed by the\nAPI support zero-touch enrollment and are available in Google Play.",
      "id": "Dpc",
      "properties": {
        "dpcName": {
          "description": "Output only. The title of the DPC app in Google Play. For example, _Google\nApps Device Policy_. Useful in an application's user interface.",
          "type": "string"
        },
        "name": {
          "description": "Output only. The API resource name in the format\n`customers/[CUSTOMER_ID]/dpcs/[DPC_ID]`. Assigned by\nthe server. To maintain a reference to a DPC across customer accounts,\npersist and match the last path component (`DPC_ID`).",
          "type": "string"
        },
        "packageName": {
          "description": "Output only. The DPC's Android application ID that looks like a Java\npackage name. Zero-touch enrollment installs the DPC app onto a device\nusing this identifier.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Empty": {
      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
      "id": "Empty",
      "properties": {},
      "type": "object"
    },
    "FindDevicesByDeviceIdentifierRequest": {
      "description": "Request to find devices.",
      "id": "FindDevicesByDeviceIdentifierRequest",
      "properties": {
        "deviceIdentifier": {
          "$ref": "DeviceIdentifier",
          "description": "Required. The device identifier to search for."
        },
        "limit": {
          "description": "Required. The maximum number of devices to show in a page of results. Must\nbe between 1 and 100 inclusive.",
          "format": "int64",
          "type": "string"
        },
        "pageToken": {
          "description": "A token specifying which result page to return.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "FindDevicesByDeviceIdentifierResponse": {
      "description": "Response containing found devices.",
      "id": "FindDevicesByDeviceIdentifierResponse",
      "properties": {
        "devices": {
          "description": "Found devices.",
          "items": {
            "$ref": "Device"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token used to access the next page of results. Omitted if no further\nresults are available.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "FindDevicesByOwnerRequest": {
      "description": "Request to find devices by customers.",
      "id": "FindDevicesByOwnerRequest",
      "properties": {
        "customerId": {
          "description": "Required. The list of customer IDs to search for.",
          "items": {
            "format": "int64",
            "type": "string"
          },
          "type": "array"
        },
        "limit": {
          "description": "Required. The maximum number of devices to show in a page of results. Must\nbe between 1 and 100 inclusive.",
          "format": "int64",
          "type": "string"
        },
        "pageToken": {
          "description": "A token specifying which result page to return.",
          "type": "string"
        },
        "sectionType": {
          "description": "Required. The section type of the device's provisioning record.",
          "enum": [
            "SECTION_TYPE_UNSPECIFIED",
            "SECTION_TYPE_SIM_LOCK",
            "SECTION_TYPE_ZERO_TOUCH"
          ],
          "enumDescriptions": [
            "Unspecified section type.",
            "SIM-lock section type.",
            "Zero-touch enrollment section type."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "FindDevicesByOwnerResponse": {
      "description": "Response containing found devices.",
      "id": "FindDevicesByOwnerResponse",
      "properties": {
        "devices": {
          "description": "The customer's devices.",
          "items": {
            "$ref": "Device"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token used to access the next page of results.\nOmitted if no further results are available.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListCustomersResponse": {
      "description": "Response message of all customers related to this partner.",
      "id": "ListCustomersResponse",
      "properties": {
        "customers": {
          "description": "List of customers related to this reseller partner.",
          "items": {
            "$ref": "Company"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ListVendorCustomersResponse": {
      "description": "Response message to list customers of the vendor.",
      "id": "ListVendorCustomersResponse",
      "properties": {
        "customers": {
          "description": "List of customers of the vendor.",
          "items": {
            "$ref": "Company"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Omitted if no further results\nare available.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListVendorsResponse": {
      "description": "Response message to list vendors of the partner.",
      "id": "ListVendorsResponse",
      "properties": {
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Omitted if no further results\nare available.",
          "type": "string"
        },
        "vendors": {
          "description": "List of vendors of the reseller partner. Fields `name`, `companyId` and\n`companyName` are populated to the Company object.",
          "items": {
            "$ref": "Company"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Operation": {
      "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.",
      "id": "Operation",
      "properties": {
        "done": {
          "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.",
          "type": "boolean"
        },
        "error": {
          "$ref": "Status",
          "description": "This field will always be not set if the operation is created by `claimAsync`, `unclaimAsync`, or `updateMetadataAsync`. In this case, error information for each device is set in `response.perDeviceStatus.result.status`."
        },
        "metadata": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "description": "This field will contain a `DevicesLongRunningOperationMetadata` object if the operation is created by `claimAsync`, `unclaimAsync`, or `updateMetadataAsync`.",
          "type": "object"
        },
        "name": {
          "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should have the format of `operations/some/unique/name`.",
          "type": "string"
        },
        "response": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "description": "This field will contain a `DevicesLongRunningOperationResponse` object if the operation is created by `claimAsync`, `unclaimAsync`, or `updateMetadataAsync`.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "OperationPerDevice": {
      "description": "A task for each device in the operation. Corresponds to each device\nchange in the request.",
      "id": "OperationPerDevice",
      "properties": {
        "claim": {
          "$ref": "PartnerClaim",
          "description": "A copy of the original device-claim request received by the server."
        },
        "result": {
          "$ref": "PerDeviceStatusInBatch",
          "description": "The processing result for each device."
        },
        "unclaim": {
          "$ref": "PartnerUnclaim",
          "description": "A copy of the original device-unclaim request received by the server."
        },
        "updateMetadata": {
          "$ref": "UpdateMetadataArguments",
          "description": "A copy of the original metadata-update request received by the server."
        }
      },
      "type": "object"
    },
    "PartnerClaim": {
      "description": "Identifies one claim request.",
      "id": "PartnerClaim",
      "properties": {
        "customerId": {
          "description": "Required. The ID of the customer for whom the device is being claimed.",
          "format": "int64",
          "type": "string"
        },
        "deviceIdentifier": {
          "$ref": "DeviceIdentifier",
          "description": "Required. Device identifier of the device."
        },
        "deviceMetadata": {
          "$ref": "DeviceMetadata",
          "description": "Required. The metadata to attach to the device at claim."
        },
        "sectionType": {
          "description": "Required. The section type of the device's provisioning record.",
          "enum": [
            "SECTION_TYPE_UNSPECIFIED",
            "SECTION_TYPE_SIM_LOCK",
            "SECTION_TYPE_ZERO_TOUCH"
          ],
          "enumDescriptions": [
            "Unspecified section type.",
            "SIM-lock section type.",
            "Zero-touch enrollment section type."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "PartnerUnclaim": {
      "description": "Identifies one unclaim request.",
      "id": "PartnerUnclaim",
      "properties": {
        "deviceId": {
          "description": "Device ID of the device.",
          "format": "int64",
          "type": "string"
        },
        "deviceIdentifier": {
          "$ref": "DeviceIdentifier",
          "description": "Device identifier of the device."
        },
        "sectionType": {
          "description": "Required. The section type of the device's provisioning record.",
          "enum": [
            "SECTION_TYPE_UNSPECIFIED",
            "SECTION_TYPE_SIM_LOCK",
            "SECTION_TYPE_ZERO_TOUCH"
          ],
          "enumDescriptions": [
            "Unspecified section type.",
            "SIM-lock section type.",
            "Zero-touch enrollment section type."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "PerDeviceStatusInBatch": {
      "description": "Captures the processing status for each device in the operation.",
      "id": "PerDeviceStatusInBatch",
      "properties": {
        "deviceId": {
          "description": "If processing succeeds, the device ID of the device.",
          "format": "int64",
          "type": "string"
        },
        "errorIdentifier": {
          "description": "If processing fails, the error type.",
          "type": "string"
        },
        "errorMessage": {
          "description": "If processing fails, a developer message explaining what went wrong.",
          "type": "string"
        },
        "status": {
          "description": "The result status of the device after processing.",
          "enum": [
            "SINGLE_DEVICE_STATUS_UNSPECIFIED",
            "SINGLE_DEVICE_STATUS_UNKNOWN_ERROR",
            "SINGLE_DEVICE_STATUS_OTHER_ERROR",
            "SINGLE_DEVICE_STATUS_SUCCESS",
            "SINGLE_DEVICE_STATUS_PERMISSION_DENIED",
            "SINGLE_DEVICE_STATUS_INVALID_DEVICE_IDENTIFIER",
            "SINGLE_DEVICE_STATUS_INVALID_SECTION_TYPE",
            "SINGLE_DEVICE_STATUS_SECTION_NOT_YOURS"
          ],
          "enumDescriptions": [
            "Invalid code. Shouldn't be used.",
            "Unknown error.\nWe don't expect this error to occur here.",
            "Other error.\nWe know/expect this error, but there's no defined error code for the\nerror.",
            "Success.",
            "Permission denied.",
            "Invalid device identifier.",
            "Invalid section type.",
            "This section is claimed by another company."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "Status": {
      "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed.  The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n    it may embed the `Status` in the normal response to indicate the partial\n    errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n    have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n    `Status` message should be used directly inside batch response, one for\n    each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n    results in its response, the status of those operations should be\n    represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n    be used directly after any stripping needed for security/privacy reasons.",
      "id": "Status",
      "properties": {
        "code": {
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "format": "int32",
          "type": "integer"
        },
        "details": {
          "description": "A list of messages that carry the error details.  There is a common set of\nmessage types for APIs to use.",
          "items": {
            "additionalProperties": {
              "description": "Properties of the object. Contains field @type with type URL.",
              "type": "any"
            },
            "type": "object"
          },
          "type": "array"
        },
        "message": {
          "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "UnclaimDeviceRequest": {
      "description": "Request message to unclaim a device.",
      "id": "UnclaimDeviceRequest",
      "properties": {
        "deviceId": {
          "description": "The device ID returned by `ClaimDevice`.",
          "format": "int64",
          "type": "string"
        },
        "deviceIdentifier": {
          "$ref": "DeviceIdentifier",
          "description": "The device identifier you used when you claimed this device."
        },
        "sectionType": {
          "description": "Required. The section type of the device's provisioning record.",
          "enum": [
            "SECTION_TYPE_UNSPECIFIED",
            "SECTION_TYPE_SIM_LOCK",
            "SECTION_TYPE_ZERO_TOUCH"
          ],
          "enumDescriptions": [
            "Unspecified section type.",
            "SIM-lock section type.",
            "Zero-touch enrollment section type."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "UnclaimDevicesRequest": {
      "description": "Request to unclaim devices asynchronously in batch.",
      "id": "UnclaimDevicesRequest",
      "properties": {
        "unclaims": {
          "description": "Required. The list of devices to unclaim.",
          "items": {
            "$ref": "PartnerUnclaim"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "UpdateDeviceMetadataInBatchRequest": {
      "description": "Request to update device metadata in batch.",
      "id": "UpdateDeviceMetadataInBatchRequest",
      "properties": {
        "updates": {
          "description": "Required. The list of metadata updates.",
          "items": {
            "$ref": "UpdateMetadataArguments"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "UpdateDeviceMetadataRequest": {
      "description": "Request to set metadata for a device.",
      "id": "UpdateDeviceMetadataRequest",
      "properties": {
        "deviceMetadata": {
          "$ref": "DeviceMetadata",
          "description": "Required. The metdata to attach to the device."
        }
      },
      "type": "object"
    },
    "UpdateMetadataArguments": {
      "description": "Identifies metdata updates to one device.",
      "id": "UpdateMetadataArguments",
      "properties": {
        "deviceId": {
          "description": "Device ID of the device.",
          "format": "int64",
          "type": "string"
        },
        "deviceIdentifier": {
          "$ref": "DeviceIdentifier",
          "description": "Device identifier."
        },
        "deviceMetadata": {
          "$ref": "DeviceMetadata",
          "description": "Required. The metadata to update."
        }
      },
      "type": "object"
    }
  },
  "servicePath": "",
  "title": "Android Device Provisioning Partner API",
  "version": "v1",
  "version_module": true
}