chore: update docs/dyn , add static discovery files to discovery_cache/documents (#1111)

This PR was generated using Autosynth. :rainbow:

Synth log will be available here:
https://source.cloud.google.com/results/invocations/78f53313-0c78-4a29-8841-f031665a4c6a/targets

- [ ] To automatically regenerate this PR, check this box.

Source-Link: https://github.com/googleapis/synthtool/commit/c2de32114ec484aa708d32012d1fa8d75232daf5
diff --git a/googleapiclient/discovery_cache/documents/androiddeviceprovisioning.v1.json b/googleapiclient/discovery_cache/documents/androiddeviceprovisioning.v1.json
new file mode 100644
index 0000000..57519df
--- /dev/null
+++ b/googleapiclient/discovery_cache/documents/androiddeviceprovisioning.v1.json
@@ -0,0 +1,1807 @@
+{
+  "basePath": "",
+  "title": "Android Device Provisioning Partner API",
+  "version": "v1",
+  "baseUrl": "https://androiddeviceprovisioning.googleapis.com/",
+  "parameters": {
+    "access_token": {
+      "location": "query",
+      "description": "OAuth access token.",
+      "type": "string"
+    },
+    "prettyPrint": {
+      "type": "boolean",
+      "location": "query",
+      "default": "true",
+      "description": "Returns response with indentations and line breaks."
+    },
+    "quotaUser": {
+      "type": "string",
+      "location": "query",
+      "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."
+    },
+    "uploadType": {
+      "location": "query",
+      "type": "string",
+      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")."
+    },
+    "callback": {
+      "description": "JSONP",
+      "type": "string",
+      "location": "query"
+    },
+    "$.xgafv": {
+      "enumDescriptions": [
+        "v1 error format",
+        "v2 error format"
+      ],
+      "description": "V1 error format.",
+      "enum": [
+        "1",
+        "2"
+      ],
+      "type": "string",
+      "location": "query"
+    },
+    "fields": {
+      "description": "Selector specifying which fields to include in a partial response.",
+      "type": "string",
+      "location": "query"
+    },
+    "oauth_token": {
+      "type": "string",
+      "description": "OAuth 2.0 token for the current user.",
+      "location": "query"
+    },
+    "key": {
+      "location": "query",
+      "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.",
+      "type": "string"
+    },
+    "alt": {
+      "default": "json",
+      "description": "Data format for response.",
+      "enum": [
+        "json",
+        "media",
+        "proto"
+      ],
+      "location": "query",
+      "enumDescriptions": [
+        "Responses with Content-Type of application/json",
+        "Media download with context-dependent Content-Type",
+        "Responses with Content-Type of application/x-protobuf"
+      ],
+      "type": "string"
+    },
+    "upload_protocol": {
+      "type": "string",
+      "location": "query",
+      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")."
+    }
+  },
+  "batchPath": "batch",
+  "documentationLink": "https://developers.google.com/zero-touch/",
+  "ownerDomain": "google.com",
+  "protocol": "rest",
+  "servicePath": "",
+  "icons": {
+    "x16": "http://www.google.com/images/icons/product/search-16.gif",
+    "x32": "http://www.google.com/images/icons/product/search-32.gif"
+  },
+  "canonicalName": "Android Provisioning Partner",
+  "version_module": true,
+  "description": "Automates Android zero-touch enrollment for device resellers, customers, and EMMs.",
+  "name": "androiddeviceprovisioning",
+  "discoveryVersion": "v1",
+  "kind": "discovery#restDescription",
+  "resources": {
+    "partners": {
+      "resources": {
+        "customers": {
+          "methods": {
+            "create": {
+              "request": {
+                "$ref": "CreateCustomerRequest"
+              },
+              "flatPath": "v1/partners/{partnersId}/customers",
+              "path": "v1/{+parent}/customers",
+              "description": "Creates a customer for zero-touch enrollment. After the method returns successfully, admin and owner roles can manage devices and EMM configs by calling API methods or using their zero-touch enrollment portal. The customer receives an email that welcomes them to zero-touch enrollment and explains how to sign into the portal.",
+              "parameters": {
+                "parent": {
+                  "required": true,
+                  "pattern": "^partners/[^/]+$",
+                  "description": "Required. The parent resource ID in the format `partners/[PARTNER_ID]` that identifies the reseller.",
+                  "location": "path",
+                  "type": "string"
+                }
+              },
+              "parameterOrder": [
+                "parent"
+              ],
+              "httpMethod": "POST",
+              "id": "androiddeviceprovisioning.partners.customers.create",
+              "response": {
+                "$ref": "Company"
+              }
+            },
+            "list": {
+              "parameters": {
+                "partnerId": {
+                  "location": "path",
+                  "required": true,
+                  "format": "int64",
+                  "pattern": "^[^/]+$",
+                  "description": "Required. The ID of the reseller partner.",
+                  "type": "string"
+                },
+                "pageSize": {
+                  "description": "The maximum number of results to be returned. If not specified or 0, all the records are returned.",
+                  "type": "integer",
+                  "format": "int32",
+                  "location": "query"
+                },
+                "pageToken": {
+                  "location": "query",
+                  "type": "string",
+                  "description": "A token identifying a page of results returned by the server."
+                }
+              },
+              "flatPath": "v1/partners/{partnersId}/customers",
+              "id": "androiddeviceprovisioning.partners.customers.list",
+              "path": "v1/partners/{+partnerId}/customers",
+              "description": "Lists the customers that are enrolled to the reseller identified by the `partnerId` argument. This list includes customers that the reseller created and customers that enrolled themselves using the portal.",
+              "httpMethod": "GET",
+              "parameterOrder": [
+                "partnerId"
+              ],
+              "response": {
+                "$ref": "ListCustomersResponse"
+              }
+            }
+          }
+        },
+        "vendors": {
+          "methods": {
+            "list": {
+              "id": "androiddeviceprovisioning.partners.vendors.list",
+              "parameters": {
+                "pageToken": {
+                  "type": "string",
+                  "location": "query",
+                  "description": "A token identifying a page of results returned by the server."
+                },
+                "parent": {
+                  "location": "path",
+                  "required": true,
+                  "type": "string",
+                  "description": "Required. The resource name in the format `partners/[PARTNER_ID]`.",
+                  "pattern": "^partners/[^/]+$"
+                },
+                "pageSize": {
+                  "type": "integer",
+                  "location": "query",
+                  "description": "The maximum number of results to be returned.",
+                  "format": "int32"
+                }
+              },
+              "description": "Lists the vendors of the partner.",
+              "response": {
+                "$ref": "ListVendorsResponse"
+              },
+              "httpMethod": "GET",
+              "parameterOrder": [
+                "parent"
+              ],
+              "flatPath": "v1/partners/{partnersId}/vendors",
+              "path": "v1/{+parent}/vendors"
+            }
+          },
+          "resources": {
+            "customers": {
+              "methods": {
+                "list": {
+                  "httpMethod": "GET",
+                  "flatPath": "v1/partners/{partnersId}/vendors/{vendorsId}/customers",
+                  "description": "Lists the customers of the vendor.",
+                  "id": "androiddeviceprovisioning.partners.vendors.customers.list",
+                  "parameterOrder": [
+                    "parent"
+                  ],
+                  "parameters": {
+                    "pageSize": {
+                      "type": "integer",
+                      "description": "The maximum number of results to be returned.",
+                      "location": "query",
+                      "format": "int32"
+                    },
+                    "pageToken": {
+                      "description": "A token identifying a page of results returned by the server.",
+                      "location": "query",
+                      "type": "string"
+                    },
+                    "parent": {
+                      "pattern": "^partners/[^/]+/vendors/[^/]+$",
+                      "location": "path",
+                      "type": "string",
+                      "required": true,
+                      "description": "Required. The resource name in the format `partners/[PARTNER_ID]/vendors/[VENDOR_ID]`."
+                    }
+                  },
+                  "path": "v1/{+parent}/customers",
+                  "response": {
+                    "$ref": "ListVendorCustomersResponse"
+                  }
+                }
+              }
+            }
+          }
+        },
+        "devices": {
+          "methods": {
+            "unclaim": {
+              "request": {
+                "$ref": "UnclaimDeviceRequest"
+              },
+              "httpMethod": "POST",
+              "flatPath": "v1/partners/{partnersId}/devices:unclaim",
+              "description": "Unclaims a device from a customer and removes it from zero-touch enrollment.",
+              "parameters": {
+                "partnerId": {
+                  "format": "int64",
+                  "pattern": "^[^/]+$",
+                  "description": "Required. The ID of the reseller partner.",
+                  "required": true,
+                  "type": "string",
+                  "location": "path"
+                }
+              },
+              "parameterOrder": [
+                "partnerId"
+              ],
+              "id": "androiddeviceprovisioning.partners.devices.unclaim",
+              "path": "v1/partners/{+partnerId}/devices:unclaim",
+              "response": {
+                "$ref": "Empty"
+              }
+            },
+            "unclaimAsync": {
+              "flatPath": "v1/partners/{partnersId}/devices:unclaimAsync",
+              "response": {
+                "$ref": "Operation"
+              },
+              "parameterOrder": [
+                "partnerId"
+              ],
+              "request": {
+                "$ref": "UnclaimDevicesRequest"
+              },
+              "description": "Unclaims a batch of devices for a customer asynchronously. Removes the devices from zero-touch enrollment. To learn more, read [Long‑running batch operations](/zero-touch/guides/how-it-works#operations).",
+              "httpMethod": "POST",
+              "parameters": {
+                "partnerId": {
+                  "pattern": "^[^/]+$",
+                  "type": "string",
+                  "format": "int64",
+                  "description": "Required. The reseller partner ID.",
+                  "required": true,
+                  "location": "path"
+                }
+              },
+              "path": "v1/partners/{+partnerId}/devices:unclaimAsync",
+              "id": "androiddeviceprovisioning.partners.devices.unclaimAsync"
+            },
+            "updateMetadataAsync": {
+              "path": "v1/partners/{+partnerId}/devices:updateMetadataAsync",
+              "flatPath": "v1/partners/{partnersId}/devices:updateMetadataAsync",
+              "parameterOrder": [
+                "partnerId"
+              ],
+              "httpMethod": "POST",
+              "description": "Updates the reseller metadata attached to a batch of devices. This method updates devices asynchronously and returns an `Operation` that can be used to track progress. Read [Long‑running batch operations](/zero-touch/guides/how-it-works#operations).",
+              "request": {
+                "$ref": "UpdateDeviceMetadataInBatchRequest"
+              },
+              "parameters": {
+                "partnerId": {
+                  "description": "Required. The reseller partner ID.",
+                  "format": "int64",
+                  "location": "path",
+                  "type": "string",
+                  "pattern": "^[^/]+$",
+                  "required": true
+                }
+              },
+              "id": "androiddeviceprovisioning.partners.devices.updateMetadataAsync",
+              "response": {
+                "$ref": "Operation"
+              }
+            },
+            "claimAsync": {
+              "request": {
+                "$ref": "ClaimDevicesRequest"
+              },
+              "parameterOrder": [
+                "partnerId"
+              ],
+              "parameters": {
+                "partnerId": {
+                  "location": "path",
+                  "required": true,
+                  "type": "string",
+                  "pattern": "^[^/]+$",
+                  "description": "Required. The ID of the reseller partner.",
+                  "format": "int64"
+                }
+              },
+              "response": {
+                "$ref": "Operation"
+              },
+              "path": "v1/partners/{+partnerId}/devices:claimAsync",
+              "id": "androiddeviceprovisioning.partners.devices.claimAsync",
+              "httpMethod": "POST",
+              "description": "Claims a batch of devices for a customer asynchronously. Adds the devices to zero-touch enrollment. To learn more, read [Long‑running batch operations](/zero-touch/guides/how-it-works#operations).",
+              "flatPath": "v1/partners/{partnersId}/devices:claimAsync"
+            },
+            "findByIdentifier": {
+              "response": {
+                "$ref": "FindDevicesByDeviceIdentifierResponse"
+              },
+              "parameters": {
+                "partnerId": {
+                  "required": true,
+                  "format": "int64",
+                  "type": "string",
+                  "pattern": "^[^/]+$",
+                  "description": "Required. The ID of the reseller partner.",
+                  "location": "path"
+                }
+              },
+              "path": "v1/partners/{+partnerId}/devices:findByIdentifier",
+              "flatPath": "v1/partners/{partnersId}/devices:findByIdentifier",
+              "id": "androiddeviceprovisioning.partners.devices.findByIdentifier",
+              "request": {
+                "$ref": "FindDevicesByDeviceIdentifierRequest"
+              },
+              "httpMethod": "POST",
+              "description": "Finds devices by hardware identifiers, such as IMEI.",
+              "parameterOrder": [
+                "partnerId"
+              ]
+            },
+            "get": {
+              "path": "v1/{+name}",
+              "httpMethod": "GET",
+              "id": "androiddeviceprovisioning.partners.devices.get",
+              "flatPath": "v1/partners/{partnersId}/devices/{devicesId}",
+              "response": {
+                "$ref": "Device"
+              },
+              "parameters": {
+                "name": {
+                  "required": true,
+                  "type": "string",
+                  "description": "Required. The device API resource name in the format `partners/[PARTNER_ID]/devices/[DEVICE_ID]`.",
+                  "pattern": "^partners/[^/]+/devices/[^/]+$",
+                  "location": "path"
+                }
+              },
+              "parameterOrder": [
+                "name"
+              ],
+              "description": "Gets a device."
+            },
+            "findByOwner": {
+              "path": "v1/partners/{+partnerId}/devices:findByOwner",
+              "response": {
+                "$ref": "FindDevicesByOwnerResponse"
+              },
+              "httpMethod": "POST",
+              "request": {
+                "$ref": "FindDevicesByOwnerRequest"
+              },
+              "flatPath": "v1/partners/{partnersId}/devices:findByOwner",
+              "description": "Finds devices claimed for customers. The results only contain devices registered to the reseller that's identified by the `partnerId` argument. The customer's devices purchased from other resellers don't appear in the results.",
+              "parameters": {
+                "partnerId": {
+                  "format": "int64",
+                  "pattern": "^[^/]+$",
+                  "type": "string",
+                  "required": true,
+                  "description": "Required. The ID of the reseller partner.",
+                  "location": "path"
+                }
+              },
+              "parameterOrder": [
+                "partnerId"
+              ],
+              "id": "androiddeviceprovisioning.partners.devices.findByOwner"
+            },
+            "claim": {
+              "parameters": {
+                "partnerId": {
+                  "pattern": "^[^/]+$",
+                  "format": "int64",
+                  "type": "string",
+                  "location": "path",
+                  "description": "Required. The ID of the reseller partner.",
+                  "required": true
+                }
+              },
+              "response": {
+                "$ref": "ClaimDeviceResponse"
+              },
+              "id": "androiddeviceprovisioning.partners.devices.claim",
+              "httpMethod": "POST",
+              "path": "v1/partners/{+partnerId}/devices:claim",
+              "request": {
+                "$ref": "ClaimDeviceRequest"
+              },
+              "flatPath": "v1/partners/{partnersId}/devices:claim",
+              "description": "Claims a device for a customer and adds it to zero-touch enrollment. If the device is already claimed by another customer, the call returns an error.",
+              "parameterOrder": [
+                "partnerId"
+              ]
+            },
+            "metadata": {
+              "response": {
+                "$ref": "DeviceMetadata"
+              },
+              "parameterOrder": [
+                "metadataOwnerId",
+                "deviceId"
+              ],
+              "parameters": {
+                "deviceId": {
+                  "required": true,
+                  "pattern": "^[^/]+$",
+                  "location": "path",
+                  "format": "int64",
+                  "description": "Required. The ID of the device.",
+                  "type": "string"
+                },
+                "metadataOwnerId": {
+                  "pattern": "^[^/]+$",
+                  "format": "int64",
+                  "location": "path",
+                  "required": true,
+                  "description": "Required. The owner of the newly set metadata. Set this to the partner ID.",
+                  "type": "string"
+                }
+              },
+              "request": {
+                "$ref": "UpdateDeviceMetadataRequest"
+              },
+              "path": "v1/partners/{+metadataOwnerId}/devices/{+deviceId}/metadata",
+              "description": "Updates reseller metadata associated with the device.",
+              "httpMethod": "POST",
+              "flatPath": "v1/partners/{partnersId}/devices/{devicesId}/metadata",
+              "id": "androiddeviceprovisioning.partners.devices.metadata"
+            }
+          }
+        }
+      }
+    },
+    "operations": {
+      "methods": {
+        "get": {
+          "httpMethod": "GET",
+          "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
+          "flatPath": "v1/operations/{operationsId}",
+          "path": "v1/{+name}",
+          "response": {
+            "$ref": "Operation"
+          },
+          "id": "androiddeviceprovisioning.operations.get",
+          "parameterOrder": [
+            "name"
+          ],
+          "parameters": {
+            "name": {
+              "description": "The name of the operation resource.",
+              "location": "path",
+              "pattern": "^operations/.*$",
+              "type": "string",
+              "required": true
+            }
+          }
+        }
+      }
+    },
+    "customers": {
+      "resources": {
+        "configurations": {
+          "methods": {
+            "patch": {
+              "httpMethod": "PATCH",
+              "flatPath": "v1/customers/{customersId}/configurations/{configurationsId}",
+              "id": "androiddeviceprovisioning.customers.configurations.patch",
+              "description": "Updates a configuration's field values.",
+              "parameters": {
+                "name": {
+                  "pattern": "^customers/[^/]+/configurations/[^/]+$",
+                  "location": "path",
+                  "required": true,
+                  "type": "string",
+                  "description": "Output only. The API resource name in the format `customers/[CUSTOMER_ID]/configurations/[CONFIGURATION_ID]`. Assigned by the server."
+                },
+                "updateMask": {
+                  "location": "query",
+                  "format": "google-fieldmask",
+                  "description": "Required. The field mask applied to the target `Configuration` before updating the fields. To learn more about using field masks, read [FieldMask](/protocol-buffers/docs/reference/google.protobuf#fieldmask) in the Protocol Buffers documentation.",
+                  "type": "string"
+                }
+              },
+              "request": {
+                "$ref": "Configuration"
+              },
+              "path": "v1/{+name}",
+              "response": {
+                "$ref": "Configuration"
+              },
+              "parameterOrder": [
+                "name"
+              ]
+            },
+            "list": {
+              "flatPath": "v1/customers/{customersId}/configurations",
+              "httpMethod": "GET",
+              "id": "androiddeviceprovisioning.customers.configurations.list",
+              "description": "Lists a customer's configurations.",
+              "parameterOrder": [
+                "parent"
+              ],
+              "response": {
+                "$ref": "CustomerListConfigurationsResponse"
+              },
+              "parameters": {
+                "parent": {
+                  "description": "Required. The customer that manages the listed configurations. An API resource name in the format `customers/[CUSTOMER_ID]`.",
+                  "location": "path",
+                  "type": "string",
+                  "required": true,
+                  "pattern": "^customers/[^/]+$"
+                }
+              },
+              "path": "v1/{+parent}/configurations"
+            },
+            "delete": {
+              "httpMethod": "DELETE",
+              "path": "v1/{+name}",
+              "flatPath": "v1/customers/{customersId}/configurations/{configurationsId}",
+              "description": "Deletes an unused configuration. The API call fails if the customer has devices with the configuration applied.",
+              "response": {
+                "$ref": "Empty"
+              },
+              "parameterOrder": [
+                "name"
+              ],
+              "parameters": {
+                "name": {
+                  "description": "Required. The configuration to delete. An API resource name in the format `customers/[CUSTOMER_ID]/configurations/[CONFIGURATION_ID]`. If the configuration is applied to any devices, the API call fails.",
+                  "location": "path",
+                  "required": true,
+                  "type": "string",
+                  "pattern": "^customers/[^/]+/configurations/[^/]+$"
+                }
+              },
+              "id": "androiddeviceprovisioning.customers.configurations.delete"
+            },
+            "get": {
+              "response": {
+                "$ref": "Configuration"
+              },
+              "id": "androiddeviceprovisioning.customers.configurations.get",
+              "flatPath": "v1/customers/{customersId}/configurations/{configurationsId}",
+              "httpMethod": "GET",
+              "description": "Gets the details of a configuration.",
+              "parameterOrder": [
+                "name"
+              ],
+              "parameters": {
+                "name": {
+                  "required": true,
+                  "type": "string",
+                  "pattern": "^customers/[^/]+/configurations/[^/]+$",
+                  "location": "path",
+                  "description": "Required. The configuration to get. An API resource name in the format `customers/[CUSTOMER_ID]/configurations/[CONFIGURATION_ID]`."
+                }
+              },
+              "path": "v1/{+name}"
+            },
+            "create": {
+              "httpMethod": "POST",
+              "request": {
+                "$ref": "Configuration"
+              },
+              "parameterOrder": [
+                "parent"
+              ],
+              "path": "v1/{+parent}/configurations",
+              "response": {
+                "$ref": "Configuration"
+              },
+              "description": "Creates a new configuration. Once created, a customer can apply the configuration to devices.",
+              "parameters": {
+                "parent": {
+                  "description": "Required. The customer that manages the configuration. An API resource name in the format `customers/[CUSTOMER_ID]`.",
+                  "location": "path",
+                  "pattern": "^customers/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "flatPath": "v1/customers/{customersId}/configurations",
+              "id": "androiddeviceprovisioning.customers.configurations.create"
+            }
+          }
+        },
+        "devices": {
+          "methods": {
+            "list": {
+              "parameterOrder": [
+                "parent"
+              ],
+              "flatPath": "v1/customers/{customersId}/devices",
+              "description": "Lists a customer's devices.",
+              "response": {
+                "$ref": "CustomerListDevicesResponse"
+              },
+              "httpMethod": "GET",
+              "path": "v1/{+parent}/devices",
+              "id": "androiddeviceprovisioning.customers.devices.list",
+              "parameters": {
+                "pageToken": {
+                  "type": "string",
+                  "location": "query",
+                  "description": "A token specifying which result page to return."
+                },
+                "pageSize": {
+                  "location": "query",
+                  "description": "The maximum number of devices to show in a page of results. Must be between 1 and 100 inclusive.",
+                  "format": "int64",
+                  "type": "string"
+                },
+                "parent": {
+                  "pattern": "^customers/[^/]+$",
+                  "description": "Required. The customer managing the devices. An API resource name in the format `customers/[CUSTOMER_ID]`.",
+                  "location": "path",
+                  "type": "string",
+                  "required": true
+                }
+              }
+            },
+            "unclaim": {
+              "path": "v1/{+parent}/devices:unclaim",
+              "flatPath": "v1/customers/{customersId}/devices:unclaim",
+              "httpMethod": "POST",
+              "id": "androiddeviceprovisioning.customers.devices.unclaim",
+              "response": {
+                "$ref": "Empty"
+              },
+              "request": {
+                "$ref": "CustomerUnclaimDeviceRequest"
+              },
+              "description": "Unclaims a device from a customer and removes it from zero-touch enrollment. After removing a device, a customer must contact their reseller to register the device into zero-touch enrollment again.",
+              "parameterOrder": [
+                "parent"
+              ],
+              "parameters": {
+                "parent": {
+                  "type": "string",
+                  "required": true,
+                  "description": "Required. The customer managing the device. An API resource name in the format `customers/[CUSTOMER_ID]`.",
+                  "location": "path",
+                  "pattern": "^customers/[^/]+$"
+                }
+              }
+            },
+            "applyConfiguration": {
+              "response": {
+                "$ref": "Empty"
+              },
+              "httpMethod": "POST",
+              "id": "androiddeviceprovisioning.customers.devices.applyConfiguration",
+              "parameterOrder": [
+                "parent"
+              ],
+              "parameters": {
+                "parent": {
+                  "required": true,
+                  "description": "Required. The customer managing the device. An API resource name in the format `customers/[CUSTOMER_ID]`.",
+                  "type": "string",
+                  "location": "path",
+                  "pattern": "^customers/[^/]+$"
+                }
+              },
+              "request": {
+                "$ref": "CustomerApplyConfigurationRequest"
+              },
+              "description": "Applies a Configuration to the device to register the device for zero-touch enrollment. After applying a configuration to a device, the device automatically provisions itself on first boot, or next factory reset.",
+              "flatPath": "v1/customers/{customersId}/devices:applyConfiguration",
+              "path": "v1/{+parent}/devices:applyConfiguration"
+            },
+            "removeConfiguration": {
+              "id": "androiddeviceprovisioning.customers.devices.removeConfiguration",
+              "response": {
+                "$ref": "Empty"
+              },
+              "httpMethod": "POST",
+              "description": "Removes a configuration from device.",
+              "request": {
+                "$ref": "CustomerRemoveConfigurationRequest"
+              },
+              "parameters": {
+                "parent": {
+                  "required": true,
+                  "description": "Required. The customer managing the device in the format `customers/[CUSTOMER_ID]`.",
+                  "type": "string",
+                  "location": "path",
+                  "pattern": "^customers/[^/]+$"
+                }
+              },
+              "flatPath": "v1/customers/{customersId}/devices:removeConfiguration",
+              "path": "v1/{+parent}/devices:removeConfiguration",
+              "parameterOrder": [
+                "parent"
+              ]
+            },
+            "get": {
+              "parameters": {
+                "name": {
+                  "pattern": "^customers/[^/]+/devices/[^/]+$",
+                  "required": true,
+                  "location": "path",
+                  "type": "string",
+                  "description": "Required. The device to get. An API resource name in the format `customers/[CUSTOMER_ID]/devices/[DEVICE_ID]`."
+                }
+              },
+              "path": "v1/{+name}",
+              "httpMethod": "GET",
+              "response": {
+                "$ref": "Device"
+              },
+              "id": "androiddeviceprovisioning.customers.devices.get",
+              "parameterOrder": [
+                "name"
+              ],
+              "flatPath": "v1/customers/{customersId}/devices/{devicesId}",
+              "description": "Gets the details of a device."
+            }
+          }
+        },
+        "dpcs": {
+          "methods": {
+            "list": {
+              "response": {
+                "$ref": "CustomerListDpcsResponse"
+              },
+              "parameterOrder": [
+                "parent"
+              ],
+              "flatPath": "v1/customers/{customersId}/dpcs",
+              "description": "Lists the DPCs (device policy controllers) that support zero-touch enrollment.",
+              "httpMethod": "GET",
+              "parameters": {
+                "parent": {
+                  "type": "string",
+                  "required": true,
+                  "pattern": "^customers/[^/]+$",
+                  "description": "Required. The customer that can use the DPCs in configurations. An API resource name in the format `customers/[CUSTOMER_ID]`.",
+                  "location": "path"
+                }
+              },
+              "id": "androiddeviceprovisioning.customers.dpcs.list",
+              "path": "v1/{+parent}/dpcs"
+            }
+          }
+        }
+      },
+      "methods": {
+        "list": {
+          "path": "v1/customers",
+          "response": {
+            "$ref": "CustomerListCustomersResponse"
+          },
+          "id": "androiddeviceprovisioning.customers.list",
+          "parameters": {
+            "pageSize": {
+              "format": "int32",
+              "type": "integer",
+              "description": "The maximum number of customers to show in a page of results. A number between 1 and 100 (inclusive).",
+              "location": "query"
+            },
+            "pageToken": {
+              "type": "string",
+              "location": "query",
+              "description": "A token specifying which result page to return."
+            }
+          },
+          "parameterOrder": [],
+          "description": "Lists the user's customer accounts.",
+          "flatPath": "v1/customers",
+          "httpMethod": "GET"
+        }
+      }
+    }
+  },
+  "revision": "20200801",
+  "mtlsRootUrl": "https://androiddeviceprovisioning.mtls.googleapis.com/",
+  "schemas": {
+    "ClaimDeviceRequest": {
+      "id": "ClaimDeviceRequest",
+      "description": "Request message to claim a device on behalf of a customer.",
+      "type": "object",
+      "properties": {
+        "deviceIdentifier": {
+          "description": "Required. Required. The device identifier of the device to claim.",
+          "$ref": "DeviceIdentifier"
+        },
+        "sectionType": {
+          "type": "string",
+          "enumDescriptions": [
+            "Unspecified section type.",
+            "SIM-lock section type.",
+            "Zero-touch enrollment section type."
+          ],
+          "enum": [
+            "SECTION_TYPE_UNSPECIFIED",
+            "SECTION_TYPE_SIM_LOCK",
+            "SECTION_TYPE_ZERO_TOUCH"
+          ],
+          "description": "Required. The section type of the device's provisioning record."
+        },
+        "customerId": {
+          "description": "Required. The ID of the customer for whom the device is being claimed.",
+          "type": "string",
+          "format": "int64"
+        },
+        "deviceMetadata": {
+          "description": "Optional. The metadata to attach to the device.",
+          "$ref": "DeviceMetadata"
+        }
+      }
+    },
+    "Empty": {
+      "id": "Empty",
+      "properties": {},
+      "type": "object",
+      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`."
+    },
+    "UpdateMetadataArguments": {
+      "id": "UpdateMetadataArguments",
+      "type": "object",
+      "properties": {
+        "deviceId": {
+          "type": "string",
+          "description": "Required. Device ID of the device.",
+          "format": "int64"
+        },
+        "deviceMetadata": {
+          "$ref": "DeviceMetadata",
+          "description": "Required. The metadata to update."
+        },
+        "deviceIdentifier": {
+          "description": "Required. Device identifier.",
+          "$ref": "DeviceIdentifier"
+        }
+      },
+      "description": "Identifies metadata updates to one device."
+    },
+    "DevicesLongRunningOperationResponse": {
+      "description": "Tracks the status of a long-running operation to claim, unclaim, or attach metadata to devices. To learn more, read [Long‑running batch operations](/zero-touch/guides/how-it-works#operations).",
+      "properties": {
+        "perDeviceStatus": {
+          "description": "The processing status for each device in the operation. One `PerDeviceStatus` per device. The list order matches the items in the original request.",
+          "type": "array",
+          "items": {
+            "$ref": "OperationPerDevice"
+          }
+        },
+        "successCount": {
+          "type": "integer",
+          "format": "int32",
+          "description": "A summary of how many items in the operation the server processed successfully. Updated as the operation progresses."
+        }
+      },
+      "type": "object",
+      "id": "DevicesLongRunningOperationResponse"
+    },
+    "PartnerUnclaim": {
+      "properties": {
+        "deviceIdentifier": {
+          "description": "Required. Device identifier of the device.",
+          "$ref": "DeviceIdentifier"
+        },
+        "deviceId": {
+          "format": "int64",
+          "description": "Required. Device ID of the device.",
+          "type": "string"
+        },
+        "vacationModeExpireTime": {
+          "description": "Optional. The expiration time of the vacation unlock.",
+          "type": "string",
+          "format": "google-datetime"
+        },
+        "vacationModeDays": {
+          "format": "int32",
+          "description": "Optional. The duration of the vacation unlock starting from when the request is processed. (1 day is treated as 24 hours)",
+          "type": "integer"
+        },
+        "sectionType": {
+          "description": "Required. The section type of the device's provisioning record.",
+          "type": "string",
+          "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."
+          ]
+        }
+      },
+      "id": "PartnerUnclaim",
+      "description": "Identifies one unclaim request.",
+      "type": "object"
+    },
+    "CustomerListConfigurationsResponse": {
+      "properties": {
+        "configurations": {
+          "description": "The configurations.",
+          "items": {
+            "$ref": "Configuration"
+          },
+          "type": "array"
+        }
+      },
+      "description": "Response message of customer's listing configuration.",
+      "id": "CustomerListConfigurationsResponse",
+      "type": "object"
+    },
+    "FindDevicesByOwnerRequest": {
+      "type": "object",
+      "id": "FindDevicesByOwnerRequest",
+      "description": "Request to find devices by customers.",
+      "properties": {
+        "customerId": {
+          "description": "Required. The list of customer IDs to search for.",
+          "items": {
+            "type": "string",
+            "format": "int64"
+          },
+          "type": "array"
+        },
+        "pageToken": {
+          "type": "string",
+          "description": "A token specifying which result page to return."
+        },
+        "limit": {
+          "description": "Required. The maximum number of devices to show in a page of results. Must be between 1 and 100 inclusive.",
+          "type": "string",
+          "format": "int64"
+        },
+        "sectionType": {
+          "enumDescriptions": [
+            "Unspecified section type.",
+            "SIM-lock section type.",
+            "Zero-touch enrollment section type."
+          ],
+          "enum": [
+            "SECTION_TYPE_UNSPECIFIED",
+            "SECTION_TYPE_SIM_LOCK",
+            "SECTION_TYPE_ZERO_TOUCH"
+          ],
+          "type": "string",
+          "description": "Required. The section type of the device's provisioning record."
+        }
+      }
+    },
+    "CustomerListDevicesResponse": {
+      "properties": {
+        "devices": {
+          "description": "The customer's devices.",
+          "type": "array",
+          "items": {
+            "$ref": "Device"
+          }
+        },
+        "nextPageToken": {
+          "type": "string",
+          "description": "A token used to access the next page of results. Omitted if no further results are available."
+        }
+      },
+      "id": "CustomerListDevicesResponse",
+      "type": "object",
+      "description": "Response message of customer's liting devices."
+    },
+    "UpdateDeviceMetadataRequest": {
+      "properties": {
+        "deviceMetadata": {
+          "$ref": "DeviceMetadata",
+          "description": "Required. The metadata to attach to the device."
+        }
+      },
+      "type": "object",
+      "description": "Request to set metadata for a device.",
+      "id": "UpdateDeviceMetadataRequest"
+    },
+    "CustomerRemoveConfigurationRequest": {
+      "description": "Request message for customer to remove the configuration from device.",
+      "type": "object",
+      "id": "CustomerRemoveConfigurationRequest",
+      "properties": {
+        "device": {
+          "$ref": "DeviceReference",
+          "description": "Required. The device to remove the configuration from."
+        }
+      }
+    },
+    "Operation": {
+      "type": "object",
+      "description": "This resource represents a long-running operation that is the result of a network API call.",
+      "id": "Operation",
+      "properties": {
+        "name": {
+          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.",
+          "type": "string"
+        },
+        "metadata": {
+          "additionalProperties": {
+            "type": "any",
+            "description": "Properties of the object. Contains field @type with type URL."
+          },
+          "description": "This field will contain a `DevicesLongRunningOperationMetadata` object if the operation is created by `claimAsync`, `unclaimAsync`, or `updateMetadataAsync`.",
+          "type": "object"
+        },
+        "error": {
+          "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`.",
+          "$ref": "Status"
+        },
+        "done": {
+          "type": "boolean",
+          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available."
+        },
+        "response": {
+          "type": "object",
+          "description": "This field will contain a `DevicesLongRunningOperationResponse` object if the operation is created by `claimAsync`, `unclaimAsync`, or `updateMetadataAsync`.",
+          "additionalProperties": {
+            "type": "any",
+            "description": "Properties of the object. Contains field @type with type URL."
+          }
+        }
+      }
+    },
+    "FindDevicesByOwnerResponse": {
+      "type": "object",
+      "description": "Response containing found devices.",
+      "id": "FindDevicesByOwnerResponse",
+      "properties": {
+        "totalSize": {
+          "type": "integer",
+          "description": "The total count of items in the list irrespective of pagination.",
+          "format": "int32"
+        },
+        "devices": {
+          "type": "array",
+          "items": {
+            "$ref": "Device"
+          },
+          "description": "The customer's devices."
+        },
+        "nextPageToken": {
+          "type": "string",
+          "description": "A token used to access the next page of results. Omitted if no further results are available."
+        }
+      }
+    },
+    "UnclaimDevicesRequest": {
+      "type": "object",
+      "description": "Request to unclaim devices asynchronously in batch.",
+      "id": "UnclaimDevicesRequest",
+      "properties": {
+        "unclaims": {
+          "items": {
+            "$ref": "PartnerUnclaim"
+          },
+          "description": "Required. The list of devices to unclaim.",
+          "type": "array"
+        }
+      }
+    },
+    "DeviceIdentifier": {
+      "type": "object",
+      "id": "DeviceIdentifier",
+      "properties": {
+        "serialNumber": {
+          "type": "string",
+          "description": "The manufacturer's serial number for the device. This value might not be unique across different device models."
+        },
+        "model": {
+          "description": "The device model's name. Matches the device's built-in value returned from `android.os.Build.MODEL`. Allowed values are listed in [models](/zero-touch/resources/manufacturer-names#model-names).",
+          "type": "string"
+        },
+        "manufacturer": {
+          "type": "string",
+          "description": "The device manufacturer’s name. Matches the device's built-in value returned from `android.os.Build.MANUFACTURER`. Allowed values are listed in [manufacturers](/zero-touch/resources/manufacturer-names#manufacturers-names)."
+        },
+        "meid": {
+          "description": "The device’s MEID number.",
+          "type": "string"
+        },
+        "imei": {
+          "description": "The device’s IMEI number. Validated on input.",
+          "type": "string"
+        }
+      },
+      "description": "Encapsulates hardware and product IDs to identify a manufactured device. To understand requirements on identifier sets, read [Identifiers](https://developers.google.com/zero-touch/guides/identifiers)."
+    },
+    "DeviceClaim": {
+      "properties": {
+        "vacationModeExpireTime": {
+          "description": "The timestamp when the device will exit ‘vacation mode’. This value is present iff the device is in 'vacation mode'.",
+          "type": "string",
+          "format": "google-datetime"
+        },
+        "sectionType": {
+          "type": "string",
+          "readOnly": true,
+          "enumDescriptions": [
+            "Unspecified section type.",
+            "SIM-lock section type.",
+            "Zero-touch enrollment section type."
+          ],
+          "description": "Output only. The type of claim made on the device.",
+          "enum": [
+            "SECTION_TYPE_UNSPECIFIED",
+            "SECTION_TYPE_SIM_LOCK",
+            "SECTION_TYPE_ZERO_TOUCH"
+          ]
+        },
+        "ownerCompanyId": {
+          "type": "string",
+          "description": "The ID of the Customer that purchased the device.",
+          "format": "int64"
+        },
+        "resellerId": {
+          "description": "The ID of the reseller that claimed the device.",
+          "format": "int64",
+          "type": "string"
+        },
+        "vacationModeStartTime": {
+          "description": "The timestamp when the device was put into ‘vacation mode’. This value is present iff the device is in 'vacation mode'.",
+          "format": "google-datetime",
+          "type": "string"
+        }
+      },
+      "description": "A record of a device claimed by a reseller for a customer. Devices claimed for zero-touch enrollment have a claim with the type `SECTION_TYPE_ZERO_TOUCH`. To learn more, read [Claim devices for customers](/zero-touch/guides/how-it-works#claim).",
+      "type": "object",
+      "id": "DeviceClaim"
+    },
+    "UpdateDeviceMetadataInBatchRequest": {
+      "properties": {
+        "updates": {
+          "type": "array",
+          "description": "Required. The list of metadata updates.",
+          "items": {
+            "$ref": "UpdateMetadataArguments"
+          }
+        }
+      },
+      "id": "UpdateDeviceMetadataInBatchRequest",
+      "description": "Request to update device metadata in batch.",
+      "type": "object"
+    },
+    "CustomerListCustomersResponse": {
+      "description": "Response message for listing my customers.",
+      "properties": {
+        "nextPageToken": {
+          "type": "string",
+          "description": "A token used to access the next page of results. Omitted if no further results are available."
+        },
+        "customers": {
+          "type": "array",
+          "description": "The customer accounts the calling user is a member of.",
+          "items": {
+            "$ref": "Company"
+          }
+        }
+      },
+      "id": "CustomerListCustomersResponse",
+      "type": "object"
+    },
+    "ClaimDeviceResponse": {
+      "properties": {
+        "deviceId": {
+          "description": "The device ID of the claimed device.",
+          "type": "string",
+          "format": "int64"
+        },
+        "deviceName": {
+          "type": "string",
+          "description": "The resource name of the device in the format `partners/[PARTNER_ID]/devices/[DEVICE_ID]`."
+        }
+      },
+      "id": "ClaimDeviceResponse",
+      "description": "Response message containing device id of the claim.",
+      "type": "object"
+    },
+    "DeviceMetadata": {
+      "description": "Metadata entries that can be attached to a `Device`. To learn more, read [Device metadata](https://developers.google.com/zero-touch/guides/metadata).",
+      "id": "DeviceMetadata",
+      "properties": {
+        "entries": {
+          "additionalProperties": {
+            "type": "string"
+          },
+          "type": "object",
+          "description": "Metadata entries recorded as key-value pairs."
+        }
+      },
+      "type": "object"
+    },
+    "CustomerApplyConfigurationRequest": {
+      "type": "object",
+      "description": "Request message for customer to assign a configuration to device.",
+      "properties": {
+        "device": {
+          "$ref": "DeviceReference",
+          "description": "Required. The device the configuration is applied to."
+        },
+        "configuration": {
+          "description": "Required. The configuration applied to the device in the format `customers/[CUSTOMER_ID]/configurations/[CONFIGURATION_ID]`.",
+          "type": "string"
+        }
+      },
+      "id": "CustomerApplyConfigurationRequest"
+    },
+    "CustomerListDpcsResponse": {
+      "id": "CustomerListDpcsResponse",
+      "type": "object",
+      "description": "Response message of customer's listing DPCs.",
+      "properties": {
+        "dpcs": {
+          "items": {
+            "$ref": "Dpc"
+          },
+          "type": "array",
+          "description": "The list of DPCs available to the customer that support zero-touch enrollment."
+        }
+      }
+    },
+    "Company": {
+      "type": "object",
+      "id": "Company",
+      "description": "A reseller, vendor, or customer in the zero-touch reseller and customer APIs.",
+      "properties": {
+        "companyId": {
+          "description": "Output only. The ID of the company. Assigned by the server.",
+          "readOnly": true,
+          "format": "int64",
+          "type": "string"
+        },
+        "ownerEmails": {
+          "type": "array",
+          "items": {
+            "type": "string"
+          },
+          "description": "Required. Input only. Email address of customer's users in the owner role. At least one `owner_email` is required. Each email address must be associated with a Google Account. Owners share the same access as admins but can also add, delete, and edit your organization's portal users."
+        },
+        "adminEmails": {
+          "items": {
+            "type": "string"
+          },
+          "type": "array",
+          "description": "Optional. Email address of customer's users in the admin role. Each email address must be associated with a Google Account."
+        },
+        "name": {
+          "type": "string",
+          "readOnly": true,
+          "description": "Output only. The API resource name of the company. The resource name is one of the following formats: * `partners/[PARTNER_ID]/customers/[CUSTOMER_ID]` * `partners/[PARTNER_ID]/vendors/[VENDOR_ID]` * `partners/[PARTNER_ID]/vendors/[VENDOR_ID]/customers/[CUSTOMER_ID]` Assigned by the server."
+        },
+        "companyName": {
+          "description": "Required. The name of the company. For example _XYZ Corp_. Displayed to the company's employees in the zero-touch enrollment portal.",
+          "type": "string"
+        },
+        "termsStatus": {
+          "description": "Output only. Whether any user from the company has accepted the latest Terms of Service (ToS). See TermsStatus.",
+          "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 user accepted a previous ToS."
+          ],
+          "readOnly": true,
+          "type": "string"
+        }
+      }
+    },
+    "Configuration": {
+      "properties": {
+        "contactEmail": {
+          "description": "Required. The email address that device users can contact to get help. Zero-touch enrollment shows this email address to device users before device provisioning. The value is validated on input.",
+          "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) in the format `customers/[CUSTOMER_ID]/dpcs/*`. To list the supported DPCs, call `customers.dpcs.list`.",
+          "type": "string"
+        },
+        "name": {
+          "readOnly": true,
+          "description": "Output only. The API resource name in the format `customers/[CUSTOMER_ID]/configurations/[CONFIGURATION_ID]`. Assigned by the server.",
+          "type": "string"
+        },
+        "contactPhone": {
+          "type": "string",
+          "description": "Required. The telephone number that device users can call, using another device, to get help. Zero-touch enrollment shows this number to device users before device provisioning. Accepts numerals, spaces, the plus sign, hyphens, and parentheses."
+        },
+        "configurationId": {
+          "type": "string",
+          "description": "Output only. The ID of the configuration. Assigned by the server.",
+          "readOnly": true,
+          "format": "int64"
+        },
+        "configurationName": {
+          "description": "Required. A short name that describes the configuration's purpose. For example, _Sales team_ or _Temporary employees_. The zero-touch enrollment portal displays this name to IT admins.",
+          "type": "string"
+        },
+        "customMessage": {
+          "description": "A message, containing one or two sentences, to help device users get help or give them more details about what’s happening to their device. Zero-touch enrollment shows this message before the device is provisioned.",
+          "type": "string"
+        },
+        "companyName": {
+          "description": "Required. The name of the organization. Zero-touch enrollment shows this organization name to device users during device provisioning.",
+          "type": "string"
+        },
+        "isDefault": {
+          "type": "boolean",
+          "description": "Required. Whether this is the default configuration that zero-touch enrollment applies to any new devices the organization purchases in the future. Only one customer configuration can be the default. Setting this value to `true`, changes the previous default configuration's `isDefault` value to `false`."
+        }
+      },
+      "type": "object",
+      "description": "A configuration collects the provisioning options for Android devices. Each configuration combines the following: * The EMM device policy controller (DPC) installed on the devices. * EMM policies enforced on the devices. * Metadata displayed on the device to help users during setup. Customers can add as many configurations as they need. However, zero-touch enrollment works best when a customer sets a default configuration that's applied to any new devices the organization purchases.",
+      "id": "Configuration"
+    },
+    "OperationPerDevice": {
+      "description": "A task for each device in the operation. Corresponds to each device change in the request.",
+      "id": "OperationPerDevice",
+      "properties": {
+        "unclaim": {
+          "$ref": "PartnerUnclaim",
+          "description": "A copy of the original device-unclaim request received by the server."
+        },
+        "updateMetadata": {
+          "description": "A copy of the original metadata-update request received by the server.",
+          "$ref": "UpdateMetadataArguments"
+        },
+        "result": {
+          "description": "The processing result for each device.",
+          "$ref": "PerDeviceStatusInBatch"
+        },
+        "claim": {
+          "description": "A copy of the original device-claim request received by the server.",
+          "$ref": "PartnerClaim"
+        }
+      },
+      "type": "object"
+    },
+    "UnclaimDeviceRequest": {
+      "type": "object",
+      "properties": {
+        "sectionType": {
+          "enumDescriptions": [
+            "Unspecified section type.",
+            "SIM-lock section type.",
+            "Zero-touch enrollment section type."
+          ],
+          "type": "string",
+          "enum": [
+            "SECTION_TYPE_UNSPECIFIED",
+            "SECTION_TYPE_SIM_LOCK",
+            "SECTION_TYPE_ZERO_TOUCH"
+          ],
+          "description": "Required. The section type of the device's provisioning record."
+        },
+        "deviceId": {
+          "format": "int64",
+          "type": "string",
+          "description": "Required. The device ID returned by `ClaimDevice`."
+        },
+        "vacationModeDays": {
+          "type": "integer",
+          "format": "int32",
+          "description": "The duration of the vacation unlock starting from when the request is processed. (1 day is treated as 24 hours)"
+        },
+        "vacationModeExpireTime": {
+          "format": "google-datetime",
+          "type": "string",
+          "description": "The expiration time of the vacation unlock."
+        },
+        "deviceIdentifier": {
+          "description": "Required. The device identifier you used when you claimed this device.",
+          "$ref": "DeviceIdentifier"
+        }
+      },
+      "id": "UnclaimDeviceRequest",
+      "description": "Request message to unclaim a device."
+    },
+    "DevicesLongRunningOperationMetadata": {
+      "properties": {
+        "progress": {
+          "format": "int32",
+          "description": "The processing progress of the operation. Measured as a number from 0 to 100. A value of 10O doesnt always mean the operation completed—check for the inclusion of a `done` field.",
+          "type": "integer"
+        },
+        "processingStatus": {
+          "type": "string",
+          "enumDescriptions": [
+            "Invalid code. Shouldn't be used.",
+            "Pending.",
+            "In progress.",
+            "Processed. This doesn't mean all items were processed successfully, you should check the `response` field for the result of every item."
+          ],
+          "enum": [
+            "BATCH_PROCESS_STATUS_UNSPECIFIED",
+            "BATCH_PROCESS_PENDING",
+            "BATCH_PROCESS_IN_PROGRESS",
+            "BATCH_PROCESS_PROCESSED"
+          ],
+          "description": "The processing status of the operation."
+        },
+        "devicesCount": {
+          "description": "The number of metadata updates in the operation. This might be different from the number of updates in the request if the API can't parse some of the updates.",
+          "type": "integer",
+          "format": "int32"
+        }
+      },
+      "description": "Tracks the status of a long-running operation to asynchronously update a batch of reseller metadata attached to devices. To learn more, read [Long‑running batch operations](/zero-touch/guides/how-it-works#operations).",
+      "type": "object",
+      "id": "DevicesLongRunningOperationMetadata"
+    },
+    "CustomerUnclaimDeviceRequest": {
+      "id": "CustomerUnclaimDeviceRequest",
+      "properties": {
+        "device": {
+          "description": "Required. The device to unclaim.",
+          "$ref": "DeviceReference"
+        }
+      },
+      "type": "object",
+      "description": "Request message for customer to unclaim a device."
+    },
+    "Dpc": {
+      "id": "Dpc",
+      "type": "object",
+      "properties": {
+        "dpcName": {
+          "description": "Output only. The title of the DPC app in Google Play. For example, _Google Apps Device Policy_. Useful in an application's user interface.",
+          "readOnly": true,
+          "type": "string"
+        },
+        "name": {
+          "description": "Output only. The API resource name in the format `customers/[CUSTOMER_ID]/dpcs/[DPC_ID]`. Assigned by the server. To maintain a reference to a DPC across customer accounts, persist and match the last path component (`DPC_ID`).",
+          "type": "string",
+          "readOnly": true
+        },
+        "packageName": {
+          "readOnly": true,
+          "type": "string",
+          "description": "Output only. The DPC's Android application ID that looks like a Java package name. Zero-touch enrollment installs the DPC app onto a device using this identifier."
+        }
+      },
+      "description": "An EMM's DPC ([device policy controller](http://developer.android.com/work/dpc/build-dpc.html)). Zero-touch enrollment installs a DPC (listed in the `Configuration`) on a device to maintain the customer's mobile policies. All the DPCs listed by the API support zero-touch enrollment and are available in Google Play."
+    },
+    "ListVendorsResponse": {
+      "type": "object",
+      "id": "ListVendorsResponse",
+      "properties": {
+        "vendors": {
+          "type": "array",
+          "items": {
+            "$ref": "Company"
+          },
+          "description": "List of vendors of the reseller partner. Fields `name`, `companyId` and `companyName` are populated to the Company object."
+        },
+        "nextPageToken": {
+          "description": "A token to retrieve the next page of results. Omitted if no further results are available.",
+          "type": "string"
+        },
+        "totalSize": {
+          "format": "int32",
+          "description": "The total count of items in the list irrespective of pagination.",
+          "type": "integer"
+        }
+      },
+      "description": "Response message to list vendors of the partner."
+    },
+    "FindDevicesByDeviceIdentifierResponse": {
+      "properties": {
+        "nextPageToken": {
+          "description": "A token used to access the next page of results. Omitted if no further results are available.",
+          "type": "string"
+        },
+        "totalSize": {
+          "type": "integer",
+          "description": "The total count of items in the list irrespective of pagination.",
+          "format": "int32"
+        },
+        "devices": {
+          "type": "array",
+          "description": "Found devices.",
+          "items": {
+            "$ref": "Device"
+          }
+        }
+      },
+      "type": "object",
+      "description": "Response containing found devices.",
+      "id": "FindDevicesByDeviceIdentifierResponse"
+    },
+    "Status": {
+      "type": "object",
+      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
+      "properties": {
+        "code": {
+          "type": "integer",
+          "format": "int32",
+          "description": "The status code, which should be an enum value of google.rpc.Code."
+        },
+        "details": {
+          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
+          "items": {
+            "additionalProperties": {
+              "type": "any",
+              "description": "Properties of the object. Contains field @type with type URL."
+            },
+            "type": "object"
+          },
+          "type": "array"
+        },
+        "message": {
+          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
+          "type": "string"
+        }
+      },
+      "id": "Status"
+    },
+    "ClaimDevicesRequest": {
+      "id": "ClaimDevicesRequest",
+      "type": "object",
+      "description": "Request to claim devices asynchronously in batch. Claiming a device adds the device to zero-touch enrollment and shows the device in the customer's view of the portal.",
+      "properties": {
+        "claims": {
+          "description": "Required. A list of device claims.",
+          "type": "array",
+          "items": {
+            "$ref": "PartnerClaim"
+          }
+        }
+      }
+    },
+    "Device": {
+      "id": "Device",
+      "description": "An Android device registered for zero-touch enrollment.",
+      "type": "object",
+      "properties": {
+        "deviceId": {
+          "description": "Output only. The ID of the device. Assigned by the server.",
+          "readOnly": true,
+          "format": "int64",
+          "type": "string"
+        },
+        "deviceMetadata": {
+          "$ref": "DeviceMetadata",
+          "description": "The metadata attached to the device. Structured as key-value pairs. To learn more, read [Device metadata](https://developers.google.com/zero-touch/guides/metadata)."
+        },
+        "claims": {
+          "items": {
+            "$ref": "DeviceClaim"
+          },
+          "description": "Output only. The provisioning claims for a device. Devices claimed for zero-touch enrollment have a claim with the type `SECTION_TYPE_ZERO_TOUCH`. Call `partners.devices.unclaim` or `partners.devices.unclaimAsync` to remove the device from zero-touch enrollment.",
+          "readOnly": true,
+          "type": "array"
+        },
+        "name": {
+          "type": "string",
+          "description": "Output only. The API resource name in the format `partners/[PARTNER_ID]/devices/[DEVICE_ID]`. Assigned by the server.",
+          "readOnly": true
+        },
+        "deviceIdentifier": {
+          "$ref": "DeviceIdentifier",
+          "description": "The hardware IDs that identify a manufactured device. To learn more, read [Identifiers](https://developers.google.com/zero-touch/guides/identifiers)."
+        },
+        "configuration": {
+          "type": "string",
+          "description": "Not available to resellers."
+        }
+      }
+    },
+    "CreateCustomerRequest": {
+      "description": "Request message to create a customer.",
+      "type": "object",
+      "properties": {
+        "customer": {
+          "$ref": "Company",
+          "description": "Required. The company data to populate the new customer. Must contain a value for `companyName` and at least one `owner_email` that's associated with a Google Account. The values for `companyId` and `name` must be empty."
+        }
+      },
+      "id": "CreateCustomerRequest"
+    },
+    "FindDevicesByDeviceIdentifierRequest": {
+      "type": "object",
+      "properties": {
+        "pageToken": {
+          "type": "string",
+          "description": "A token specifying which result page to return."
+        },
+        "limit": {
+          "type": "string",
+          "format": "int64",
+          "description": "Required. The maximum number of devices to show in a page of results. Must be between 1 and 100 inclusive."
+        },
+        "deviceIdentifier": {
+          "$ref": "DeviceIdentifier",
+          "description": "Required. Required. The device identifier to search for."
+        }
+      },
+      "description": "Request to find devices.",
+      "id": "FindDevicesByDeviceIdentifierRequest"
+    },
+    "PerDeviceStatusInBatch": {
+      "description": "Captures the processing status for each device in the operation.",
+      "properties": {
+        "errorIdentifier": {
+          "description": "If processing fails, the error type.",
+          "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. We don't expect this error to occur here.",
+            "Other error. We know/expect this error, but there's no defined error code for the error.",
+            "Success.",
+            "Permission denied.",
+            "Invalid device identifier.",
+            "Invalid section type.",
+            "This section is claimed by another company."
+          ],
+          "type": "string"
+        },
+        "errorMessage": {
+          "type": "string",
+          "description": "If processing fails, a developer message explaining what went wrong."
+        },
+        "deviceId": {
+          "format": "int64",
+          "type": "string",
+          "description": "If processing succeeds, the device ID of the device."
+        }
+      },
+      "id": "PerDeviceStatusInBatch",
+      "type": "object"
+    },
+    "PartnerClaim": {
+      "id": "PartnerClaim",
+      "type": "object",
+      "description": "Identifies one claim request.",
+      "properties": {
+        "customerId": {
+          "format": "int64",
+          "type": "string",
+          "description": "Required. The ID of the customer for whom the device is being claimed."
+        },
+        "deviceIdentifier": {
+          "$ref": "DeviceIdentifier",
+          "description": "Required. Required. Device identifier of the device."
+        },
+        "sectionType": {
+          "type": "string",
+          "enumDescriptions": [
+            "Unspecified section type.",
+            "SIM-lock section type.",
+            "Zero-touch enrollment section type."
+          ],
+          "enum": [
+            "SECTION_TYPE_UNSPECIFIED",
+            "SECTION_TYPE_SIM_LOCK",
+            "SECTION_TYPE_ZERO_TOUCH"
+          ],
+          "description": "Required. The section type of the device's provisioning record."
+        },
+        "deviceMetadata": {
+          "$ref": "DeviceMetadata",
+          "description": "Required. The metadata to attach to the device at claim."
+        }
+      }
+    },
+    "ListVendorCustomersResponse": {
+      "type": "object",
+      "properties": {
+        "totalSize": {
+          "type": "integer",
+          "format": "int32",
+          "description": "The total count of items in the list irrespective of pagination."
+        },
+        "customers": {
+          "items": {
+            "$ref": "Company"
+          },
+          "description": "List of customers of the vendor.",
+          "type": "array"
+        },
+        "nextPageToken": {
+          "description": "A token to retrieve the next page of results. Omitted if no further results are available.",
+          "type": "string"
+        }
+      },
+      "description": "Response message to list customers of the vendor.",
+      "id": "ListVendorCustomersResponse"
+    },
+    "DeviceReference": {
+      "type": "object",
+      "description": "A `DeviceReference` is an API abstraction that lets you supply a _device_ argument to a method using one of the following identifier types: * A numeric API resource ID. * Real-world hardware IDs, such as IMEI number, belonging to the manufactured device. Methods that operate on devices take a `DeviceReference` as a parameter type because it's more flexible for the caller. To learn more about device identifiers, read [Identifiers](https://developers.google.com/zero-touch/guides/identifiers).",
+      "id": "DeviceReference",
+      "properties": {
+        "deviceIdentifier": {
+          "description": "The hardware IDs of the device.",
+          "$ref": "DeviceIdentifier"
+        },
+        "deviceId": {
+          "type": "string",
+          "description": "The ID of the device.",
+          "format": "int64"
+        }
+      }
+    },
+    "ListCustomersResponse": {
+      "id": "ListCustomersResponse",
+      "description": "Response message of all customers related to this partner.",
+      "properties": {
+        "nextPageToken": {
+          "type": "string",
+          "description": "A token to retrieve the next page of results. Omitted if no further results are available."
+        },
+        "totalSize": {
+          "description": "The total count of items in the list irrespective of pagination.",
+          "type": "integer",
+          "format": "int32"
+        },
+        "customers": {
+          "items": {
+            "$ref": "Company"
+          },
+          "description": "List of customers related to this reseller partner.",
+          "type": "array"
+        }
+      },
+      "type": "object"
+    }
+  },
+  "id": "androiddeviceprovisioning:v1",
+  "ownerName": "Google",
+  "fullyEncodeReservedExpansion": true,
+  "rootUrl": "https://androiddeviceprovisioning.googleapis.com/"
+}