{
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-identity.devices.lookup": {
          "description": "See your device details"
        },
        "https://www.googleapis.com/auth/cloud-identity.groups": {
          "description": "See, change, create, and delete any of the Cloud Identity Groups that you can access, including the members of each group"
        },
        "https://www.googleapis.com/auth/cloud-identity.groups.readonly": {
          "description": "See any Cloud Identity Groups that you can access, including group members and their emails"
        },
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "View and manage your data across Google Cloud Platform services"
        }
      }
    }
  },
  "basePath": "",
  "baseUrl": "https://cloudidentity.googleapis.com/",
  "batchPath": "batch",
  "canonicalName": "Cloud Identity",
  "description": "API for provisioning and managing identity resources.",
  "discoveryVersion": "v1",
  "documentationLink": "https://cloud.google.com/identity/",
  "fullyEncodeReservedExpansion": true,
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "id": "cloudidentity:v1",
  "kind": "discovery#restDescription",
  "mtlsRootUrl": "https://cloudidentity.mtls.googleapis.com/",
  "name": "cloudidentity",
  "ownerDomain": "google.com",
  "ownerName": "Google",
  "parameters": {
    "$.xgafv": {
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "type": "string"
    },
    "access_token": {
      "description": "OAuth access token.",
      "location": "query",
      "type": "string"
    },
    "alt": {
      "default": "json",
      "description": "Data format for response.",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "location": "query",
      "type": "string"
    },
    "callback": {
      "description": "JSONP",
      "location": "query",
      "type": "string"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query",
      "type": "string"
    },
    "key": {
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "location": "query",
      "type": "string"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "location": "query",
      "type": "string"
    },
    "prettyPrint": {
      "default": "true",
      "description": "Returns response with indentations and line breaks.",
      "location": "query",
      "type": "boolean"
    },
    "quotaUser": {
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "location": "query",
      "type": "string"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query",
      "type": "string"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query",
      "type": "string"
    }
  },
  "protocol": "rest",
  "resources": {
    "devices": {
      "methods": {
        "cancelWipe": {
          "description": "Cancels an unfinished device wipe. This operation can be used to cancel device wipe in the gap between the wipe operation returning success and the device being wiped. This operation is possible when the device is in a \"pending wipe\" state. The device enters the \"pending wipe\" state when a wipe device command is issued, but has not yet been sent to the device. The cancel wipe will fail if the wipe command has already been issued to the device.",
          "flatPath": "v1/devices/{devicesId}:cancelWipe",
          "httpMethod": "POST",
          "id": "cloudidentity.devices.cancelWipe",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}`, where device_id is the unique ID assigned to the Device, and device_user_id is the unique ID assigned to the User.",
              "location": "path",
              "pattern": "^devices/[^/]+$",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1/{+name}:cancelWipe",
          "request": {
            "$ref": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest"
          },
          "response": {
            "$ref": "Operation"
          }
        },
        "create": {
          "description": "Creates a device. Only company-owned device may be created.",
          "flatPath": "v1/devices",
          "httpMethod": "POST",
          "id": "cloudidentity.devices.create",
          "parameterOrder": [],
          "parameters": {
            "customer": {
              "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.",
              "location": "query",
              "type": "string"
            }
          },
          "path": "v1/devices",
          "request": {
            "$ref": "GoogleAppsCloudidentityDevicesV1Device"
          },
          "response": {
            "$ref": "Operation"
          }
        },
        "delete": {
          "description": "Deletes the specified device.",
          "flatPath": "v1/devices/{devicesId}",
          "httpMethod": "DELETE",
          "id": "cloudidentity.devices.delete",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "customer": {
              "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.",
              "location": "query",
              "type": "string"
            },
            "name": {
              "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}`, where device_id is the unique ID assigned to the Device.",
              "location": "path",
              "pattern": "^devices/[^/]+$",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1/{+name}",
          "response": {
            "$ref": "Operation"
          }
        },
        "get": {
          "description": "Retrieves the specified device.",
          "flatPath": "v1/devices/{devicesId}",
          "httpMethod": "GET",
          "id": "cloudidentity.devices.get",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "customer": {
              "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Customer in the format: `customers/{customer_id}`, where customer_id is the customer to whom the device belongs. If you're using this API for your own organization, use `customers/my_customer`. If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.",
              "location": "query",
              "type": "string"
            },
            "name": {
              "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in the format: `devices/{device_id}`, where device_id is the unique ID assigned to the Device.",
              "location": "path",
              "pattern": "^devices/[^/]+$",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1/{+name}",
          "response": {
            "$ref": "GoogleAppsCloudidentityDevicesV1Device"
          }
        },
        "list": {
          "description": "Lists/Searches devices.",
          "flatPath": "v1/devices",
          "httpMethod": "GET",
          "id": "cloudidentity.devices.list",
          "parameterOrder": [],
          "parameters": {
            "customer": {
              "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer in the format: `customers/{customer_id}`, where customer_id is the customer to whom the device belongs. If you're using this API for your own organization, use `customers/my_customer`. If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.",
              "location": "query",
              "type": "string"
            },
            "filter": {
              "description": "Optional. Additional restrictions when fetching list of devices. [Help Center article link](https://support.google.com/a/answer/7549103)",
              "location": "query",
              "type": "string"
            },
            "orderBy": {
              "description": "Optional. Order specification for devices in the response. Only one of the following field names may be used to specify the order: `create_time`, `last_sync_time`, `model`, `os_version`, `device_type` and `serial_number`. `desc` may be specified optionally at the end to specify results to be sorted in descending order. Default order is ascending.",
              "location": "query",
              "type": "string"
            },
            "pageSize": {
              "description": "Optional. The maximum number of Devices to return. If unspecified, at most 20 Devices will be returned. The maximum value is 100; values above 100 will be coerced to 100.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "pageToken": {
              "description": "Optional. A page token, received from a previous `ListDevices` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDevices` must match the call that provided the page token.",
              "location": "query",
              "type": "string"
            },
            "view": {
              "description": "Optional. The view to use for the List request.",
              "enum": [
                "VIEW_UNSPECIFIED",
                "COMPANY_INVENTORY",
                "USER_ASSIGNED_DEVICES"
              ],
              "enumDescriptions": [
                "Default value. The value is unused.",
                "This view contains all devices imported by the company admin. Each device in the response contains all information specified by the company admin when importing the device (i.e. asset tags). This includes devices that may be unaassigned or assigned to users.",
                "This view contains all devices with at least one user registered on the device. Each device in the response contains all device information, except for asset tags."
              ],
              "location": "query",
              "type": "string"
            }
          },
          "path": "v1/devices",
          "response": {
            "$ref": "GoogleAppsCloudidentityDevicesV1ListDevicesResponse"
          }
        },
        "wipe": {
          "description": "Wipes all data on the specified device.",
          "flatPath": "v1/devices/{devicesId}:wipe",
          "httpMethod": "POST",
          "id": "cloudidentity.devices.wipe",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}/deviceUsers/{device_user_id}`, where device_id is the unique ID assigned to the Device, and device_user_id is the unique ID assigned to the User.",
              "location": "path",
              "pattern": "^devices/[^/]+$",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1/{+name}:wipe",
          "request": {
            "$ref": "GoogleAppsCloudidentityDevicesV1WipeDeviceRequest"
          },
          "response": {
            "$ref": "Operation"
          }
        }
      },
      "resources": {
        "deviceUsers": {
          "methods": {
            "approve": {
              "description": "Approves device to access user data.",
              "flatPath": "v1/devices/{devicesId}/deviceUsers/{deviceUsersId}:approve",
              "httpMethod": "POST",
              "id": "cloudidentity.devices.deviceUsers.approve",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}/deviceUsers/{device_user_id}`, where device_id is the unique ID assigned to the Device, and device_user_id is the unique ID assigned to the User.",
                  "location": "path",
                  "pattern": "^devices/[^/]+/deviceUsers/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}:approve",
              "request": {
                "$ref": "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest"
              },
              "response": {
                "$ref": "Operation"
              }
            },
            "block": {
              "description": "Blocks device from accessing user data",
              "flatPath": "v1/devices/{devicesId}/deviceUsers/{deviceUsersId}:block",
              "httpMethod": "POST",
              "id": "cloudidentity.devices.deviceUsers.block",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}/deviceUsers/{device_user_id}`, where device_id is the unique ID assigned to the Device, and device_user_id is the unique ID assigned to the User.",
                  "location": "path",
                  "pattern": "^devices/[^/]+/deviceUsers/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}:block",
              "request": {
                "$ref": "GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest"
              },
              "response": {
                "$ref": "Operation"
              }
            },
            "cancelWipe": {
              "description": "Cancels an unfinished user account wipe. This operation can be used to cancel device wipe in the gap between the wipe operation returning success and the device being wiped.",
              "flatPath": "v1/devices/{devicesId}/deviceUsers/{deviceUsersId}:cancelWipe",
              "httpMethod": "POST",
              "id": "cloudidentity.devices.deviceUsers.cancelWipe",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}/deviceUsers/{device_user_id}`, where device_id is the unique ID assigned to the Device, and device_user_id is the unique ID assigned to the User.",
                  "location": "path",
                  "pattern": "^devices/[^/]+/deviceUsers/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}:cancelWipe",
              "request": {
                "$ref": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest"
              },
              "response": {
                "$ref": "Operation"
              }
            },
            "delete": {
              "description": "Deletes the specified DeviceUser. This also revokes the user's access to device data.",
              "flatPath": "v1/devices/{devicesId}/deviceUsers/{deviceUsersId}",
              "httpMethod": "DELETE",
              "id": "cloudidentity.devices.deviceUsers.delete",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "customer": {
                  "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.",
                  "location": "query",
                  "type": "string"
                },
                "name": {
                  "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}/deviceUsers/{device_user_id}`, where device_id is the unique ID assigned to the Device, and device_user_id is the unique ID assigned to the User.",
                  "location": "path",
                  "pattern": "^devices/[^/]+/deviceUsers/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}",
              "response": {
                "$ref": "Operation"
              }
            },
            "get": {
              "description": "Retrieves the specified DeviceUser",
              "flatPath": "v1/devices/{devicesId}/deviceUsers/{deviceUsersId}",
              "httpMethod": "GET",
              "id": "cloudidentity.devices.deviceUsers.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "customer": {
                  "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.",
                  "location": "query",
                  "type": "string"
                },
                "name": {
                  "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}/deviceUsers/{device_user_id}`, where device_id is the unique ID assigned to the Device, and device_user_id is the unique ID assigned to the User.",
                  "location": "path",
                  "pattern": "^devices/[^/]+/deviceUsers/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}",
              "response": {
                "$ref": "GoogleAppsCloudidentityDevicesV1DeviceUser"
              }
            },
            "list": {
              "description": "Lists/Searches DeviceUsers.",
              "flatPath": "v1/devices/{devicesId}/deviceUsers",
              "httpMethod": "GET",
              "id": "cloudidentity.devices.deviceUsers.list",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "customer": {
                  "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.",
                  "location": "query",
                  "type": "string"
                },
                "filter": {
                  "description": "Optional. Additional restrictions when fetching list of devices. [HC article](https://support.google.com/a/answer/7549103)",
                  "location": "query",
                  "type": "string"
                },
                "orderBy": {
                  "description": "Optional. Order specification for devices in the response.",
                  "location": "query",
                  "type": "string"
                },
                "pageSize": {
                  "description": "Optional. The maximum number of DeviceUsers to return. If unspecified, at most 5 DeviceUsers will be returned. The maximum value is 20; values above 20 will be coerced to 20.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "Optional. A page token, received from a previous `ListDeviceUsers` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBooks` must match the call that provided the page token.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "Required. To list all DeviceUsers, set this to \"devices/-\". To list all DeviceUsers owned by a device, set this to the resource name of the device. Format: devices/{device}",
                  "location": "path",
                  "pattern": "^devices/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+parent}/deviceUsers",
              "response": {
                "$ref": "GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse"
              }
            },
            "lookup": {
              "description": "Looks up resource names of the DeviceUsers associated with the caller's credentials, as well as the properties provided in the request. This method must be called with end-user credentials with the scope: https://www.googleapis.com/auth/cloud-identity.devices.lookup If multiple properties are provided, only DeviceUsers having all of these properties are considered as matches - i.e. the query behaves like an AND. Different platforms require different amounts of information from the caller to ensure that the DeviceUser is uniquely identified. - iOS: No properties need to be passed, the caller's credentials are sufficient to identify the corresponding DeviceUser. - Android: Specifying the 'android_id' field is required. - Desktop: Specifying the 'raw_resource_id' field is required.",
              "flatPath": "v1/devices/{devicesId}/deviceUsers:lookup",
              "httpMethod": "GET",
              "id": "cloudidentity.devices.deviceUsers.lookup",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "androidId": {
                  "description": "Android Id returned by [Settings.Secure#ANDROID_ID](https://developer.android.com/reference/android/provider/Settings.Secure.html#ANDROID_ID).",
                  "location": "query",
                  "type": "string"
                },
                "pageSize": {
                  "description": "The maximum number of DeviceUsers to return. If unspecified, at most 20 DeviceUsers will be returned. The maximum value is 20; values above 20 will be coerced to 20.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "A page token, received from a previous `LookupDeviceUsers` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `LookupDeviceUsers` must match the call that provided the page token.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "Must be set to \"devices/-/deviceUsers\" to search across all DeviceUser belonging to the user.",
                  "location": "path",
                  "pattern": "^devices/[^/]+/deviceUsers$",
                  "required": true,
                  "type": "string"
                },
                "rawResourceId": {
                  "description": "Raw Resource Id used by Google Endpoint Verification. If the user is enrolled into Google Endpoint Verification, this id will be saved as the 'device_resource_id' field in the following platform dependent files. Mac: ~/.secureConnect/context_aware_config.json Windows: C:\\Users\\%USERPROFILE%\\.secureConnect\\context_aware_config.json Linux: ~/.secureConnect/context_aware_config.json",
                  "location": "query",
                  "type": "string"
                },
                "userId": {
                  "description": "The user whose DeviceUser's resource name will be fetched. Must be set to 'me' to fetch the DeviceUser's resource name for the calling user.",
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v1/{+parent}:lookup",
              "response": {
                "$ref": "GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-identity.devices.lookup"
              ]
            },
            "wipe": {
              "description": "Wipes the user's account on a device. Other data on the device that is not associated with the user's work account is not affected. For example, if a Gmail app is installed on a device that is used for personal and work purposes, and the user is logged in to the Gmail app with their personal account as well as their work account, wiping the \"deviceUser\" by their work administrator will not affect their personal account within Gmail or other apps such as Photos.",
              "flatPath": "v1/devices/{devicesId}/deviceUsers/{deviceUsersId}:wipe",
              "httpMethod": "POST",
              "id": "cloudidentity.devices.deviceUsers.wipe",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}/deviceUsers/{device_user_id}`, where device_id is the unique ID assigned to the Device, and device_user_id is the unique ID assigned to the User.",
                  "location": "path",
                  "pattern": "^devices/[^/]+/deviceUsers/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}:wipe",
              "request": {
                "$ref": "GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest"
              },
              "response": {
                "$ref": "Operation"
              }
            }
          },
          "resources": {
            "clientStates": {
              "methods": {
                "get": {
                  "description": "Gets the client state for the device user",
                  "flatPath": "v1/devices/{devicesId}/deviceUsers/{deviceUsersId}/clientStates/{clientStatesId}",
                  "httpMethod": "GET",
                  "id": "cloudidentity.devices.deviceUsers.clientStates.get",
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "customer": {
                      "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.",
                      "location": "query",
                      "type": "string"
                    },
                    "name": {
                      "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the ClientState in format: `devices/{device_id}/deviceUsers/{device_user_id}/clientStates/{partner_id}`, where device_id is the unique ID assigned to the Device, device_user_id is the unique ID assigned to the User and partner_id identifies the partner storing the data.",
                      "location": "path",
                      "pattern": "^devices/[^/]+/deviceUsers/[^/]+/clientStates/[^/]+$",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1/{+name}",
                  "response": {
                    "$ref": "GoogleAppsCloudidentityDevicesV1ClientState"
                  }
                },
                "list": {
                  "description": "Lists the client states for the given search query.",
                  "flatPath": "v1/devices/{devicesId}/deviceUsers/{deviceUsersId}/clientStates",
                  "httpMethod": "GET",
                  "id": "cloudidentity.devices.deviceUsers.clientStates.list",
                  "parameterOrder": [
                    "parent"
                  ],
                  "parameters": {
                    "customer": {
                      "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.",
                      "location": "query",
                      "type": "string"
                    },
                    "filter": {
                      "description": "Optional. Additional restrictions when fetching list of client states.",
                      "location": "query",
                      "type": "string"
                    },
                    "orderBy": {
                      "description": "Optional. Order specification for client states in the response.",
                      "location": "query",
                      "type": "string"
                    },
                    "pageToken": {
                      "description": "Optional. A page token, received from a previous `ListClientStates` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListClientStates` must match the call that provided the page token.",
                      "location": "query",
                      "type": "string"
                    },
                    "parent": {
                      "description": "Required. To list all ClientStates, set this to \"devices/-/deviceUsers/-\". To list all ClientStates owned by a DeviceUser, set this to the resource name of the DeviceUser. Format: devices/{device}/deviceUsers/{deviceUser}",
                      "location": "path",
                      "pattern": "^devices/[^/]+/deviceUsers/[^/]+$",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1/{+parent}/clientStates",
                  "response": {
                    "$ref": "GoogleAppsCloudidentityDevicesV1ListClientStatesResponse"
                  }
                },
                "patch": {
                  "description": "Updates the client state for the device user",
                  "flatPath": "v1/devices/{devicesId}/deviceUsers/{deviceUsersId}/clientStates/{clientStatesId}",
                  "httpMethod": "PATCH",
                  "id": "cloudidentity.devices.deviceUsers.clientStates.patch",
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "customer": {
                      "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.",
                      "location": "query",
                      "type": "string"
                    },
                    "name": {
                      "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the ClientState in format: `devices/{device_id}/deviceUsers/{device_user_id}/clientState/{partner_id}`, where partner_id corresponds to the partner storing the data. For partners belonging to the \"BeyondCorp Alliance\", this is the partner ID specified to you by Google. For all other callers, this is a string of the form: `{customer_id}-suffix`, where `customer_id` is your customer ID. The *suffix* is any string the caller specifies. This string will be displayed verbatim in the administration console. This suffix is used in setting up Custom Access Levels in Context-Aware Access. Your organization's customer ID can be obtained from the URL: `GET https://www.googleapis.com/admin/directory/v1/customers/my_customer` The `id` field in the response contains the customer ID starting with the letter 'C'. The customer ID to be used in this API is the string after the letter 'C' (not including 'C')",
                      "location": "path",
                      "pattern": "^devices/[^/]+/deviceUsers/[^/]+/clientStates/[^/]+$",
                      "required": true,
                      "type": "string"
                    },
                    "updateMask": {
                      "description": "Optional. Comma-separated list of fully qualified names of fields to be updated. If not specified, all updatable fields in ClientState are updated.",
                      "format": "google-fieldmask",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "path": "v1/{+name}",
                  "request": {
                    "$ref": "GoogleAppsCloudidentityDevicesV1ClientState"
                  },
                  "response": {
                    "$ref": "Operation"
                  }
                }
              }
            }
          }
        }
      }
    },
    "groups": {
      "methods": {
        "create": {
          "description": "Creates a Group.",
          "flatPath": "v1/groups",
          "httpMethod": "POST",
          "id": "cloudidentity.groups.create",
          "parameterOrder": [],
          "parameters": {
            "initialGroupConfig": {
              "description": "Optional. The initial configuration option for the `Group`.",
              "enum": [
                "INITIAL_GROUP_CONFIG_UNSPECIFIED",
                "WITH_INITIAL_OWNER",
                "EMPTY"
              ],
              "enumDescriptions": [
                "Default. Should not be used.",
                "The end user making the request will be added as the initial owner of the `Group`.",
                "An empty group is created without any initial owners. This can only be used by admins of the domain."
              ],
              "location": "query",
              "type": "string"
            }
          },
          "path": "v1/groups",
          "request": {
            "$ref": "Group"
          },
          "response": {
            "$ref": "Operation"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-identity.groups",
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "delete": {
          "description": "Deletes a Group.",
          "flatPath": "v1/groups/{groupsId}",
          "httpMethod": "DELETE",
          "id": "cloudidentity.groups.delete",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Group in the format: `groups/{group_id}`, where `group_id` is the unique ID assigned to the Group.",
              "location": "path",
              "pattern": "^groups/[^/]+$",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1/{+name}",
          "response": {
            "$ref": "Operation"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-identity.groups",
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "get": {
          "description": "Retrieves a Group.",
          "flatPath": "v1/groups/{groupsId}",
          "httpMethod": "GET",
          "id": "cloudidentity.groups.get",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Group in the format: `groups/{group_id}`, where `group_id` is the unique ID assigned to the Group.",
              "location": "path",
              "pattern": "^groups/[^/]+$",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1/{+name}",
          "response": {
            "$ref": "Group"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-identity.groups",
            "https://www.googleapis.com/auth/cloud-identity.groups.readonly",
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "list": {
          "description": "Lists groups within a customer or a domain.",
          "flatPath": "v1/groups",
          "httpMethod": "GET",
          "id": "cloudidentity.groups.list",
          "parameterOrder": [],
          "parameters": {
            "pageSize": {
              "description": "The default page size is 200 (max 1000) for the BASIC view, and 50 (max 500) for the FULL view.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "pageToken": {
              "description": "The next_page_token value returned from a previous list request, if any.",
              "location": "query",
              "type": "string"
            },
            "parent": {
              "description": "Required. Customer ID to list all groups from.",
              "location": "query",
              "type": "string"
            },
            "view": {
              "description": "Group resource view to be returned. Defaults to [View.BASIC]().",
              "enum": [
                "VIEW_UNSPECIFIED",
                "BASIC",
                "FULL"
              ],
              "enumDescriptions": [
                "Default. Should not be used.",
                "Server responses only include basic information.",
                "Full representation of the resource."
              ],
              "location": "query",
              "type": "string"
            }
          },
          "path": "v1/groups",
          "response": {
            "$ref": "ListGroupsResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-identity.groups",
            "https://www.googleapis.com/auth/cloud-identity.groups.readonly",
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "lookup": {
          "description": "Looks up [resource name](https://cloud.google.com/apis/design/resource_names) of a Group by its EntityKey.",
          "flatPath": "v1/groups:lookup",
          "httpMethod": "GET",
          "id": "cloudidentity.groups.lookup",
          "parameterOrder": [],
          "parameters": {
            "groupKey.id": {
              "description": "The ID of the entity within the given namespace. The ID must be unique within its namespace.",
              "location": "query",
              "type": "string"
            },
            "groupKey.namespace": {
              "description": "Namespaces provide isolation for IDs, so an ID only needs to be unique within its namespace. Namespaces are currently only created as part of IdentitySource creation from Admin Console. A namespace `\"identitysources/{identity_source_id}\"` is created corresponding to every Identity Source `identity_source_id`.",
              "location": "query",
              "type": "string"
            }
          },
          "path": "v1/groups:lookup",
          "response": {
            "$ref": "LookupGroupNameResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-identity.groups",
            "https://www.googleapis.com/auth/cloud-identity.groups.readonly",
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "patch": {
          "description": "Updates a Group.",
          "flatPath": "v1/groups/{groupsId}",
          "httpMethod": "PATCH",
          "id": "cloudidentity.groups.patch",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Group in the format: `groups/{group_id}`, where group_id is the unique ID assigned to the Group. Must be left blank while creating a Group.",
              "location": "path",
              "pattern": "^groups/[^/]+$",
              "required": true,
              "type": "string"
            },
            "updateMask": {
              "description": "Required. Editable fields: `display_name`, `description`",
              "format": "google-fieldmask",
              "location": "query",
              "type": "string"
            }
          },
          "path": "v1/{+name}",
          "request": {
            "$ref": "Group"
          },
          "response": {
            "$ref": "Operation"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-identity.groups",
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "search": {
          "description": "Searches for Groups.",
          "flatPath": "v1/groups:search",
          "httpMethod": "GET",
          "id": "cloudidentity.groups.search",
          "parameterOrder": [],
          "parameters": {
            "pageSize": {
              "description": "The default page size is 200 (max 1000) for the BASIC view, and 50 (max 500) for the FULL view.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "pageToken": {
              "description": "The next_page_token value returned from a previous search request, if any.",
              "location": "query",
              "type": "string"
            },
            "query": {
              "description": "Required. `Required`. Query string for performing search on groups. Users can search on parent and label attributes of groups. EXACT match ('==') is supported on parent, and CONTAINS match ('in') is supported on labels.",
              "location": "query",
              "type": "string"
            },
            "view": {
              "description": "Group resource view to be returned. Defaults to [View.BASIC]().",
              "enum": [
                "VIEW_UNSPECIFIED",
                "BASIC",
                "FULL"
              ],
              "enumDescriptions": [
                "Default. Should not be used.",
                "Server responses only include basic information.",
                "Full representation of the resource."
              ],
              "location": "query",
              "type": "string"
            }
          },
          "path": "v1/groups:search",
          "response": {
            "$ref": "SearchGroupsResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-identity.groups",
            "https://www.googleapis.com/auth/cloud-identity.groups.readonly",
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        }
      },
      "resources": {
        "memberships": {
          "methods": {
            "create": {
              "description": "Creates a Membership.",
              "flatPath": "v1/groups/{groupsId}/memberships",
              "httpMethod": "POST",
              "id": "cloudidentity.groups.memberships.create",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Group to create Membership within. Format: `groups/{group_id}`, where `group_id` is the unique ID assigned to the Group.",
                  "location": "path",
                  "pattern": "^groups/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+parent}/memberships",
              "request": {
                "$ref": "Membership"
              },
              "response": {
                "$ref": "Operation"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-identity.groups",
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "delete": {
              "description": "Deletes a Membership.",
              "flatPath": "v1/groups/{groupsId}/memberships/{membershipsId}",
              "httpMethod": "DELETE",
              "id": "cloudidentity.groups.memberships.delete",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Membership to be deleted. Format: `groups/{group_id}/memberships/{member_id}`, where `group_id` is the unique ID assigned to the Group to which Membership belongs to, and member_id is the unique ID assigned to the member.",
                  "location": "path",
                  "pattern": "^groups/[^/]+/memberships/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}",
              "response": {
                "$ref": "Operation"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-identity.groups",
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "get": {
              "description": "Retrieves a Membership.",
              "flatPath": "v1/groups/{groupsId}/memberships/{membershipsId}",
              "httpMethod": "GET",
              "id": "cloudidentity.groups.memberships.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Membership to be retrieved. Format: `groups/{group_id}/memberships/{member_id}`, where `group_id` is the unique id assigned to the Group to which Membership belongs to, and `member_id` is the unique ID assigned to the member.",
                  "location": "path",
                  "pattern": "^groups/[^/]+/memberships/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}",
              "response": {
                "$ref": "Membership"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-identity.groups",
                "https://www.googleapis.com/auth/cloud-identity.groups.readonly",
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "list": {
              "description": "Lists Memberships within a Group.",
              "flatPath": "v1/groups/{groupsId}/memberships",
              "httpMethod": "GET",
              "id": "cloudidentity.groups.memberships.list",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "pageSize": {
                  "description": "The default page size is 200 (max 1000) for the BASIC view, and 50 (max 500) for the FULL view.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "The next_page_token value returned from a previous list request, if any.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Group to list Memberships within. Format: `groups/{group_id}`, where `group_id` is the unique ID assigned to the Group.",
                  "location": "path",
                  "pattern": "^groups/[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "view": {
                  "description": "Membership resource view to be returned. Defaults to View.BASIC.",
                  "enum": [
                    "VIEW_UNSPECIFIED",
                    "BASIC",
                    "FULL"
                  ],
                  "enumDescriptions": [
                    "Default. Should not be used.",
                    "Server responses only include basic information.",
                    "Full representation of the resource."
                  ],
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v1/{+parent}/memberships",
              "response": {
                "$ref": "ListMembershipsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-identity.groups",
                "https://www.googleapis.com/auth/cloud-identity.groups.readonly",
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "lookup": {
              "description": "Looks up [resource name](https://cloud.google.com/apis/design/resource_names) of a Membership within a Group by member's EntityKey.",
              "flatPath": "v1/groups/{groupsId}/memberships:lookup",
              "httpMethod": "GET",
              "id": "cloudidentity.groups.memberships.lookup",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "memberKey.id": {
                  "description": "The ID of the entity within the given namespace. The ID must be unique within its namespace.",
                  "location": "query",
                  "type": "string"
                },
                "memberKey.namespace": {
                  "description": "Namespaces provide isolation for IDs, so an ID only needs to be unique within its namespace. Namespaces are currently only created as part of IdentitySource creation from Admin Console. A namespace `\"identitysources/{identity_source_id}\"` is created corresponding to every Identity Source `identity_source_id`.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Group to lookup Membership within. Format: `groups/{group_id}`, where `group_id` is the unique ID assigned to the Group.",
                  "location": "path",
                  "pattern": "^groups/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+parent}/memberships:lookup",
              "response": {
                "$ref": "LookupMembershipNameResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-identity.groups",
                "https://www.googleapis.com/auth/cloud-identity.groups.readonly",
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            }
          }
        }
      }
    }
  },
  "revision": "20200912",
  "rootUrl": "https://cloudidentity.googleapis.com/",
  "schemas": {
    "EntityKey": {
      "description": "An EntityKey uniquely identifies an Entity. Namespaces are used to provide isolation for IDs. A single ID can be reused across namespaces but the combination of a namespace and an ID must be unique.",
      "id": "EntityKey",
      "properties": {
        "id": {
          "description": "The ID of the entity within the given namespace. The ID must be unique within its namespace.",
          "type": "string"
        },
        "namespace": {
          "description": "Namespaces provide isolation for IDs, so an ID only needs to be unique within its namespace. Namespaces are currently only created as part of IdentitySource creation from Admin Console. A namespace `\"identitysources/{identity_source_id}\"` is created corresponding to every Identity Source `identity_source_id`.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAppsCloudidentityDevicesV1AndroidAttributes": {
      "description": "Resource representing the Android specific attributes of a Device.",
      "id": "GoogleAppsCloudidentityDevicesV1AndroidAttributes",
      "properties": {
        "enabledUnknownSources": {
          "description": "Whether applications from unknown sources can be installed on device.",
          "type": "boolean"
        },
        "ownerProfileAccount": {
          "description": "Whether this account is on an owner/primary profile. For phones, only true for owner profiles. Android 4+ devices can have secondary or restricted user profiles.",
          "type": "boolean"
        },
        "ownershipPrivilege": {
          "description": "Ownership privileges on device.",
          "enum": [
            "OWNERSHIP_PRIVILEGE_UNSPECIFIED",
            "DEVICE_ADMINISTRATOR",
            "PROFILE_OWNER",
            "DEVICE_OWNER"
          ],
          "enumDescriptions": [
            "Ownership privilege is not set.",
            "Active device administrator privileges on the device.",
            "Profile Owner privileges. The account is in a managed corporate profile.",
            "Device Owner privileges on the device."
          ],
          "type": "string"
        },
        "supportsWorkProfile": {
          "description": "Whether device supports Android work profiles. If false, this service will not block access to corp data even if an administrator turns on the \"Enforce Work Profile\" policy.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest": {
      "description": "Request message for approving the device to access user data.",
      "id": "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest",
      "properties": {
        "customer": {
          "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse": {
      "description": "Response message for approving the device to access user data.",
      "id": "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse",
      "properties": {
        "deviceUser": {
          "$ref": "GoogleAppsCloudidentityDevicesV1DeviceUser",
          "description": "Resultant DeviceUser object for the action."
        }
      },
      "type": "object"
    },
    "GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest": {
      "description": "Request message for blocking account on device.",
      "id": "GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest",
      "properties": {
        "customer": {
          "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse": {
      "description": "Response message for blocking the device from accessing user data.",
      "id": "GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse",
      "properties": {
        "deviceUser": {
          "$ref": "GoogleAppsCloudidentityDevicesV1DeviceUser",
          "description": "Resultant DeviceUser object for the action."
        }
      },
      "type": "object"
    },
    "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest": {
      "description": "Request message for cancelling an unfinished device wipe.",
      "id": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest",
      "properties": {
        "customer": {
          "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse": {
      "description": "Response message for cancelling an unfinished device wipe.",
      "id": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse",
      "properties": {
        "device": {
          "$ref": "GoogleAppsCloudidentityDevicesV1Device",
          "description": "Resultant Device object for the action. Note that asset tags will not be returned in the device object."
        }
      },
      "type": "object"
    },
    "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest": {
      "description": "Request message for cancelling an unfinished user account wipe.",
      "id": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest",
      "properties": {
        "customer": {
          "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse": {
      "description": "Response message for cancelling an unfinished user account wipe.",
      "id": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse",
      "properties": {
        "deviceUser": {
          "$ref": "GoogleAppsCloudidentityDevicesV1DeviceUser",
          "description": "Resultant DeviceUser object for the action."
        }
      },
      "type": "object"
    },
    "GoogleAppsCloudidentityDevicesV1ClientState": {
      "description": "Represents the state associated with an API client calling the Devices API. Resource representing ClientState and supports updates from API users",
      "id": "GoogleAppsCloudidentityDevicesV1ClientState",
      "properties": {
        "assetTags": {
          "description": "The caller can specify asset tags for this resource",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "complianceState": {
          "description": "The compliance state of the resource as specified by the API client.",
          "enum": [
            "COMPLIANCE_STATE_UNSPECIFIED",
            "COMPLIANT",
            "NON_COMPLIANT"
          ],
          "enumDescriptions": [
            "The compliance state of the resource is unknown or unspecified.",
            "Device is compliant with third party policies",
            "Device is not compliant with third party policies"
          ],
          "type": "string"
        },
        "createTime": {
          "description": "Output only. The time the client state data was created.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        },
        "customId": {
          "description": "This field may be used to store a unique identifier for the API resource within which these CustomAttributes are a field.",
          "type": "string"
        },
        "etag": {
          "description": "The token that needs to be passed back for concurrency control in updates. Token needs to be passed back in UpdateRequest",
          "type": "string"
        },
        "healthScore": {
          "description": "The Health score of the resource. The Health score is the callers specification of the condition of the device from a usability point of view. For example, a third-party device management provider may specify a health score based on its compliance with organizational policies.",
          "enum": [
            "HEALTH_SCORE_UNSPECIFIED",
            "VERY_POOR",
            "POOR",
            "NEUTRAL",
            "GOOD",
            "VERY_GOOD"
          ],
          "enumDescriptions": [
            "Default value",
            "The object is in very poor health as defined by the caller.",
            "The object is in poor health as defined by the caller.",
            "The object health is neither good nor poor, as defined by the caller.",
            "The object is in good health as defined by the caller.",
            "The object is in very good health as defined by the caller."
          ],
          "type": "string"
        },
        "keyValuePairs": {
          "additionalProperties": {
            "$ref": "GoogleAppsCloudidentityDevicesV1CustomAttributeValue"
          },
          "description": "The map of key-value attributes stored by callers specific to a device. The total serialized length of this map may not exceed 10KB. No limit is placed on the number of attributes in a map.",
          "type": "object"
        },
        "lastUpdateTime": {
          "description": "Output only. The time the client state data was last updated.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        },
        "managed": {
          "description": "The management state of the resource as specified by the API client.",
          "enum": [
            "MANAGED_STATE_UNSPECIFIED",
            "MANAGED",
            "UNMANAGED"
          ],
          "enumDescriptions": [
            "The management state of the resource is unknown or unspecified.",
            "The resource is managed.",
            "The resource is not managed."
          ],
          "type": "string"
        },
        "name": {
          "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the ClientState in format: `devices/{device_id}/deviceUsers/{device_user_id}/clientState/{partner_id}`, where partner_id corresponds to the partner storing the data. For partners belonging to the \"BeyondCorp Alliance\", this is the partner ID specified to you by Google. For all other callers, this is a string of the form: `{customer_id}-suffix`, where `customer_id` is your customer ID. The *suffix* is any string the caller specifies. This string will be displayed verbatim in the administration console. This suffix is used in setting up Custom Access Levels in Context-Aware Access. Your organization's customer ID can be obtained from the URL: `GET https://www.googleapis.com/admin/directory/v1/customers/my_customer` The `id` field in the response contains the customer ID starting with the letter 'C'. The customer ID to be used in this API is the string after the letter 'C' (not including 'C')",
          "readOnly": true,
          "type": "string"
        },
        "ownerType": {
          "description": "Output only. The owner of the ClientState",
          "enum": [
            "OWNER_TYPE_UNSPECIFIED",
            "OWNER_TYPE_CUSTOMER",
            "OWNER_TYPE_PARTNER"
          ],
          "enumDescriptions": [
            "Unknown owner type",
            "Customer is the owner",
            "Partner is the owner"
          ],
          "readOnly": true,
          "type": "string"
        },
        "scoreReason": {
          "description": "A descriptive cause of the health score.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAppsCloudidentityDevicesV1CustomAttributeValue": {
      "description": "Additional custom attribute values may be one of these types",
      "id": "GoogleAppsCloudidentityDevicesV1CustomAttributeValue",
      "properties": {
        "boolValue": {
          "description": "Represents a boolean value.",
          "type": "boolean"
        },
        "numberValue": {
          "description": "Represents a double value.",
          "format": "double",
          "type": "number"
        },
        "stringValue": {
          "description": "Represents a string value.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAppsCloudidentityDevicesV1Device": {
      "description": " A Device within the Cloud Identity Devices API. Represents a Device known to Google Cloud, independent of the device ownership, type, and whether it is assigned or in use by a user.",
      "id": "GoogleAppsCloudidentityDevicesV1Device",
      "properties": {
        "androidSpecificAttributes": {
          "$ref": "GoogleAppsCloudidentityDevicesV1AndroidAttributes",
          "description": "Output only. Attributes specific to Android devices.",
          "readOnly": true
        },
        "assetTag": {
          "description": "Asset tag of the device.",
          "type": "string"
        },
        "basebandVersion": {
          "description": "Output only. Baseband version of the device.",
          "readOnly": true,
          "type": "string"
        },
        "bootloaderVersion": {
          "description": "Output only. Device bootloader version. Example: 0.6.7.",
          "readOnly": true,
          "type": "string"
        },
        "brand": {
          "description": "Output only. Device brand. Example: Samsung.",
          "readOnly": true,
          "type": "string"
        },
        "buildNumber": {
          "description": "Output only. Build number of the device.",
          "readOnly": true,
          "type": "string"
        },
        "compromisedState": {
          "description": "Output only. Represents whether the Device is compromised.",
          "enum": [
            "COMPROMISED_STATE_UNSPECIFIED",
            "COMPROMISED",
            "UNCOMPROMISED"
          ],
          "enumDescriptions": [
            "Default value.",
            "The device is compromised (currently, this means Android device is rooted).",
            "The device is safe (currently, this means Android device is unrooted)."
          ],
          "readOnly": true,
          "type": "string"
        },
        "createTime": {
          "description": "Output only. When the Company-Owned device was imported. This field is empty for BYOD devices.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        },
        "deviceType": {
          "description": "Output only. Type of device.",
          "enum": [
            "DEVICE_TYPE_UNSPECIFIED",
            "ANDROID",
            "IOS",
            "GOOGLE_SYNC",
            "WINDOWS",
            "MAC_OS",
            "LINUX",
            "CHROME_OS"
          ],
          "enumDescriptions": [
            "Unknown device type",
            "Device is an Android device",
            "Device is an iOS device",
            "Device is a Google Sync device.",
            "Device is a Windows device.",
            "Device is a MacOS device.",
            "Device is a Linux device.",
            "Device is a ChromeOS device."
          ],
          "readOnly": true,
          "type": "string"
        },
        "enabledDeveloperOptions": {
          "description": "Output only. Whether developer options is enabled on device.",
          "readOnly": true,
          "type": "boolean"
        },
        "enabledUsbDebugging": {
          "description": "Output only. Whether USB debugging is enabled on device.",
          "readOnly": true,
          "type": "boolean"
        },
        "encryptionState": {
          "description": "Output only. Device encryption state.",
          "enum": [
            "ENCRYPTION_STATE_UNSPECIFIED",
            "UNSUPPORTED_BY_DEVICE",
            "ENCRYPTED",
            "NOT_ENCRYPTED"
          ],
          "enumDescriptions": [
            "Encryption Status is not set.",
            "Device doesn't support encryption.",
            "Device is encrypted.",
            "Device is not encrypted."
          ],
          "readOnly": true,
          "type": "string"
        },
        "imei": {
          "description": "Output only. IMEI number of device if GSM device; empty otherwise.",
          "readOnly": true,
          "type": "string"
        },
        "kernelVersion": {
          "description": "Output only. Kernel version of the device.",
          "readOnly": true,
          "type": "string"
        },
        "lastSyncTime": {
          "description": "Most recent time when device synced with this service.",
          "format": "google-datetime",
          "type": "string"
        },
        "managementState": {
          "description": "Output only. Management state of the device",
          "enum": [
            "MANAGEMENT_STATE_UNSPECIFIED",
            "APPROVED",
            "BLOCKED",
            "PENDING",
            "UNPROVISIONED",
            "WIPING",
            "WIPED"
          ],
          "enumDescriptions": [
            "Default value. This value is unused.",
            "Device is approved.",
            "Device is blocked.",
            "Device is pending approval.",
            "The device is not provisioned. Device will start from this state until some action is taken (i.e. a user starts using the device).",
            "Data and settings on the device are being removed.",
            "All data and settings on the device are removed."
          ],
          "readOnly": true,
          "type": "string"
        },
        "manufacturer": {
          "description": "Output only. Device manufacturer. Example: Motorola.",
          "readOnly": true,
          "type": "string"
        },
        "meid": {
          "description": "Output only. MEID number of device if CDMA device; empty otherwise.",
          "readOnly": true,
          "type": "string"
        },
        "model": {
          "description": "Output only. Model name of device. Example: Pixel 3.",
          "readOnly": true,
          "type": "string"
        },
        "name": {
          "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}`, where device_id is the unique id assigned to the Device.",
          "readOnly": true,
          "type": "string"
        },
        "networkOperator": {
          "description": "Output only. Mobile or network operator of device, if available.",
          "readOnly": true,
          "type": "string"
        },
        "osVersion": {
          "description": "Output only. OS version of the device. Example: Android 8.1.0.",
          "readOnly": true,
          "type": "string"
        },
        "otherAccounts": {
          "description": "Output only. Domain name for Google accounts on device. Type for other accounts on device. On Android, will only be populated if |ownership_privilege| is |PROFILE_OWNER| or |DEVICE_OWNER|. Does not include the account signed in to the device policy app if that account's domain has only one account. Examples: \"com.example\", \"xyz.com\".",
          "items": {
            "type": "string"
          },
          "readOnly": true,
          "type": "array"
        },
        "ownerType": {
          "description": "Output only. Whether the device is owned by the company or an individual",
          "enum": [
            "DEVICE_OWNERSHIP_UNSPECIFIED",
            "COMPANY",
            "BYOD"
          ],
          "enumDescriptions": [
            "Default value. The value is unused.",
            "Company owns the device.",
            "Bring Your Own Device (i.e. individual owns the device)"
          ],
          "readOnly": true,
          "type": "string"
        },
        "releaseVersion": {
          "description": "Output only. OS release version. Example: 6.0.",
          "readOnly": true,
          "type": "string"
        },
        "securityPatchTime": {
          "description": "Output only. OS security patch update time on device.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        },
        "serialNumber": {
          "description": "Serial Number of device. Example: HT82V1A01076.",
          "type": "string"
        },
        "wifiMacAddresses": {
          "description": "WiFi MAC addresses of device.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleAppsCloudidentityDevicesV1DeviceUser": {
      "description": "Represents a user's use of a Device in the Cloud Identity Devices API. A DeviceUser is a resource representing a user's use of a Device",
      "id": "GoogleAppsCloudidentityDevicesV1DeviceUser",
      "properties": {
        "compromisedState": {
          "description": "Compromised State of the DeviceUser object",
          "enum": [
            "COMPROMISED_STATE_UNSPECIFIED",
            "COMPROMISED",
            "NOT_COMPROMISED"
          ],
          "enumDescriptions": [
            "Compromised state of Device User account is unknown or unspecified.",
            "Device User Account is compromised.",
            "Device User Account is not compromised."
          ],
          "type": "string"
        },
        "createTime": {
          "description": "When the user first signed in to the device",
          "format": "google-datetime",
          "type": "string"
        },
        "firstSyncTime": {
          "description": "Output only. Most recent time when user registered with this service.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        },
        "languageCode": {
          "description": "Output only. Default locale used on device, in IETF BCP-47 format.",
          "readOnly": true,
          "type": "string"
        },
        "lastSyncTime": {
          "description": "Output only. Last time when user synced with policies.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        },
        "managementState": {
          "description": "Output only. Management state of the user on the device.",
          "enum": [
            "MANAGEMENT_STATE_UNSPECIFIED",
            "WIPING",
            "WIPED",
            "APPROVED",
            "BLOCKED",
            "PENDING_APPROVAL",
            "UNENROLLED"
          ],
          "enumDescriptions": [
            "Default value. This value is unused.",
            "This user's data and profile is being removed from the device.",
            "This user's data and profile is removed from the device.",
            "User is approved to access data on the device.",
            "User is blocked from accessing data on the device.",
            "User is awaiting approval.",
            "User is unenrolled from Advanced Windows Management, but the Windows account is still intact."
          ],
          "readOnly": true,
          "type": "string"
        },
        "name": {
          "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the DeviceUser in format: `devices/{device_id}/deviceUsers/{user_id}`, where user_id is the ID of the user associated with the user session.",
          "readOnly": true,
          "type": "string"
        },
        "passwordState": {
          "description": "Password state of the DeviceUser object",
          "enum": [
            "PASSWORD_STATE_UNSPECIFIED",
            "PASSWORD_SET",
            "PASSWORD_NOT_SET"
          ],
          "enumDescriptions": [
            "Password state not set.",
            "Password set in object.",
            "Password not set in object."
          ],
          "type": "string"
        },
        "userAgent": {
          "description": "Output only. User agent on the device for this specific user",
          "readOnly": true,
          "type": "string"
        },
        "userEmail": {
          "description": "Email address of the user registered on the device.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAppsCloudidentityDevicesV1ListClientStatesResponse": {
      "description": "Response message that is returned in ListClientStates.",
      "id": "GoogleAppsCloudidentityDevicesV1ListClientStatesResponse",
      "properties": {
        "clientStates": {
          "description": "Client states meeting the list restrictions.",
          "items": {
            "$ref": "GoogleAppsCloudidentityDevicesV1ClientState"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results. Empty if there are no more results.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse": {
      "description": "Response message that is returned from the ListDeviceUsers method.",
      "id": "GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse",
      "properties": {
        "deviceUsers": {
          "description": "Devices meeting the list restrictions.",
          "items": {
            "$ref": "GoogleAppsCloudidentityDevicesV1DeviceUser"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results. Empty if there are no more results.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAppsCloudidentityDevicesV1ListDevicesResponse": {
      "description": "Response message that is returned from the ListDevices method.",
      "id": "GoogleAppsCloudidentityDevicesV1ListDevicesResponse",
      "properties": {
        "devices": {
          "description": "Devices meeting the list restrictions.",
          "items": {
            "$ref": "GoogleAppsCloudidentityDevicesV1Device"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results. Empty if there are no more results.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse": {
      "description": "Response containing resource names of the DeviceUsers associated with the caller's credentials.",
      "id": "GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse",
      "properties": {
        "customer": {
          "description": "The obfuscated customer Id that may be passed back to other Devices API methods such as List, Get, etc.",
          "type": "string"
        },
        "names": {
          "description": "[Resource names](https://cloud.google.com/apis/design/resource_names) of the DeviceUsers in the format: `devices/{device_id}/deviceUsers/{user_resource_id}`, where device_id is the unique ID assigned to a Device and user_resource_id is the unique user ID",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results. Empty if there are no more results.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAppsCloudidentityDevicesV1WipeDeviceRequest": {
      "description": "Request message for wiping all data on the device.",
      "id": "GoogleAppsCloudidentityDevicesV1WipeDeviceRequest",
      "properties": {
        "customer": {
          "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAppsCloudidentityDevicesV1WipeDeviceResponse": {
      "description": "Response message for wiping all data on the device.",
      "id": "GoogleAppsCloudidentityDevicesV1WipeDeviceResponse",
      "properties": {
        "device": {
          "$ref": "GoogleAppsCloudidentityDevicesV1Device",
          "description": "Resultant Device object for the action. Note that asset tags will not be returned in the device object."
        }
      },
      "type": "object"
    },
    "GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest": {
      "description": "Request message for starting an account wipe on device.",
      "id": "GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest",
      "properties": {
        "customer": {
          "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse": {
      "description": "Response message for wiping the user's account from the device.",
      "id": "GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse",
      "properties": {
        "deviceUser": {
          "$ref": "GoogleAppsCloudidentityDevicesV1DeviceUser",
          "description": "Resultant DeviceUser object for the action."
        }
      },
      "type": "object"
    },
    "Group": {
      "description": "Resource representing a Group.",
      "id": "Group",
      "properties": {
        "createTime": {
          "description": "Output only. The time when the Group was created. Output only.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        },
        "description": {
          "description": "An extended description to help users determine the purpose of a Group. For example, you can include information about who should join the Group, the types of messages to send to the Group, links to FAQs about the Group, or related Groups. Maximum length is 4,096 characters.",
          "type": "string"
        },
        "displayName": {
          "description": "The Group's display name.",
          "type": "string"
        },
        "groupKey": {
          "$ref": "EntityKey",
          "description": "Required. Immutable. EntityKey of the Group. Must be set when creating a Group, read-only afterwards."
        },
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Required. `Required`. Labels for Group resource. For creating Groups under a namespace, set label key to 'labels/system/groups/external' and label value as empty.",
          "type": "object"
        },
        "name": {
          "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Group in the format: `groups/{group_id}`, where group_id is the unique ID assigned to the Group. Must be left blank while creating a Group.",
          "readOnly": true,
          "type": "string"
        },
        "parent": {
          "description": "Required. Immutable. The entity under which this Group resides in Cloud Identity resource hierarchy. Must be set when creating a Group, read-only afterwards. Currently allowed types: `identitysources`.",
          "type": "string"
        },
        "updateTime": {
          "description": "Output only. The time when the Group was last updated. Output only.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListGroupsResponse": {
      "description": "Response message for ListGroups operation.",
      "id": "ListGroupsResponse",
      "properties": {
        "groups": {
          "description": "Groups returned in response to list request. The results are not sorted.",
          "items": {
            "$ref": "Group"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results, or empty if there are no more results available for listing.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListMembershipsResponse": {
      "id": "ListMembershipsResponse",
      "properties": {
        "memberships": {
          "description": "List of Memberships.",
          "items": {
            "$ref": "Membership"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results, or empty if there are no more results available for listing.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "LookupGroupNameResponse": {
      "id": "LookupGroupNameResponse",
      "properties": {
        "name": {
          "description": "[Resource name](https://cloud.google.com/apis/design/resource_names) of the Group in the format: `groups/{group_id}`, where `group_id` is the unique ID assigned to the Group.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "LookupMembershipNameResponse": {
      "id": "LookupMembershipNameResponse",
      "properties": {
        "name": {
          "description": "[Resource name](https://cloud.google.com/apis/design/resource_names) of the Membership being looked up. Format: `groups/{group_id}/memberships/{member_id}`, where `group_id` is the unique ID assigned to the Group to which Membership belongs to, and `member_id` is the unique ID assigned to the member.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Membership": {
      "description": "Resource representing a Membership within a Group",
      "id": "Membership",
      "properties": {
        "createTime": {
          "description": "Output only. Creation timestamp of the Membership. Output only.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        },
        "name": {
          "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Membership in the format: `groups/{group_id}/memberships/{member_id}`, where group_id is the unique ID assigned to the Group to which Membership belongs to, and member_id is the unique ID assigned to the member Must be left blank while creating a Membership.",
          "readOnly": true,
          "type": "string"
        },
        "preferredMemberKey": {
          "$ref": "EntityKey",
          "description": "Required. Immutable. EntityKey of the entity to be added as the member. Must be set while creating a Membership, read-only afterwards. Currently allowed entity types: `Users`, `Groups`."
        },
        "roles": {
          "description": "Roles for a member within the Group. Currently supported MembershipRoles: `\"MEMBER\"`.",
          "items": {
            "$ref": "MembershipRole"
          },
          "type": "array"
        },
        "type": {
          "description": "Output only. The type of the membership.",
          "enum": [
            "TYPE_UNSPECIFIED",
            "USER",
            "SERVICE_ACCOUNT",
            "GROUP",
            "OTHER"
          ],
          "enumDescriptions": [
            "Default. Should not be used.",
            "Represents user type.",
            "Represents service account type.",
            "Represents group type.",
            "Represents other type."
          ],
          "readOnly": true,
          "type": "string"
        },
        "updateTime": {
          "description": "Output only. Last updated timestamp of the Membership. Output only.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "MembershipRole": {
      "description": "Resource representing a role within a Membership.",
      "id": "MembershipRole",
      "properties": {
        "name": {
          "description": "MembershipRole in string format. Currently supported MembershipRoles: `\"MEMBER\"`.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Operation": {
      "description": "This resource represents a long-running operation that is the result of a network API call.",
      "id": "Operation",
      "properties": {
        "done": {
          "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.",
          "type": "boolean"
        },
        "error": {
          "$ref": "Status",
          "description": "The error result of the operation in case of failure or cancellation."
        },
        "metadata": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
          "type": "object"
        },
        "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"
        },
        "response": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "SearchGroupsResponse": {
      "id": "SearchGroupsResponse",
      "properties": {
        "groups": {
          "description": "List of Groups satisfying the search query.",
          "items": {
            "$ref": "Group"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results, or empty if there are no more results available for specified query.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Status": {
      "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).",
      "id": "Status",
      "properties": {
        "code": {
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "format": "int32",
          "type": "integer"
        },
        "details": {
          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
          "items": {
            "additionalProperties": {
              "description": "Properties of the object. Contains field @type with type URL.",
              "type": "any"
            },
            "type": "object"
          },
          "type": "array"
        },
        "message": {
          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "servicePath": "",
  "title": "Cloud Identity API",
  "version": "v1",
  "version_module": true
}