openapi-directory
Version:
Building & bundling https://github.com/APIs-guru/openapi-directory for easy use from JS
1 lines • 57.1 kB
JSON
{"openapi":"3.0.0","info":{"contact":{"name":"Google","url":"https://google.com"},"description":"Automates Android zero-touch enrollment for device resellers, customers, and EMMs.","title":"Android Device Provisioning Partner","version":"v1","x-apiClientRegistration":{"url":"https://console.developers.google.com"},"x-logo":{"url":"https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"},"x-origin":[{"converter":{"url":"https://github.com/lucybot/api-spec-converter","version":"2.7.18"},"format":"google","url":"https://androiddeviceprovisioning.googleapis.com/$discovery/rest?version=v1","version":"v1"}],"x-preferred":true,"x-providerName":"googleapis.com","x-serviceName":"androiddeviceprovisioning"},"externalDocs":{"url":"https://developers.google.com/zero-touch/"},"tags":[{"name":"customers"},{"name":"operations"},{"name":"partners"}],"paths":{"/v1/customers":{"get":{"description":"Lists the user's customer accounts.","operationId":"androiddeviceprovisioning.customers.list","parameters":[{"description":"The maximum number of customers to show in a page of results.\nA number between 1 and 100 (inclusive).","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"A token specifying which result page to return.","in":"query","name":"pageToken","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CustomerListCustomersResponse"}}}}},"tags":["customers"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}]},"/v1/partners/{metadataOwnerId}/devices/{deviceId}/metadata":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"description":"Updates reseller metadata associated with the device.","operationId":"androiddeviceprovisioning.partners.devices.metadata","parameters":[{"description":"Required. The ID of the device.","in":"path","name":"deviceId","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}},{"description":"Required. The owner of the newly set metadata. Set this to the partner ID.","in":"path","name":"metadataOwnerId","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDeviceMetadataRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeviceMetadata"}}}}},"tags":["partners"]}},"/v1/partners/{partnerId}/customers":{"get":{"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.","operationId":"androiddeviceprovisioning.partners.customers.list","parameters":[{"description":"The maximum number of results to be returned. If not specified or 0, all\nthe records are returned.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"A token identifying a page of results returned by the server.","in":"query","name":"pageToken","schema":{"type":"string"}},{"description":"Required. The ID of the reseller partner.","in":"path","name":"partnerId","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ListCustomersResponse"}}}}},"tags":["partners"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}]},"/v1/partners/{partnerId}/devices:claim":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"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.","operationId":"androiddeviceprovisioning.partners.devices.claim","parameters":[{"description":"Required. The ID of the reseller partner.","in":"path","name":"partnerId","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClaimDeviceRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ClaimDeviceResponse"}}}}},"tags":["partners"]}},"/v1/partners/{partnerId}/devices:claimAsync":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"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).","operationId":"androiddeviceprovisioning.partners.devices.claimAsync","parameters":[{"description":"Required. The ID of the reseller partner.","in":"path","name":"partnerId","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClaimDevicesRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Operation"}}}}},"tags":["partners"]}},"/v1/partners/{partnerId}/devices:findByIdentifier":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"description":"Finds devices by hardware identifiers, such as IMEI.","operationId":"androiddeviceprovisioning.partners.devices.findByIdentifier","parameters":[{"description":"Required. The ID of the reseller partner.","in":"path","name":"partnerId","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindDevicesByDeviceIdentifierRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/FindDevicesByDeviceIdentifierResponse"}}}}},"tags":["partners"]}},"/v1/partners/{partnerId}/devices:findByOwner":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"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.","operationId":"androiddeviceprovisioning.partners.devices.findByOwner","parameters":[{"description":"Required. The ID of the reseller partner.","in":"path","name":"partnerId","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindDevicesByOwnerRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/FindDevicesByOwnerResponse"}}}}},"tags":["partners"]}},"/v1/partners/{partnerId}/devices:unclaim":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"description":"Unclaims a device from a customer and removes it from zero-touch\nenrollment.","operationId":"androiddeviceprovisioning.partners.devices.unclaim","parameters":[{"description":"Required. The ID of the reseller partner.","in":"path","name":"partnerId","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnclaimDeviceRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Empty"}}}}},"tags":["partners"]}},"/v1/partners/{partnerId}/devices:unclaimAsync":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"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).","operationId":"androiddeviceprovisioning.partners.devices.unclaimAsync","parameters":[{"description":"Required. The reseller partner ID.","in":"path","name":"partnerId","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnclaimDevicesRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Operation"}}}}},"tags":["partners"]}},"/v1/partners/{partnerId}/devices:updateMetadataAsync":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"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).","operationId":"androiddeviceprovisioning.partners.devices.updateMetadataAsync","parameters":[{"description":"Required. The reseller partner ID.","in":"path","name":"partnerId","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDeviceMetadataInBatchRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Operation"}}}}},"tags":["partners"]}},"/v1/{name}":{"delete":{"description":"Deletes an unused configuration. The API call fails if the customer has\ndevices with the configuration applied.","operationId":"androiddeviceprovisioning.customers.configurations.delete","parameters":[{"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.","in":"path","name":"name","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Empty"}}}}},"tags":["customers"]},"get":{"description":"Gets a device.","operationId":"androiddeviceprovisioning.partners.devices.get","parameters":[{"description":"Required. The device API resource name in the format\n`partners/[PARTNER_ID]/devices/[DEVICE_ID]`.","in":"path","name":"name","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Device"}}}}},"tags":["partners"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"patch":{"description":"Updates a configuration's field values.","operationId":"androiddeviceprovisioning.customers.configurations.patch","parameters":[{"description":"Output only. The API resource name in the format\n`customers/[CUSTOMER_ID]/configurations/[CONFIGURATION_ID]`. Assigned by\nthe server.","in":"path","name":"name","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}},{"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.","in":"query","name":"updateMask","schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/Configuration"},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Configuration"}}}}},"tags":["customers"]}},"/v1/{parent}/configurations":{"get":{"description":"Lists a customer's configurations.","operationId":"androiddeviceprovisioning.customers.configurations.list","parameters":[{"description":"Required. The customer that manages the listed configurations. An API\nresource name in the format `customers/[CUSTOMER_ID]`.","in":"path","name":"parent","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CustomerListConfigurationsResponse"}}}}},"tags":["customers"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"description":"Creates a new configuration. Once created, a customer can apply the\nconfiguration to devices.","operationId":"androiddeviceprovisioning.customers.configurations.create","parameters":[{"description":"Required. The customer that manages the configuration. An API resource name\nin the format `customers/[CUSTOMER_ID]`.","in":"path","name":"parent","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/Configuration"},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Configuration"}}}}},"tags":["customers"]}},"/v1/{parent}/customers":{"get":{"description":"Lists the customers of the vendor.","operationId":"androiddeviceprovisioning.partners.vendors.customers.list","parameters":[{"description":"The maximum number of results to be returned.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"A token identifying a page of results returned by the server.","in":"query","name":"pageToken","schema":{"type":"string"}},{"description":"Required. The resource name in the format\n`partners/[PARTNER_ID]/vendors/[VENDOR_ID]`.","in":"path","name":"parent","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ListVendorCustomersResponse"}}}}},"tags":["partners"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"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.\nThe customer receives an email that welcomes them to zero-touch enrollment\nand explains how to sign into the portal.","operationId":"androiddeviceprovisioning.partners.customers.create","parameters":[{"description":"Required. The parent resource ID in the format `partners/[PARTNER_ID]` that\nidentifies the reseller.","in":"path","name":"parent","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCustomerRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Company"}}}}},"tags":["partners"]}},"/v1/{parent}/devices":{"get":{"description":"Lists a customer's devices.","operationId":"androiddeviceprovisioning.customers.devices.list","parameters":[{"description":"The maximum number of devices to show in a page of results.\nMust be between 1 and 100 inclusive.","in":"query","name":"pageSize","schema":{"type":"string"}},{"description":"A token specifying which result page to return.","in":"query","name":"pageToken","schema":{"type":"string"}},{"description":"Required. The customer managing the devices. An API resource name in the\nformat `customers/[CUSTOMER_ID]`.","in":"path","name":"parent","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CustomerListDevicesResponse"}}}}},"tags":["customers"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}]},"/v1/{parent}/devices:applyConfiguration":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"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.","operationId":"androiddeviceprovisioning.customers.devices.applyConfiguration","parameters":[{"description":"Required. The customer managing the device. An API resource name in the\nformat `customers/[CUSTOMER_ID]`.","in":"path","name":"parent","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerApplyConfigurationRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Empty"}}}}},"tags":["customers"]}},"/v1/{parent}/devices:removeConfiguration":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"description":"Removes a configuration from device.","operationId":"androiddeviceprovisioning.customers.devices.removeConfiguration","parameters":[{"description":"Required. The customer managing the device in the format\n`customers/[CUSTOMER_ID]`.","in":"path","name":"parent","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerRemoveConfigurationRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Empty"}}}}},"tags":["customers"]}},"/v1/{parent}/devices:unclaim":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"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.","operationId":"androiddeviceprovisioning.customers.devices.unclaim","parameters":[{"description":"Required. The customer managing the device. An API resource name in the\nformat `customers/[CUSTOMER_ID]`.","in":"path","name":"parent","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerUnclaimDeviceRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Empty"}}}}},"tags":["customers"]}},"/v1/{parent}/dpcs":{"get":{"description":"Lists the DPCs (device policy controllers) that support zero-touch\nenrollment.","operationId":"androiddeviceprovisioning.customers.dpcs.list","parameters":[{"description":"Required. The customer that can use the DPCs in configurations. An API\nresource name in the format `customers/[CUSTOMER_ID]`.","in":"path","name":"parent","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CustomerListDpcsResponse"}}}}},"tags":["customers"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}]},"/v1/{parent}/vendors":{"get":{"description":"Lists the vendors of the partner.","operationId":"androiddeviceprovisioning.partners.vendors.list","parameters":[{"description":"The maximum number of results to be returned.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"A token identifying a page of results returned by the server.","in":"query","name":"pageToken","schema":{"type":"string"}},{"description":"Required. The resource name in the format `partners/[PARTNER_ID]`.","in":"path","name":"parent","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ListVendorsResponse"}}}}},"tags":["partners"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}]}},"servers":[{"url":"https://androiddeviceprovisioning.googleapis.com/"}],"components":{"parameters":{"access_token":{"description":"OAuth access token.","in":"query","name":"access_token","schema":{"type":"string"}},"alt":{"description":"Data format for response.","in":"query","name":"alt","schema":{"type":"string","enum":["json","media","proto"],"default":"json"}},"callback":{"description":"JSONP","in":"query","name":"callback","schema":{"type":"string"}},"fields":{"description":"Selector specifying which fields to include in a partial response.","in":"query","name":"fields","schema":{"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.","in":"query","name":"key","schema":{"type":"string"}},"oauth_token":{"description":"OAuth 2.0 token for the current user.","in":"query","name":"oauth_token","schema":{"type":"string"}},"prettyPrint":{"description":"Returns response with indentations and line breaks.","in":"query","name":"prettyPrint","schema":{"type":"boolean","default":true}},"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.","in":"query","name":"quotaUser","schema":{"type":"string"}},"uploadType":{"description":"Legacy upload protocol for media (e.g. \"media\", \"multipart\").","in":"query","name":"uploadType","schema":{"type":"string"}},"upload_protocol":{"description":"Upload protocol for media (e.g. \"raw\", \"multipart\").","in":"query","name":"upload_protocol","schema":{"type":"string"}},"_.xgafv":{"description":"V1 error format.","in":"query","name":"$.xgafv","schema":{"type":"string","enum":["1","2"]}}},"requestBodies":{"Configuration":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Configuration"}}}}},"schemas":{"ClaimDeviceRequest":{"description":"Request message to claim a device on behalf of a customer.","properties":{"customerId":{"description":"Required. The ID of the customer for whom the device is being claimed.","format":"int64","type":"string"},"deviceIdentifier":{"$ref":"#/components/schemas/DeviceIdentifier"},"deviceMetadata":{"$ref":"#/components/schemas/DeviceMetadata"},"sectionType":{"description":"Required. The section type of the device's provisioning record.","enum":["SECTION_TYPE_UNSPECIFIED","SECTION_TYPE_SIM_LOCK","SECTION_TYPE_ZERO_TOUCH"],"type":"string"}},"type":"object"},"ClaimDeviceResponse":{"description":"Response message containing device id of the claim.","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.","properties":{"claims":{"description":"Required. A list of device claims.","items":{"$ref":"#/components/schemas/PartnerClaim"},"type":"array"}},"type":"object"},"Company":{"description":"A reseller, vendor, or customer in the zero-touch reseller and customer APIs.","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"],"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.","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.","properties":{"customer":{"$ref":"#/components/schemas/Company"}},"type":"object"},"CustomerApplyConfigurationRequest":{"description":"Request message for customer to assign a configuration to device.","properties":{"configuration":{"description":"Required. The configuration applied to the device in the format\n`customers/[CUSTOMER_ID]/configurations/[CONFIGURATION_ID]`.","type":"string"},"device":{"$ref":"#/components/schemas/DeviceReference"}},"type":"object"},"CustomerListConfigurationsResponse":{"description":"Response message of customer's listing configuration.","properties":{"configurations":{"description":"The configurations.","items":{"$ref":"#/components/schemas/Configuration"},"type":"array"}},"type":"object"},"CustomerListCustomersResponse":{"description":"Response message for listing my customers.","properties":{"customers":{"description":"The customer accounts the calling user is a member of.","items":{"$ref":"#/components/schemas/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.","properties":{"devices":{"description":"The customer's devices.","items":{"$ref":"#/components/schemas/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.","properties":{"dpcs":{"description":"The list of DPCs available to the customer that support zero-touch\nenrollment.","items":{"$ref":"#/components/schemas/Dpc"},"type":"array"}},"type":"object"},"CustomerRemoveConfigurationRequest":{"description":"Request message for customer to remove the configuration from device.","properties":{"device":{"$ref":"#/components/schemas/DeviceReference"}},"type":"object"},"CustomerUnclaimDeviceRequest":{"description":"Request message for customer to unclaim a device.","properties":{"device":{"$ref":"#/components/schemas/DeviceReference"}},"type":"object"},"Device":{"description":"An Android device registered for zero-touch enrollment.","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":"#/components/schemas/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":"#/components/schemas/DeviceIdentifier"},"deviceMetadata":{"$ref":"#/components/schemas/DeviceMetadata"},"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).","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"],"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).","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).","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).","properties":{"deviceId":{"description":"The ID of the device.","format":"int64","type":"string"},"deviceIdentifier":{"$ref":"#/components/schemas/DeviceIdentifier"}},"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).","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"],"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).","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":"#/components/schemas/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.","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 `{}`.","properties":{},"type":"object"},"FindDevicesByDeviceIdentifierRequest":{"description":"Request to find devices.","properties":{"deviceIdentifier":{"$ref":"#/components/schemas/DeviceIdentifier"},"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.","properties":{"devices":{"description":"Found devices.","items":{"$ref":"#/components/schemas/Device"},"type":"array"},"nextPageToken":{"description":"A token used to access the next page of results. Omitted if no further\nresults are available.","type":"string"},"totalSize":{"description":"The total count of items in the list irrespective of pagination.","format":"int32","type":"integer"}},"type":"object"},"FindDevicesByOwnerRequest":{"description":"Request to find devices by customers.","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"],"type":"string"}},"type":"object"},"FindDevicesByOwnerResponse":{"description":"Response containing found devices.","properties":{"devices":{"description":"The customer's devices.","items":{"$ref":"#/components/schemas/Device"},"type":"array"},"nextPageToken":{"description":"A token used to access the next page of results.\nOmitted if no further results are available.","type":"string"},"totalSize":{"description":"The total count of items in the list irrespective of pagination.","format":"int32","type":"integer"}},"type":"object"},"ListCustomersResponse":{"description":"Response message of all customers related to this partner.","properties":{"customers":{"description":"List of customers related to this reseller partner.","items":{"$ref":"#/components/schemas/Company"},"type":"array"},"nextPageToken":{"description":"A token to retrieve the next page of results. Omitted if no further results\nare available.","type":"string"},"totalSize":{"description":"The total count of items in the list irrespective of pagination.","format":"int32","type":"integer"}},"type":"object"},"ListVendorCustomersResponse":{"description":"Response message to list customers of the vendor.","properties":{"customers":{"description":"List of customers of the vendor.","items":{"$ref":"#/components/schemas/Company"},"type":"array"},"nextPageToken":{"description":"A token to retrieve the next page of results. Omitted if no further results\nare available.","type":"string"},"totalSize":{"description":"The total count of items in the list irrespective of pagination.","format":"int32","type":"integer"}},"type":"object"},"ListVendorsResponse":{"description":"Response message to list vendors of the partner.","properties":{"nextPageToken":{"description":"A token to retrieve the next page of results. Omitted if no further results\nare available.","type":"string"},"totalSize":{"description":"The total count of items in the list irrespective of pagination.","format":"int32","type":"integer"},"vendors":{"description":"List of vendors of the reseller partner. Fields `name`, `companyId` and\n`companyName` are populated to the Company object.","items":{"$ref":"#/components/schemas/Company"},"type":"array"}},"type":"object"},"Operation":{"description":"This resource represents a long-running operation that is the result of a\nnetwork API call.","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":"#/components/schemas/Status"},"metadata":{"additionalProperties":{"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"},"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."},"description":"This field will contain a `DevicesLongRunningOperationResponse` object if the operation is created by `claimAsync`, `unclaimAsync`, or