openapi: 3.0.0
servers:
  - url: https://cloudidentity.googleapis.com/
info:
  contact:
    name: Google
    url: https://google.com
    x-twitter: youtube
  description: API for provisioning and managing identity resources.
  license:
    name: Creative Commons Attribution 3.0
    url: http://creativecommons.org/licenses/by/3.0/
  termsOfService: https://developers.google.com/terms/
  title: Cloud Identity API
  version: v1
  x-apiClientRegistration:
    url: https://console.developers.google.com
  x-apisguru-categories:
    - analytics
    - media
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_www.google.com_images_branding_googlelogo_2x_googlelogo_color_272x92dp.png
  x-origin:
    - format: openapi
      url: https://cloudidentity.googleapis.com/$discovery/rest?version=v1
      version: "3.0"
  x-preferred: false
  x-providerName: googleapis.com
  x-serviceName: cloudidentity
externalDocs:
  url: https://cloud.google.com/identity/
tags:
  - name: customers
  - name: devices
  - name: groups
  - name: inboundSamlSsoProfiles
  - name: inboundSsoAssignments
paths:
  /v1/devices:
    get:
      description: Lists/Searches devices.
      operationId: cloudidentity.devices.list
      parameters:
        - description: "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer in the format: `customers/{customer}`, where customer 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}`, where customer is the customer to whom the device belongs."
          in: query
          name: customer
          schema:
            type: string
        - description: Optional. Additional restrictions when fetching list of devices. For a list of search fields, refer to [Mobile device search fields](https://developers.google.com/admin-sdk/directory/v1/search-operators). Multiple search fields are separated by the space character.
          in: query
          name: filter
          schema:
            type: string
        - 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."
          in: query
          name: orderBy
          schema:
            type: string
        - 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.
          in: query
          name: pageSize
          schema:
            type: integer
        - 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.
          in: query
          name: pageToken
          schema:
            type: string
        - description: Optional. The view to use for the List request.
          in: query
          name: view
          schema:
            enum:
              - VIEW_UNSPECIFIED
              - COMPANY_INVENTORY
              - USER_ASSIGNED_DEVICES
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GoogleAppsCloudidentityDevicesV1ListDevicesResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-identity.devices
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-identity.devices
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-identity.devices.readonly
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-identity.devices.readonly
      tags:
        - devices
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: "Creates a device. Only company-owned device may be created. **Note**: This method is available only to customers who have one of the following SKUs: Enterprise Standard, Enterprise Plus, Enterprise for Education, and Cloud Identity Premium"
      operationId: cloudidentity.devices.create
      parameters:
        - description: Optional. [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}`, where customer is the customer to whom the device belongs.
          in: query
          name: customer
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/GoogleAppsCloudidentityDevicesV1Device"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Operation"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-identity.devices
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-identity.devices
      tags:
        - devices
  /v1/groups:
    get:
      description: Lists the `Group` resources under a customer or namespace.
      operationId: cloudidentity.groups.list
      parameters:
        - description: The maximum number of results to return. Note that the number of results returned may be less than this value even if there are more available results. To fetch all results, clients must continue calling this method repeatedly until the response no longer contains a `next_page_token`. If unspecified, defaults to 200 for `View.BASIC` and to 50 for `View.FULL`. Must not be greater than 1000 for `View.BASIC` or 500 for `View.FULL`.
          in: query
          name: pageSize
          schema:
            type: integer
        - description: The `next_page_token` value returned from a previous list request, if any.
          in: query
          name: pageToken
          schema:
            type: string
        - description: Required. The parent resource under which to list all `Group` resources. Must be of the form `identitysources/{identity_source}` for external- identity-mapped groups or `customers/{customer_id}` for Google Groups. The `customer_id` must begin with "C" (for example, 'C046psxkn'). [Find your customer ID.] (https://support.google.com/cloudidentity/answer/10070793)
          in: query
          name: parent
          schema:
            type: string
        - description: The level of detail to be returned. If unspecified, defaults to `View.BASIC`.
          in: query
          name: view
          schema:
            enum:
              - VIEW_UNSPECIFIED
              - BASIC
              - FULL
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ListGroupsResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-identity.groups
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-identity.groups
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-identity.groups.readonly
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-identity.groups.readonly
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-platform
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-platform
      tags:
        - groups
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Creates a Group.
      operationId: cloudidentity.groups.create
      parameters:
        - description: Optional. The initial configuration option for the `Group`.
          in: query
          name: initialGroupConfig
          schema:
            enum:
              - INITIAL_GROUP_CONFIG_UNSPECIFIED
              - WITH_INITIAL_OWNER
              - EMPTY
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Group"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Operation"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-identity.groups
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-identity.groups
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-platform
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-platform
      tags:
        - groups
  /v1/groups:lookup:
    get:
      description: Looks up the [resource name](https://cloud.google.com/apis/design/resource_names) of a `Group` by its `EntityKey`.
      operationId: cloudidentity.groups.lookup
      parameters:
        - description: The ID of the entity. For Google-managed entities, the `id` should be the email address of an existing group or user. For external-identity-mapped entities, the `id` must be a string conforming to the Identity Source's requirements. Must be unique within a `namespace`.
          in: query
          name: groupKey.id
          schema:
            type: string
        - description: The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source}`.
          in: query
          name: groupKey.namespace
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LookupGroupNameResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-identity.groups
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-identity.groups
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-identity.groups.readonly
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-identity.groups.readonly
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-platform
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-platform
      tags:
        - groups
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
  /v1/groups:search:
    get:
      description: Searches for `Group` resources matching a specified query.
      operationId: cloudidentity.groups.search
      parameters:
        - description: The maximum number of results to return. Note that the number of results returned may be less than this value even if there are more available results. To fetch all results, clients must continue calling this method repeatedly until the response no longer contains a `next_page_token`. If unspecified, defaults to 200 for `GroupView.BASIC` and 50 for `GroupView.FULL`. Must not be greater than 1000 for `GroupView.BASIC` or 500 for `GroupView.FULL`.
          in: query
          name: pageSize
          schema:
            type: integer
        - description: The `next_page_token` value returned from a previous search request, if any.
          in: query
          name: pageToken
          schema:
            type: string
        - description: Required. The search query. * Must be specified in [Common Expression Language](https://opensource.google/projects/cel). * Must contain equality operators on the parent, e.g. `parent == 'customers/{customer_id}'`. The `customer_id` must begin with "C" (for example, 'C046psxkn'). [Find your customer ID.] (https://support.google.com/cloudidentity/answer/10070793) * Can contain optional inclusion operators on `labels` such as `'cloudidentity.googleapis.com/groups.discussion_forum' in labels`). * Can contain an optional equality operator on `domain_name`. e.g. `domain_name == 'abc.com'` * Can contain optional `startsWith/contains/equality` operators on `group_key`, e.g. `group_key.startsWith('dev')`, `group_key.contains('dev'), group_key == 'dev@abc.com'` * Can contain optional `startsWith/contains/equality` operators on `display_name`, such as `display_name.startsWith('dev')` , `display_name.contains('dev')`, `display_name == 'dev'`
          in: query
          name: query
          schema:
            type: string
        - description: The level of detail to be returned. If unspecified, defaults to `View.BASIC`.
          in: query
          name: view
          schema:
            enum:
              - VIEW_UNSPECIFIED
              - BASIC
              - FULL
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SearchGroupsResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-identity.groups
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-identity.groups
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-identity.groups.readonly
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-identity.groups.readonly
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-platform
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-platform
      tags:
        - groups
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
  /v1/inboundSamlSsoProfiles:
    get:
      description: Lists InboundSamlSsoProfiles for a customer.
      operationId: cloudidentity.inboundSamlSsoProfiles.list
      parameters:
        - description: 'A [Common Expression Language](https://github.com/google/cel-spec) expression to filter the results. The only supported filter is filtering by customer. For example: `customer=="customers/C0123abc"`. Omitting the filter or specifying a filter of `customer=="customers/my_customer"` will return the profiles for the customer that the caller (authenticated user) belongs to.'
          in: query
          name: filter
          schema:
            type: string
        - description: The maximum number of InboundSamlSsoProfiles to return. The service may return fewer than this value. If omitted (or defaulted to zero) the server will use a sensible default. This default may change over time. The maximum allowed value is 100. Requests with page_size greater than that will be silently interpreted as having this maximum value.
          in: query
          name: pageSize
          schema:
            type: integer
        - description: A page token, received from a previous `ListInboundSamlSsoProfiles` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListInboundSamlSsoProfiles` must match the call that provided the page token.
          in: query
          name: pageToken
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ListInboundSamlSsoProfilesResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-platform
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-platform
      tags:
        - inboundSamlSsoProfiles
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Creates an InboundSamlSsoProfile for a customer.
      operationId: cloudidentity.inboundSamlSsoProfiles.create
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/InboundSamlSsoProfile"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Operation"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-platform
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-platform
      tags:
        - inboundSamlSsoProfiles
  /v1/inboundSsoAssignments:
    get:
      description: Lists the InboundSsoAssignments for a `Customer`.
      operationId: cloudidentity.inboundSsoAssignments.list
      parameters:
        - description: "A CEL expression to filter the results. The only supported filter is filtering by customer. For example: `customer==customers/C0123abc`. Omitting the filter or specifying a filter of `customer==customers/my_customer` will return the assignments for the customer that the caller (authenticated user) belongs to."
          in: query
          name: filter
          schema:
            type: string
        - description: The maximum number of assignments to return. The service may return fewer than this value. If omitted (or defaulted to zero) the server will use a sensible default. This default may change over time. The maximum allowed value is 100, though requests with page_size greater than that will be silently interpreted as having this maximum value. This may increase in the futue.
          in: query
          name: pageSize
          schema:
            type: integer
        - description: A page token, received from a previous `ListInboundSsoAssignments` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListInboundSsoAssignments` must match the call that provided the page token.
          in: query
          name: pageToken
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ListInboundSsoAssignmentsResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-platform
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-platform
      tags:
        - inboundSsoAssignments
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Creates an InboundSsoAssignment for users and devices in a `Customer` under a given `Group` or `OrgUnit`.
      operationId: cloudidentity.inboundSsoAssignments.create
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/InboundSsoAssignment"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Operation"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-platform
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-platform
      tags:
        - inboundSsoAssignments
  "/v1/{name}":
    delete:
      description: Deletes an InboundSsoAssignment. To disable SSO, Create (or Update) an assignment that has `sso_mode` == `SSO_OFF`.
      operationId: cloudidentity.inboundSsoAssignments.delete
      parameters:
        - description: "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the InboundSsoAssignment to delete. Format: `inboundSsoAssignments/{assignment}`"
          in: path
          name: name
          required: true
          schema:
            type: string
        - description: Optional. [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}`, where customer is the customer to whom the device belongs.
          in: query
          name: customer
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Operation"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-platform
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-platform
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-platform
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-platform
      tags:
        - inboundSsoAssignments
    get:
      description: Gets an InboundSsoAssignment.
      operationId: cloudidentity.inboundSsoAssignments.get
      parameters:
        - description: "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the InboundSsoAssignment to fetch. Format: `inboundSsoAssignments/{assignment}`"
          in: path
          name: name
          required: true
          schema:
            type: string
        - description: 'Field-level read mask of which fields to return. "*" returns all fields. If not specified, all fields will be returned. May only contain the following field: `member_restriction`.'
          in: query
          name: readMask
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InboundSsoAssignment"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-platform
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-platform
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-identity.groups.readonly
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-identity.groups.readonly
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-platform
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-platform
      tags:
        - inboundSsoAssignments
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    patch:
      description: 'Updates an InboundSsoAssignment. The body of this request is the `inbound_sso_assignment` field and the `update_mask` is relative to that. For example: a PATCH to `/v1/inboundSsoAssignments/0abcdefg1234567&update_mask=rank` with a body of `{ "rank": 1 }` moves that (presumably group-targeted) SSO assignment to the highest priority and shifts any other group-targeted assignments down in priority.'
      operationId: cloudidentity.inboundSsoAssignments.patch
      parameters:
        - description: Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Inbound SSO Assignment.
          in: path
          name: name
          required: true
          schema:
            type: string
        - description: Required. The list of fields to be updated.
          in: query
          name: updateMask
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/InboundSsoAssignment"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Operation"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-platform
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-platform
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-platform
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-platform
      tags:
        - inboundSsoAssignments
  "/v1/{name}:approve":
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Approves device to access user data.
      operationId: cloudidentity.devices.deviceUsers.approve
      parameters:
        - description: "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}/deviceUsers/{device_user}`, where device is the unique ID assigned to the Device, and device_user is the unique ID assigned to the User."
          in: path
          name: name
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Operation"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-identity.devices
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-identity.devices
      tags:
        - devices
  "/v1/{name}:block":
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Blocks device from accessing user data
      operationId: cloudidentity.devices.deviceUsers.block
      parameters:
        - description: "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}/deviceUsers/{device_user}`, where device is the unique ID assigned to the Device, and device_user is the unique ID assigned to the User."
          in: path
          name: name
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Operation"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-identity.devices
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-identity.devices
      tags:
        - devices
  "/v1/{name}:cancel":
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Cancels a UserInvitation that was already sent.
      operationId: cloudidentity.customers.userinvitations.cancel
      parameters:
        - description: Required. `UserInvitation` name in the format `customers/{customer}/userinvitations/{user_email_address}`
          in: path
          name: name
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CancelUserInvitationRequest"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Operation"
          description: Successful response
      tags:
        - customers
  "/v1/{name}:cancelWipe":
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      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.
      operationId: cloudidentity.devices.deviceUsers.cancelWipe
      parameters:
        - description: "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}/deviceUsers/{device_user}`, where device is the unique ID assigned to the Device, and device_user is the unique ID assigned to the User."
          in: path
          name: name
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Operation"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-identity.devices
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-identity.devices
      tags:
        - devices
  "/v1/{name}:isInvitableUser":
    get:
      description: "Verifies whether a user account is eligible to receive a UserInvitation (is an unmanaged account). Eligibility is based on the following criteria: * the email address is a consumer account and it's the primary email address of the account, and * the domain of the email address matches an existing verified Google Workspace or Cloud Identity domain If both conditions are met, the user is eligible. **Note:** This method is not supported for Workspace Essentials customers."
      operationId: cloudidentity.customers.userinvitations.isInvitableUser
      parameters:
        - description: Required. `UserInvitation` name in the format `customers/{customer}/userinvitations/{user_email_address}`
          in: path
          name: name
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/IsInvitableUserResponse"
          description: Successful response
      tags:
        - customers
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
  "/v1/{name}:modifyMembershipRoles":
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Modifies the `MembershipRole`s of a `Membership`.
      operationId: cloudidentity.groups.memberships.modifyMembershipRoles
      parameters:
        - description: Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership` whose roles are to be modified. Must be of the form `groups/{group}/memberships/{membership}`.
          in: path
          name: name
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ModifyMembershipRolesRequest"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ModifyMembershipRolesResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-identity.groups
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-identity.groups
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-platform
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-platform
      tags:
        - groups
  "/v1/{name}:send":
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Sends a UserInvitation to email. If the `UserInvitation` does not exist for this request and it is a valid request, the request creates a `UserInvitation`. **Note:** The `get` and `list` methods have a 48-hour delay where newly-created consumer accounts will not appear in the results. You can still send a `UserInvitation` to those accounts if you know the unmanaged email address and IsInvitableUser==True.
      operationId: cloudidentity.customers.userinvitations.send
      parameters:
        - description: Required. `UserInvitation` name in the format `customers/{customer}/userinvitations/{user_email_address}`
          in: path
          name: name
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/SendUserInvitationRequest"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Operation"
          description: Successful response
      tags:
        - customers
  "/v1/{name}:wipe":
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      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.
      operationId: cloudidentity.devices.deviceUsers.wipe
      parameters:
        - description: "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}/deviceUsers/{device_user}`, where device is the unique ID assigned to the Device, and device_user is the unique ID assigned to the User."
          in: path
          name: name
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Operation"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-identity.devices
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-identity.devices
      tags:
        - devices
  "/v1/{parent}/clientStates":
    get:
      description: Lists the client states for the given search query.
      operationId: cloudidentity.devices.deviceUsers.clientStates.list
      parameters:
        - 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}'
          in: path
          name: parent
          required: true
          schema:
            type: string
        - description: Optional. [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}`, where customer is the customer to whom the device belongs.
          in: query
          name: customer
          schema:
            type: string
        - description: Optional. Additional restrictions when fetching list of client states.
          in: query
          name: filter
          schema:
            type: string
        - description: Optional. Order specification for client states in the response.
          in: query
          name: orderBy
          schema:
            type: string
        - 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.
          in: query
          name: pageToken
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GoogleAppsCloudidentityDevicesV1ListClientStatesResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-identity.devices
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-identity.devices
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-identity.devices.readonly
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-identity.devices.readonly
      tags:
        - devices
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
  "/v1/{parent}/deviceUsers":
    get:
      description: Lists/Searches DeviceUsers.
      operationId: cloudidentity.devices.deviceUsers.list
      parameters:
        - 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}'
          in: path
          name: parent
          required: true
          schema:
            type: string
        - description: Optional. [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}`, where customer is the customer to whom the device belongs.
          in: query
          name: customer
          schema:
            type: string
        - description: Optional. Additional restrictions when fetching list of devices. For a list of search fields, refer to [Mobile device search fields](https://developers.google.com/admin-sdk/directory/v1/search-operators). Multiple search fields are separated by the space character.
          in: query
          name: filter
          schema:
            type: string
        - description: Optional. Order specification for devices in the response.
          in: query
          name: orderBy
          schema:
            type: string
        - 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.
          in: query
          name: pageSize
          schema:
            type: integer
        - 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.
          in: query
          name: pageToken
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-identity.devices
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-identity.devices
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-identity.devices.readonly
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-identity.devices.readonly
      tags:
        - devices
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
  "/v1/{parent}/idpCredentials":
    get:
      description: Returns a list of IdpCredentials in an InboundSamlSsoProfile.
      operationId: cloudidentity.inboundSamlSsoProfiles.idpCredentials.list
      parameters:
        - description: "Required. The parent, which owns this collection of `IdpCredential`s. Format: `inboundSamlSsoProfiles/{sso_profile_id}`"
          in: path
          name: parent
          required: true
          schema:
            type: string
        - description: The maximum number of `IdpCredential`s to return. The service may return fewer than this value.
          in: query
          name: pageSize
          schema:
            type: integer
        - description: A page token, received from a previous `ListIdpCredentials` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListIdpCredentials` must match the call that provided the page token.
          in: query
          name: pageToken
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ListIdpCredentialsResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-platform
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-platform
      tags:
        - inboundSamlSsoProfiles
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
  "/v1/{parent}/idpCredentials:add":
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Adds an IdpCredential. Up to 2 credentials are allowed.
      operationId: cloudidentity.inboundSamlSsoProfiles.idpCredentials.add
      parameters:
        - description: "Required. The InboundSamlSsoProfile that owns the IdpCredential. Format: `inboundSamlSsoProfiles/{sso_profile_id}`"
          in: path
          name: parent
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AddIdpCredentialRequest"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Operation"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-platform
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-platform
      tags:
        - inboundSamlSsoProfiles
  "/v1/{parent}/memberships":
    get:
      description: Lists the `Membership`s within a `Group`.
      operationId: cloudidentity.groups.memberships.list
      parameters:
        - description: Required. The parent `Group` resource under which to lookup the `Membership` name. Must be of the form `groups/{group}`.
          in: path
          name: parent
          required: true
          schema:
            type: string
        - description: The maximum number of results to return. Note that the number of results returned may be less than this value even if there are more available results. To fetch all results, clients must continue calling this method repeatedly until the response no longer contains a `next_page_token`. If unspecified, defaults to 200 for `GroupView.BASIC` and to 50 for `GroupView.FULL`. Must not be greater than 1000 for `GroupView.BASIC` or 500 for `GroupView.FULL`.
          in: query
          name: pageSize
          schema:
            type: integer
        - description: The `next_page_token` value returned from a previous search request, if any.
          in: query
          name: pageToken
          schema:
            type: string
        - description: The level of detail to be returned. If unspecified, defaults to `View.BASIC`.
          in: query
          name: view
          schema:
            enum:
              - VIEW_UNSPECIFIED
              - BASIC
              - FULL
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ListMembershipsResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-identity.groups
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-identity.groups
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-identity.groups.readonly
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-identity.groups.readonly
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-platform
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-platform
      tags:
        - groups
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Creates a `Membership`.
      operationId: cloudidentity.groups.memberships.create
      parameters:
        - description: Required. The parent `Group` resource under which to create the `Membership`. Must be of the form `groups/{group}`.
          in: path
          name: parent
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Membership"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Operation"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-identity.groups
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-identity.groups
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-platform
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-platform
      tags:
        - groups
  "/v1/{parent}/memberships:checkTransitiveMembership":
    get:
      description: Check a potential member for membership in a group. **Note:** This feature is only available to Google Workspace Enterprise Standard, Enterprise Plus, and Enterprise for Education; and Cloud Identity Premium accounts. If the account of the member is not one of these, a 403 (PERMISSION_DENIED) HTTP status code will be returned. A member has membership to a group as long as there is a single viewable transitive membership between the group and the member. The actor must have view permissions to at least one transitive membership between the member and group.
      operationId: cloudidentity.groups.memberships.checkTransitiveMembership
      parameters:
        - description: "[Resource name](https://cloud.google.com/apis/design/resource_names) of the group to check the transitive membership in. Format: `groups/{group}`, where `group` is the unique id assigned to the Group to which the Membership belongs to."
          in: path
          name: parent
          required: true
          schema:
            type: string
        - description: "Required. A CEL expression that MUST include member specification. This is a `required` field. Certain groups are uniquely identified by both a 'member_key_id' and a 'member_key_namespace', which requires an additional query input: 'member_key_namespace'. Example query: `member_key_id == 'member_key_id_value'`"
          in: query
          name: query
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CheckTransitiveMembershipResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-identity.groups
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-identity.groups
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-identity.groups.readonly
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-identity.groups.readonly
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-platform
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-platform
      tags:
        - groups
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
  "/v1/{parent}/memberships:getMembershipGraph":
    get:
      description: Get a membership graph of just a member or both a member and a group. **Note:** This feature is only available to Google Workspace Enterprise Standard, Enterprise Plus, and Enterprise for Education; and Cloud Identity Premium accounts. If the account of the member is not one of these, a 403 (PERMISSION_DENIED) HTTP status code will be returned. Given a member, the response will contain all membership paths from the member. Given both a group and a member, the response will contain all membership paths between the group and the member.
      operationId: cloudidentity.groups.memberships.getMembershipGraph
      parameters:
        - description: 'Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the group to search transitive memberships in. Format: `groups/{group}`, where `group` is the unique ID assigned to the Group to which the Membership belongs to. group can be a wildcard collection id "-". When a group is specified, the membership graph will be constrained to paths between the member (defined in the query) and the parent. If a wildcard collection is provided, all membership paths connected to the member will be returned.'
          in: path
          name: parent
          required: true
          schema:
            type: string
        - description: "Required. A CEL expression that MUST include member specification AND label(s). Certain groups are uniquely identified by both a 'member_key_id' and a 'member_key_namespace', which requires an additional query input: 'member_key_namespace'. Example query: `member_key_id == 'member_key_id_value' && in labels`"
          in: query
          name: query
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Operation"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-identity.groups
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-identity.groups
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-identity.groups.readonly
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-identity.groups.readonly
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-platform
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-platform
      tags:
        - groups
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
  "/v1/{parent}/memberships:lookup":
    get:
      description: Looks up the [resource name](https://cloud.google.com/apis/design/resource_names) of a `Membership` by its `EntityKey`.
      operationId: cloudidentity.groups.memberships.lookup
      parameters:
        - description: Required. The parent `Group` resource under which to lookup the `Membership` name. Must be of the form `groups/{group}`.
          in: path
          name: parent
          required: true
          schema:
            type: string
        - description: The ID of the entity. For Google-managed entities, the `id` should be the email address of an existing group or user. For external-identity-mapped entities, the `id` must be a string conforming to the Identity Source's requirements. Must be unique within a `namespace`.
          in: query
          name: memberKey.id
          schema:
            type: string
        - description: The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source}`.
          in: query
          name: memberKey.namespace
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LookupMembershipNameResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-identity.groups
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-identity.groups
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-identity.groups.readonly
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-identity.groups.readonly
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-platform
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-platform
      tags:
        - groups
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
  "/v1/{parent}/memberships:searchDirectGroups":
    get:
      description: Searches direct groups of a member.
      operationId: cloudidentity.groups.memberships.searchDirectGroups
      parameters:
        - description: "[Resource name](https://cloud.google.com/apis/design/resource_names) of the group to search transitive memberships in. Format: groups/{group_id}, where group_id is always '-' as this API will search across all groups for a given member."
          in: path
          name: parent
          required: true
          schema:
            type: string
        - description: 'The ordering of membership relation for the display name or email in the response. The syntax for this field can be found at https://cloud.google.com/apis/design/design_patterns#sorting_order. Example: Sort by the ascending display name: order_by="group_name" or order_by="group_name asc". Sort by the descending display name: order_by="group_name desc". Sort by the ascending group key: order_by="group_key" or order_by="group_key asc". Sort by the descending group key: order_by="group_key desc".'
          in: query
          name: orderBy
          schema:
            type: string
        - description: The default page size is 200 (max 1000).
          in: query
          name: pageSize
          schema:
            type: integer
        - description: The next_page_token value returned from a previous list request, if any
          in: query
          name: pageToken
          schema:
            type: string
        - description: "Required. A CEL expression that MUST include member specification AND label(s). Users can search on label attributes of groups. CONTAINS match ('in') is supported on labels. Identity-mapped groups are uniquely identified by both a `member_key_id` and a `member_key_namespace`, which requires an additional query input: `member_key_namespace`. Example query: `member_key_id == 'member_key_id_value' && 'label_value' in labels`"
          in: query
          name: query
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SearchDirectGroupsResponse"
          description: Successful response
      tags:
        - groups
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
  "/v1/{parent}/memberships:searchTransitiveGroups":
    get:
      description: Search transitive groups of a member. **Note:** This feature is only available to Google Workspace Enterprise Standard, Enterprise Plus, and Enterprise for Education; and Cloud Identity Premium accounts. If the account of the member is not one of these, a 403 (PERMISSION_DENIED) HTTP status code will be returned. A transitive group is any group that has a direct or indirect membership to the member. Actor must have view permissions all transitive groups.
      operationId: cloudidentity.groups.memberships.searchTransitiveGroups
      parameters:
        - description: "[Resource name](https://cloud.google.com/apis/design/resource_names) of the group to search transitive memberships in. Format: `groups/{group}`, where `group` is always '-' as this API will search across all groups for a given member."
          in: path
          name: parent
          required: true
          schema:
            type: string
        - description: The default page size is 200 (max 1000).
          in: query
          name: pageSize
          schema:
            type: integer
        - description: The next_page_token value returned from a previous list request, if any.
          in: query
          name: pageToken
          schema:
            type: string
        - description: "Required. A CEL expression that MUST include member specification AND label(s). This is a `required` field. Users can search on label attributes of groups. CONTAINS match ('in') is supported on labels. Identity-mapped groups are uniquely identified by both a `member_key_id` and a `member_key_namespace`, which requires an additional query input: `member_key_namespace`. Example query: `member_key_id == 'member_key_id_value' && in labels` Query may optionally contain equality operators on the parent of the group restricting the search within a particular customer, e.g. `parent == 'customers/{customer_id}'`. The `customer_id` must begin with \"C\" (for example, 'C046psxkn'). This filtering is only supported for Admins with groups read permissons on the input customer. Example query: `member_key_id == 'member_key_id_value' && in labels && parent == 'customers/C046psxkn'`"
          in: query
          name: query
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SearchTransitiveGroupsResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-identity.groups
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-identity.groups
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-identity.groups.readonly
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-identity.groups.readonly
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-platform
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-platform
      tags:
        - groups
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
  "/v1/{parent}/memberships:searchTransitiveMemberships":
    get:
      description: Search transitive memberships of a group. **Note:** This feature is only available to Google Workspace Enterprise Standard, Enterprise Plus, and Enterprise for Education; and Cloud Identity Premium accounts. If the account of the group is not one of these, a 403 (PERMISSION_DENIED) HTTP status code will be returned. A transitive membership is any direct or indirect membership of a group. Actor must have view permissions to all transitive memberships.
      operationId: cloudidentity.groups.memberships.searchTransitiveMemberships
      parameters:
        - description: "[Resource name](https://cloud.google.com/apis/design/resource_names) of the group to search transitive memberships in. Format: `groups/{group}`, where `group` is the unique ID assigned to the Group."
          in: path
          name: parent
          required: true
          schema:
            type: string
        - description: The default page size is 200 (max 1000).
          in: query
          name: pageSize
          schema:
            type: integer
        - description: The next_page_token value returned from a previous list request, if any.
          in: query
          name: pageToken
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SearchTransitiveMembershipsResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-identity.groups
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-identity.groups
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-identity.groups.readonly
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-identity.groups.readonly
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-platform
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-platform
      tags:
        - groups
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
  "/v1/{parent}/userinvitations":
    get:
      description: Retrieves a list of UserInvitation resources. **Note:** New consumer accounts with the customer's verified domain created within the previous 48 hours will not appear in the result. This delay also applies to newly-verified domains.
      operationId: cloudidentity.customers.userinvitations.list
      parameters:
        - description: Required. The customer ID of the Google Workspace or Cloud Identity account the UserInvitation resources are associated with.
          in: path
          name: parent
          required: true
          schema:
            type: string
        - description: "Optional. A query string for filtering `UserInvitation` results by their current state, in the format: `\"state=='invited'\"`."
          in: query
          name: filter
          schema:
            type: string
        - description: Optional. The sort order of the list results. You can sort the results in descending order based on either email or last update timestamp but not both, using `order_by="email desc"`. Currently, sorting is supported for `update_time asc`, `update_time desc`, `email asc`, and `email desc`. If not specified, results will be returned based on `email asc` order.
          in: query
          name: orderBy
          schema:
            type: string
        - description: Optional. The maximum number of UserInvitation resources to return. If unspecified, at most 100 resources will be returned. The maximum value is 200; values above 200 will be set to 200.
          in: query
          name: pageSize
          schema:
            type: integer
        - description: Optional. A page token, received from a previous `ListUserInvitations` 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.
          in: query
          name: pageToken
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ListUserInvitationsResponse"
          description: Successful response
      tags:
        - customers
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
  "/v1/{parent}:lookup":
    get:
      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."
      operationId: cloudidentity.devices.deviceUsers.lookup
      parameters:
        - description: Must be set to "devices/-/deviceUsers" to search across all DeviceUser belonging to the user.
          in: path
          name: parent
          required: true
          schema:
            type: string
        - description: Android Id returned by [Settings.Secure#ANDROID_ID](https://developer.android.com/reference/android/provider/Settings.Secure.html#ANDROID_ID).
          in: query
          name: androidId
          schema:
            type: string
        - 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.
          in: query
          name: pageSize
          schema:
            type: integer
        - 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.
          in: query
          name: pageToken
          schema:
            type: string
        - 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"
          in: query
          name: rawResourceId
          schema:
            type: string
        - 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.
          in: query
          name: userId
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-identity.devices.lookup
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-identity.devices.lookup
      tags:
        - devices
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
components:
  parameters:
    _.xgafv:
      description: V1 error format.
      in: query
      name: $.xgafv
      schema:
        enum:
          - "1"
          - "2"
        type: string
    access_token:
      description: OAuth access token.
      in: query
      name: access_token
      schema:
        type: string
    alt:
      description: Data format for response.
      in: query
      name: alt
      schema:
        enum:
          - json
          - media
          - proto
        type: string
    callback:
      description: JSONP
      in: query
      name: callback
      schema:
        type: string
    fields:
      description: Selector specifying which fields to include in a partial response.
      in: query
      name: fields
      schema:
        type: string
    key:
      description: API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
      in: query
      name: key
      schema:
        type: string
    oauth_token:
      description: OAuth 2.0 token for the current user.
      in: query
      name: oauth_token
      schema:
        type: string
    prettyPrint:
      description: Returns response with indentations and line breaks.
      in: query
      name: prettyPrint
      schema:
        type: boolean
    quotaUser:
      description: Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
      in: query
      name: quotaUser
      schema:
        type: string
    uploadType:
      description: Legacy upload protocol for media (e.g. "media", "multipart").
      in: query
      name: uploadType
      schema:
        type: string
    upload_protocol:
      description: Upload protocol for media (e.g. "raw", "multipart").
      in: query
      name: upload_protocol
      schema:
        type: string
  schemas:
    AddIdpCredentialOperationMetadata:
      description: LRO response metadata for InboundSamlSsoProfilesService.AddIdpCredential.
      properties: {}
      type: object
    AddIdpCredentialRequest:
      description: The request for creating an IdpCredential with its associated payload. An InboundSamlSsoProfile can own up to 2 credentials.
      properties:
        pemData:
          description: PEM encoded x509 certificate containing the public key for verifying IdP signatures.
          type: string
      type: object
    CancelUserInvitationRequest:
      description: Request to cancel sent invitation for target email in UserInvitation.
      properties: {}
      type: object
    CheckTransitiveMembershipResponse:
      description: The response message for MembershipsService.CheckTransitiveMembership.
      properties:
        hasMembership:
          description: Response does not include the possible roles of a member since the behavior of this rpc is not all-or-nothing unlike the other rpcs. So, it may not be possible to list all the roles definitively, due to possible lack of authorization in some of the paths.
          type: boolean
      type: object
    CreateGroupMetadata:
      description: Metadata for CreateGroup LRO.
      properties: {}
      type: object
    CreateInboundSamlSsoProfileOperationMetadata:
      description: LRO response metadata for InboundSamlSsoProfilesService.CreateInboundSamlSsoProfile.
      properties: {}
      type: object
    CreateInboundSsoAssignmentOperationMetadata:
      description: LRO response metadata for InboundSsoAssignmentsService.CreateInboundSsoAssignment.
      properties: {}
      type: object
    CreateMembershipMetadata:
      description: Metadata for CreateMembership LRO.
      properties: {}
      type: object
    DeleteGroupMetadata:
      description: Metadata for DeleteGroup LRO.
      properties: {}
      type: object
    DeleteIdpCredentialOperationMetadata:
      description: LRO response metadata for InboundSamlSsoProfilesService.DeleteIdpCredential.
      properties: {}
      type: object
    DeleteInboundSamlSsoProfileOperationMetadata:
      description: LRO response metadata for InboundSamlSsoProfilesService.DeleteInboundSamlSsoProfile.
      properties: {}
      type: object
    DeleteInboundSsoAssignmentOperationMetadata:
      description: LRO response metadata for InboundSsoAssignmentsService.DeleteInboundSsoAssignment.
      properties: {}
      type: object
    DeleteMembershipMetadata:
      description: Metadata for DeleteMembership LRO.
      properties: {}
      type: object
    DsaPublicKeyInfo:
      description: Information of a DSA public key.
      properties:
        keySize:
          description: Key size in bits (size of parameter P).
          format: int32
          type: integer
      type: object
    DynamicGroupMetadata:
      description: Dynamic group metadata like queries and status.
      properties:
        queries:
          description: Memberships will be the union of all queries. Only one entry with USER resource is currently supported. Customers can create up to 100 dynamic groups.
          items:
            $ref: "#/components/schemas/DynamicGroupQuery"
          type: array
        status:
          $ref: "#/components/schemas/DynamicGroupStatus"
          description: Output only. Status of the dynamic group.
          readOnly: true
      type: object
    DynamicGroupQuery:
      description: Defines a query on a resource.
      properties:
        query:
          description: "Query that determines the memberships of the dynamic group. Examples: All users with at least one `organizations.department` of engineering. `user.organizations.exists(org, org.department=='engineering')` All users with at least one location that has `area` of `foo` and `building_id` of `bar`. `user.locations.exists(loc, loc.area=='foo' && loc.building_id=='bar')` All users with any variation of the name John Doe (case-insensitive queries add `equalsIgnoreCase()` to the value being queried). `user.name.value.equalsIgnoreCase('jOhn DoE')`"
          type: string
        resourceType:
          description: Resource type for the Dynamic Group Query
          enum:
            - RESOURCE_TYPE_UNSPECIFIED
            - USER
          type: string
      type: object
    DynamicGroupStatus:
      description: The current status of a dynamic group along with timestamp.
      properties:
        status:
          description: Status of the dynamic group.
          enum:
            - STATUS_UNSPECIFIED
            - UP_TO_DATE
            - UPDATING_MEMBERSHIPS
            - INVALID_QUERY
          type: string
        statusTime:
          description: The latest time at which the dynamic group is guaranteed to be in the given status. If status is `UP_TO_DATE`, the latest time at which the dynamic group was confirmed to be up-to-date. If status is `UPDATING_MEMBERSHIPS`, the time at which dynamic group was created.
          format: google-datetime
          type: string
      type: object
    EntityKey:
      description: A unique identifier for an entity in the Cloud Identity Groups API. An entity can represent either a group with an optional `namespace` or a user without a `namespace`. The combination of `id` and `namespace` must be unique; however, the same `id` can be used with different `namespace`s.
      properties:
        id:
          description: The ID of the entity. For Google-managed entities, the `id` should be the email address of an existing group or user. For external-identity-mapped entities, the `id` must be a string conforming to the Identity Source's requirements. Must be unique within a `namespace`.
          type: string
        namespace:
          description: The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source}`.
          type: string
      type: object
    ExpiryDetail:
      description: The `MembershipRole` expiry details.
      properties:
        expireTime:
          description: The time at which the `MembershipRole` will expire.
          format: google-datetime
          type: string
      type: object
    GetMembershipGraphMetadata:
      description: Metadata of GetMembershipGraphResponse LRO. This is currently empty to permit future extensibility.
      properties: {}
      type: object
    GetMembershipGraphResponse:
      description: The response message for MembershipsService.GetMembershipGraph.
      properties:
        adjacencyList:
          description: The membership graph's path information represented as an adjacency list.
          items:
            $ref: "#/components/schemas/MembershipAdjacencyList"
          type: array
        groups:
          description: The resources representing each group in the adjacency list. Each group in this list can be correlated to a 'group' of the MembershipAdjacencyList using the 'name' of the Group resource.
          items:
            $ref: "#/components/schemas/Group"
          type: array
      type: object
    GoogleAppsCloudidentityDevicesV1AndroidAttributes:
      description: Resource representing the Android specific attributes of a Device.
      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
          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
    GoogleAppsCloudidentityDevicesV1ApproveDeviceUserMetadata:
      description: Metadata for ApproveDeviceUser LRO.
      properties: {}
      type: object
    GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest:
      description: Request message for approving the device to access user data.
      properties:
        customer:
          description: Optional. [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}`, where customer is the customer to whom the device belongs.
          type: string
      type: object
    GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse:
      description: Response message for approving the device to access user data.
      properties:
        deviceUser:
          $ref: "#/components/schemas/GoogleAppsCloudidentityDevicesV1DeviceUser"
          description: Resultant DeviceUser object for the action.
      type: object
    GoogleAppsCloudidentityDevicesV1BlockDeviceUserMetadata:
      description: Metadata for BlockDeviceUser LRO.
      properties: {}
      type: object
    GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest:
      description: Request message for blocking account on device.
      properties:
        customer:
          description: Optional. [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}`, where customer is the customer to whom the device belongs.
          type: string
      type: object
    GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse:
      description: Response message for blocking the device from accessing user data.
      properties:
        deviceUser:
          $ref: "#/components/schemas/GoogleAppsCloudidentityDevicesV1DeviceUser"
          description: Resultant DeviceUser object for the action.
      type: object
    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceMetadata:
      description: Metadata for CancelWipeDevice LRO.
      properties: {}
      type: object
    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest:
      description: Request message for cancelling an unfinished device wipe.
      properties:
        customer:
          description: Optional. [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}`, where customer is the customer to whom the device belongs.
          type: string
      type: object
    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse:
      description: Response message for cancelling an unfinished device wipe.
      properties:
        device:
          $ref: "#/components/schemas/GoogleAppsCloudidentityDevicesV1Device"
          description: Resultant Device object for the action. Note that asset tags will not be returned in the device object.
      type: object
    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserMetadata:
      description: Metadata for CancelWipeDeviceUser LRO.
      properties: {}
      type: object
    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest:
      description: Request message for cancelling an unfinished user account wipe.
      properties:
        customer:
          description: Optional. [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}`, where customer is the customer to whom the device belongs.
          type: string
      type: object
    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse:
      description: Response message for cancelling an unfinished user account wipe.
      properties:
        deviceUser:
          $ref: "#/components/schemas/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
      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
          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
          type: string
        keyValuePairs:
          additionalProperties:
            $ref: "#/components/schemas/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
          type: string
        name:
          description: "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the ClientState in format: `devices/{device}/deviceUsers/{device_user}/clientState/{partner}`, where partner 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}-suffix`, where `customer` 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
          readOnly: true
          type: string
        scoreReason:
          description: A descriptive cause of the health score.
          type: string
      type: object
    GoogleAppsCloudidentityDevicesV1CreateDeviceMetadata:
      description: Metadata for CreateDevice LRO.
      properties: {}
      type: object
    GoogleAppsCloudidentityDevicesV1CustomAttributeValue:
      description: Additional custom attribute values may be one of these types
      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
    GoogleAppsCloudidentityDevicesV1DeleteDeviceMetadata:
      description: Metadata for DeleteDevice LRO.
      properties: {}
      type: object
    GoogleAppsCloudidentityDevicesV1DeleteDeviceUserMetadata:
      description: Metadata for DeleteDeviceUser LRO.
      properties: {}
      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."
      properties:
        androidSpecificAttributes:
          $ref: "#/components/schemas/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
          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
        deviceId:
          description: Unique identifier for the device.
          type: string
        deviceType:
          description: Output only. Type of device.
          enum:
            - DEVICE_TYPE_UNSPECIFIED
            - ANDROID
            - IOS
            - GOOGLE_SYNC
            - WINDOWS
            - MAC_OS
            - LINUX
            - CHROME_OS
          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
          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
          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}`, where device 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
          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
      properties:
        compromisedState:
          description: Compromised State of the DeviceUser object
          enum:
            - COMPROMISED_STATE_UNSPECIFIED
            - COMPROMISED
            - 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
          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}/deviceUsers/{device_user}`, where `device_user` uniquely identifies a user's use of a device."
          readOnly: true
          type: string
        passwordState:
          description: Password state of the DeviceUser object
          enum:
            - PASSWORD_STATE_UNSPECIFIED
            - PASSWORD_SET
            - PASSWORD_NOT_SET
          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.
      properties:
        clientStates:
          description: Client states meeting the list restrictions.
          items:
            $ref: "#/components/schemas/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.
      properties:
        deviceUsers:
          description: Devices meeting the list restrictions.
          items:
            $ref: "#/components/schemas/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.
      properties:
        devices:
          description: Devices meeting the list restrictions.
          items:
            $ref: "#/components/schemas/GoogleAppsCloudidentityDevicesV1Device"
          type: array
        nextPageToken:
          description: Token to retrieve the next page of results. Empty if there are no more results.
          type: string
      type: object
    GoogleAppsCloudidentityDevicesV1ListEndpointAppsMetadata:
      description: Metadata for ListEndpointApps LRO.
      properties: {}
      type: object
    GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse:
      description: Response containing resource names of the DeviceUsers associated with the caller's credentials.
      properties:
        customer:
          description: The customer resource name 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}/deviceUsers/{user_resource}`, where device is the unique ID assigned to a Device and user_resource 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
    GoogleAppsCloudidentityDevicesV1SignoutDeviceUserMetadata:
      description: Metadata for SignoutDeviceUser LRO.
      properties: {}
      type: object
    GoogleAppsCloudidentityDevicesV1UpdateClientStateMetadata:
      description: Metadata for UpdateClientState LRO.
      properties: {}
      type: object
    GoogleAppsCloudidentityDevicesV1UpdateDeviceMetadata:
      description: Metadata for UpdateDevice LRO.
      properties: {}
      type: object
    GoogleAppsCloudidentityDevicesV1WipeDeviceMetadata:
      description: Metadata for WipeDevice LRO.
      properties: {}
      type: object
    GoogleAppsCloudidentityDevicesV1WipeDeviceRequest:
      description: Request message for wiping all data on the device.
      properties:
        customer:
          description: Optional. [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}`, where customer is the customer to whom the device belongs.
          type: string
        removeResetLock:
          description: Optional. Specifies if a user is able to factory reset a device after a Device Wipe. On iOS, this is called "Activation Lock", while on Android, this is known as "Factory Reset Protection". If true, this protection will be removed from the device, so that a user can successfully factory reset. If false, the setting is untouched on the device.
          type: boolean
      type: object
    GoogleAppsCloudidentityDevicesV1WipeDeviceResponse:
      description: Response message for wiping all data on the device.
      properties:
        device:
          $ref: "#/components/schemas/GoogleAppsCloudidentityDevicesV1Device"
          description: Resultant Device object for the action. Note that asset tags will not be returned in the device object.
      type: object
    GoogleAppsCloudidentityDevicesV1WipeDeviceUserMetadata:
      description: Metadata for WipeDeviceUser LRO.
      properties: {}
      type: object
    GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest:
      description: Request message for starting an account wipe on device.
      properties:
        customer:
          description: Optional. [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}`, where customer 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.
      properties:
        deviceUser:
          $ref: "#/components/schemas/GoogleAppsCloudidentityDevicesV1DeviceUser"
          description: Resultant DeviceUser object for the action.
      type: object
    Group:
      description: A group within the Cloud Identity Groups API. A `Group` is a collection of entities, where each entity is either a user, another group, or a service account.
      properties:
        additionalGroupKeys:
          description: Output only. Additional group keys associated with the Group.
          items:
            $ref: "#/components/schemas/EntityKey"
          readOnly: true
          type: array
        createTime:
          description: Output only. The time when the `Group` was created.
          format: google-datetime
          readOnly: true
          type: string
        description:
          description: An extended description to help users determine the purpose of a `Group`. Must not be longer than 4,096 characters.
          type: string
        displayName:
          description: The display name of the `Group`.
          type: string
        dynamicGroupMetadata:
          $ref: "#/components/schemas/DynamicGroupMetadata"
          description: Optional. Dynamic group metadata like queries and status.
        groupKey:
          $ref: "#/components/schemas/EntityKey"
          description: Required. The `EntityKey` of the `Group`.
        labels:
          additionalProperties:
            type: string
          description: Required. One or more label entries that apply to the Group. Currently supported labels contain a key with an empty value. Google Groups are the default type of group and have a label with a key of `cloudidentity.googleapis.com/groups.discussion_forum` and an empty value. Existing Google Groups can have an additional label with a key of `cloudidentity.googleapis.com/groups.security` and an empty value added to them. **This is an immutable change and the security label cannot be removed once added.** Dynamic groups have a label with a key of `cloudidentity.googleapis.com/groups.dynamic`. Identity-mapped groups for Cloud Search have a label with a key of `system/groups/external` and an empty value.
          type: object
        name:
          description: Output only. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Group`. Shall be of the form `groups/{group}`.
          readOnly: true
          type: string
        parent:
          description: Required. Immutable. The resource name of the entity under which this `Group` resides in the Cloud Identity resource hierarchy. Must be of the form `identitysources/{identity_source}` for external [identity-mapped groups](https://support.google.com/a/answer/9039510) or `customers/{customer_id}` for Google Groups. The `customer_id` must begin with "C" (for example, 'C046psxkn'). [Find your customer ID.] (https://support.google.com/cloudidentity/answer/10070793)
          type: string
        updateTime:
          description: Output only. The time when the `Group` was last updated.
          format: google-datetime
          readOnly: true
          type: string
      type: object
    GroupRelation:
      description: Message representing a transitive group of a user or a group.
      properties:
        displayName:
          description: Display name for this group.
          type: string
        group:
          description: Resource name for this group.
          type: string
        groupKey:
          $ref: "#/components/schemas/EntityKey"
          description: Entity key has an id and a namespace. In case of discussion forums, the id will be an email address without a namespace.
        labels:
          additionalProperties:
            type: string
          description: Labels for Group resource.
          type: object
        relationType:
          description: The relation between the member and the transitive group.
          enum:
            - RELATION_TYPE_UNSPECIFIED
            - DIRECT
            - INDIRECT
            - DIRECT_AND_INDIRECT
          type: string
        roles:
          description: Membership roles of the member for the group.
          items:
            $ref: "#/components/schemas/TransitiveMembershipRole"
          type: array
      type: object
    IdpCredential:
      description: Credential for verifying signatures produced by the Identity Provider.
      properties:
        dsaKeyInfo:
          $ref: "#/components/schemas/DsaPublicKeyInfo"
          description: Output only. Information of a DSA public key.
          readOnly: true
        name:
          description: Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the credential.
          readOnly: true
          type: string
        rsaKeyInfo:
          $ref: "#/components/schemas/RsaPublicKeyInfo"
          description: Output only. Information of a RSA public key.
          readOnly: true
        updateTime:
          description: Output only. Time when the `IdpCredential` was last updated.
          format: google-datetime
          readOnly: true
          type: string
      type: object
    InboundSamlSsoProfile:
      description: A [SAML 2.0](https://www.oasis-open.org/standards#samlv2.0) federation between a Google enterprise customer and a SAML identity provider.
      properties:
        customer:
          description: "Immutable. The customer. For example: `customers/C0123abc`."
          type: string
        displayName:
          description: Human-readable name of the SAML SSO profile.
          type: string
        idpConfig:
          $ref: "#/components/schemas/SamlIdpConfig"
          description: SAML identity provider configuration.
        name:
          description: Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the SAML SSO profile.
          readOnly: true
          type: string
        spConfig:
          $ref: "#/components/schemas/SamlSpConfig"
          description: SAML service provider configuration for this SAML SSO profile. These are the service provider details provided by Google that should be configured on the corresponding identity provider.
      type: object
    InboundSsoAssignment:
      description: Targets with "set" SSO assignments and their respective assignments.
      properties:
        customer:
          description: "Immutable. The customer. For example: `customers/C0123abc`."
          type: string
        name:
          description: Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Inbound SSO Assignment.
          readOnly: true
          type: string
        rank:
          description: Must be zero (which is the default value so it can be omitted) for assignments with `target_org_unit` set and must be greater-than-or-equal-to one for assignments with `target_group` set.
          format: int32
          type: integer
        samlSsoInfo:
          $ref: "#/components/schemas/SamlSsoInfo"
          description: SAML SSO details. Must be set if and only if `sso_mode` is set to `SAML_SSO`.
        signInBehavior:
          $ref: "#/components/schemas/SignInBehavior"
          description: Assertions about users assigned to an IdP will always be accepted from that IdP. This controls whether/when Google should redirect a user to the IdP. Unset (defaults) is the recommended configuration.
        ssoMode:
          description: Inbound SSO behavior.
          enum:
            - SSO_MODE_UNSPECIFIED
            - SSO_OFF
            - SAML_SSO
            - DOMAIN_WIDE_SAML_IF_ENABLED
          type: string
        targetGroup:
          description: Immutable. Must be of the form `groups/{group}`.
          type: string
        targetOrgUnit:
          description: Immutable. Must be of the form `orgUnits/{org_unit}`.
          type: string
      type: object
    IsInvitableUserResponse:
      description: Response for IsInvitableUser RPC.
      properties:
        isInvitableUser:
          description: Returns true if the email address is invitable.
          type: boolean
      type: object
    ListGroupsResponse:
      description: Response message for ListGroups operation.
      properties:
        groups:
          description: Groups returned in response to list request. The results are not sorted.
          items:
            $ref: "#/components/schemas/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
    ListIdpCredentialsResponse:
      description: Response of the InboundSamlSsoProfilesService.ListIdpCredentials method.
      properties:
        idpCredentials:
          description: The IdpCredentials from the specified InboundSamlSsoProfile.
          items:
            $ref: "#/components/schemas/IdpCredential"
          type: array
        nextPageToken:
          description: A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
          type: string
      type: object
    ListInboundSamlSsoProfilesResponse:
      description: Response of the InboundSamlSsoProfilesService.ListInboundSamlSsoProfiles method.
      properties:
        inboundSamlSsoProfiles:
          description: List of InboundSamlSsoProfiles.
          items:
            $ref: "#/components/schemas/InboundSamlSsoProfile"
          type: array
        nextPageToken:
          description: A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
          type: string
      type: object
    ListInboundSsoAssignmentsResponse:
      description: Response of the InboundSsoAssignmentsService.ListInboundSsoAssignments method.
      properties:
        inboundSsoAssignments:
          description: The assignments.
          items:
            $ref: "#/components/schemas/InboundSsoAssignment"
          type: array
        nextPageToken:
          description: A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
          type: string
      type: object
    ListMembershipsResponse:
      description: The response message for MembershipsService.ListMemberships.
      properties:
        memberships:
          description: The `Membership`s under the specified `parent`.
          items:
            $ref: "#/components/schemas/Membership"
          type: array
        nextPageToken:
          description: A continuation token to retrieve the next page of results, or empty if there are no more results available.
          type: string
      type: object
    ListUserInvitationsResponse:
      description: Response message for UserInvitation listing request.
      properties:
        nextPageToken:
          description: The token for the next page. If not empty, indicates that there may be more `UserInvitation` resources that match the listing request; this value can be used in a subsequent ListUserInvitationsRequest to get continued results with the current list call.
          type: string
        userInvitations:
          description: The list of UserInvitation resources.
          items:
            $ref: "#/components/schemas/UserInvitation"
          type: array
      type: object
    LookupGroupNameResponse:
      description: The response message for GroupsService.LookupGroupName.
      properties:
        name:
          description: The [resource name](https://cloud.google.com/apis/design/resource_names) of the looked-up `Group`.
          type: string
      type: object
    LookupMembershipNameResponse:
      description: The response message for MembershipsService.LookupMembershipName.
      properties:
        name:
          description: The [resource name](https://cloud.google.com/apis/design/resource_names) of the looked-up `Membership`. Must be of the form `groups/{group}/memberships/{membership}`.
          type: string
      type: object
    MemberRelation:
      description: Message representing a transitive membership of a group.
      properties:
        member:
          description: Resource name for this member.
          type: string
        preferredMemberKey:
          description: Entity key has an id and a namespace. In case of discussion forums, the id will be an email address without a namespace.
          items:
            $ref: "#/components/schemas/EntityKey"
          type: array
        relationType:
          description: The relation between the group and the transitive member.
          enum:
            - RELATION_TYPE_UNSPECIFIED
            - DIRECT
            - INDIRECT
            - DIRECT_AND_INDIRECT
          type: string
        roles:
          description: The membership role details (i.e name of role and expiry time).
          items:
            $ref: "#/components/schemas/TransitiveMembershipRole"
          type: array
      type: object
    MemberRestriction:
      description: The definition of MemberRestriction
      properties:
        evaluation:
          $ref: "#/components/schemas/RestrictionEvaluation"
          description: The evaluated state of this restriction on a group.
        query:
          description: "Member Restriction as defined by CEL expression. Supported restrictions are: `member.customer_id` and `member.type`. Valid values for `member.type` are `1`, `2` and `3`. They correspond to USER, SERVICE_ACCOUNT, and GROUP respectively. The value for `member.customer_id` only supports `groupCustomerId()` currently which means the customer id of the group will be used for restriction. Supported operators are `&&`, `||` and `==`, corresponding to AND, OR, and EQUAL. Examples: Allow only service accounts of given customer to be members. `member.type == 2 && member.customer_id == groupCustomerId()` Allow only users or groups to be members. `member.type == 1 || member.type == 3`"
          type: string
      type: object
    Membership:
      description: A membership within the Cloud Identity Groups API. A `Membership` defines a relationship between a `Group` and an entity belonging to that `Group`, referred to as a "member".
      properties:
        createTime:
          description: Output only. The time when the `Membership` was created.
          format: google-datetime
          readOnly: true
          type: string
        deliverySetting:
          description: Output only. Delivery setting associated with the membership.
          enum:
            - DELIVERY_SETTING_UNSPECIFIED
            - ALL_MAIL
            - DIGEST
            - DAILY
            - NONE
            - DISABLED
          readOnly: true
          type: string
        name:
          description: Output only. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership`. Shall be of the form `groups/{group}/memberships/{membership}`.
          readOnly: true
          type: string
        preferredMemberKey:
          $ref: "#/components/schemas/EntityKey"
          description: Required. Immutable. The `EntityKey` of the member.
        roles:
          description: The `MembershipRole`s that apply to the `Membership`. If unspecified, defaults to a single `MembershipRole` with `name` `MEMBER`. Must not contain duplicate `MembershipRole`s with the same `name`.
          items:
            $ref: "#/components/schemas/MembershipRole"
          type: array
        type:
          description: Output only. The type of the membership.
          enum:
            - TYPE_UNSPECIFIED
            - USER
            - SERVICE_ACCOUNT
            - GROUP
            - SHARED_DRIVE
            - OTHER
          readOnly: true
          type: string
        updateTime:
          description: Output only. The time when the `Membership` was last updated.
          format: google-datetime
          readOnly: true
          type: string
      type: object
    MembershipAdjacencyList:
      description: Membership graph's path information as an adjacency list.
      properties:
        edges:
          description: "Each edge contains information about the member that belongs to this group. Note: Fields returned here will help identify the specific Membership resource (e.g name, preferred_member_key and role), but may not be a comprehensive list of all fields."
          items:
            $ref: "#/components/schemas/Membership"
          type: array
        group:
          description: Resource name of the group that the members belong to.
          type: string
      type: object
    MembershipRelation:
      description: Message containing membership relation.
      properties:
        description:
          description: An extended description to help users determine the purpose of a `Group`.
          type: string
        displayName:
          description: The display name of the `Group`.
          type: string
        group:
          description: The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Group`. Shall be of the form `groups/{group_id}`.
          type: string
        groupKey:
          $ref: "#/components/schemas/EntityKey"
          description: The `EntityKey` of the `Group`.
        labels:
          additionalProperties:
            type: string
          description: One or more label entries that apply to the Group. Currently supported labels contain a key with an empty value.
          type: object
        membership:
          description: The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership`. Shall be of the form `groups/{group_id}/memberships/{membership_id}`.
          type: string
        roles:
          description: The `MembershipRole`s that apply to the `Membership`.
          items:
            $ref: "#/components/schemas/MembershipRole"
          type: array
      type: object
    MembershipRole:
      description: A membership role within the Cloud Identity Groups API. A `MembershipRole` defines the privileges granted to a `Membership`.
      properties:
        expiryDetail:
          $ref: "#/components/schemas/ExpiryDetail"
          description: The expiry details of the `MembershipRole`. Expiry details are only supported for `MEMBER` `MembershipRoles`. May be set if `name` is `MEMBER`. Must not be set if `name` is any other value.
        name:
          description: The name of the `MembershipRole`. Must be one of `OWNER`, `MANAGER`, `MEMBER`.
          type: string
        restrictionEvaluations:
          $ref: "#/components/schemas/RestrictionEvaluations"
          description: Evaluations of restrictions applied to parent group on this membership.
      type: object
    MembershipRoleRestrictionEvaluation:
      description: The evaluated state of this restriction.
      properties:
        state:
          description: Output only. The current state of the restriction
          enum:
            - STATE_UNSPECIFIED
            - COMPLIANT
            - FORWARD_COMPLIANT
            - NON_COMPLIANT
            - EVALUATING
          readOnly: true
          type: string
      type: object
    ModifyMembershipRolesRequest:
      description: The request message for MembershipsService.ModifyMembershipRoles.
      properties:
        addRoles:
          description: The `MembershipRole`s to be added. Adding or removing roles in the same request as updating roles is not supported. Must not be set if `update_roles_params` is set.
          items:
            $ref: "#/components/schemas/MembershipRole"
          type: array
        removeRoles:
          description: The `name`s of the `MembershipRole`s to be removed. Adding or removing roles in the same request as updating roles is not supported. It is not possible to remove the `MEMBER` `MembershipRole`. If you wish to delete a `Membership`, call MembershipsService.DeleteMembership instead. Must not contain `MEMBER`. Must not be set if `update_roles_params` is set.
          items:
            type: string
          type: array
        updateRolesParams:
          description: The `MembershipRole`s to be updated. Updating roles in the same request as adding or removing roles is not supported. Must not be set if either `add_roles` or `remove_roles` is set.
          items:
            $ref: "#/components/schemas/UpdateMembershipRolesParams"
          type: array
      type: object
    ModifyMembershipRolesResponse:
      description: The response message for MembershipsService.ModifyMembershipRoles.
      properties:
        membership:
          $ref: "#/components/schemas/Membership"
          description: The `Membership` resource after modifying its `MembershipRole`s.
      type: object
    Operation:
      description: This resource represents a long-running operation that is the result of a network API call.
      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: "#/components/schemas/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.
          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.
          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
    RestrictionEvaluation:
      description: The evaluated state of this restriction.
      properties:
        state:
          description: Output only. The current state of the restriction
          enum:
            - STATE_UNSPECIFIED
            - EVALUATING
            - COMPLIANT
            - FORWARD_COMPLIANT
            - NON_COMPLIANT
          readOnly: true
          type: string
      type: object
    RestrictionEvaluations:
      description: Evaluations of restrictions applied to parent group on this membership.
      properties:
        memberRestrictionEvaluation:
          $ref: "#/components/schemas/MembershipRoleRestrictionEvaluation"
          description: Evaluation of the member restriction applied to this membership. Empty if the user lacks permission to view the restriction evaluation.
      type: object
    RsaPublicKeyInfo:
      description: Information of a RSA public key.
      properties:
        keySize:
          description: Key size in bits (size of the modulus).
          format: int32
          type: integer
      type: object
    SamlIdpConfig:
      description: SAML IDP (identity provider) configuration.
      properties:
        changePasswordUri:
          description: The **Change Password URL** of the identity provider. Users will be sent to this URL when changing their passwords at `myaccount.google.com`. This takes precedence over the change password URL configured at customer-level. Must use `HTTPS`.
          type: string
        entityId:
          description: Required. The SAML **Entity ID** of the identity provider.
          type: string
        logoutRedirectUri:
          description: The **Logout Redirect URL** (sign-out page URL) of the identity provider. When a user clicks the sign-out link on a Google page, they will be redirected to this URL. This is a pure redirect with no attached SAML `LogoutRequest` i.e. SAML single logout is not supported. Must use `HTTPS`.
          type: string
        singleSignOnServiceUri:
          description: Required. The `SingleSignOnService` endpoint location (sign-in page URL) of the identity provider. This is the URL where the `AuthnRequest` will be sent. Must use `HTTPS`. Assumed to accept the `HTTP-Redirect` binding.
          type: string
      type: object
    SamlSpConfig:
      description: SAML SP (service provider) configuration.
      properties:
        assertionConsumerServiceUri:
          description: Output only. The SAML **Assertion Consumer Service (ACS) URL** to be used for the IDP-initiated login. Assumed to accept response messages via the `HTTP-POST` binding.
          readOnly: true
          type: string
        entityId:
          description: Output only. The SAML **Entity ID** for this service provider.
          readOnly: true
          type: string
      type: object
    SamlSsoInfo:
      description: Details that are applicable when `sso_mode` == `SAML_SSO`.
      properties:
        inboundSamlSsoProfile:
          description: "Required. Name of the `InboundSamlSsoProfile` to use. Must be of the form `inboundSamlSsoProfiles/{inbound_saml_sso_profile}`. "
          type: string
      type: object
    SearchDirectGroupsResponse:
      description: The response message for MembershipsService.SearchDirectGroups.
      properties:
        memberships:
          description: List of direct groups satisfying the query.
          items:
            $ref: "#/components/schemas/MembershipRelation"
          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
    SearchGroupsResponse:
      description: The response message for GroupsService.SearchGroups.
      properties:
        groups:
          description: The `Group` resources that match the search query.
          items:
            $ref: "#/components/schemas/Group"
          type: array
        nextPageToken:
          description: A continuation token to retrieve the next page of results, or empty if there are no more results available.
          type: string
      type: object
    SearchTransitiveGroupsResponse:
      description: The response message for MembershipsService.SearchTransitiveGroups.
      properties:
        memberships:
          description: List of transitive groups satisfying the query.
          items:
            $ref: "#/components/schemas/GroupRelation"
          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
    SearchTransitiveMembershipsResponse:
      description: The response message for MembershipsService.SearchTransitiveMemberships.
      properties:
        memberships:
          description: List of transitive members satisfying the query.
          items:
            $ref: "#/components/schemas/MemberRelation"
          type: array
        nextPageToken:
          description: Token to retrieve the next page of results, or empty if there are no more results.
          type: string
      type: object
    SecuritySettings:
      description: The definition of security settings.
      properties:
        memberRestriction:
          $ref: "#/components/schemas/MemberRestriction"
          description: The Member Restriction value
        name:
          description: Output only. The resource name of the security settings. Shall be of the form `groups/{group_id}/securitySettings`.
          readOnly: true
          type: string
      type: object
    SendUserInvitationRequest:
      description: A request to send email for inviting target user corresponding to the UserInvitation.
      properties: {}
      type: object
    SignInBehavior:
      description: Controls sign-in behavior.
      properties:
        redirectCondition:
          description: When to redirect sign-ins to the IdP.
          enum:
            - REDIRECT_CONDITION_UNSPECIFIED
            - NEVER
          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)."
      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: 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
    TransitiveMembershipRole:
      description: Message representing the role of a TransitiveMembership.
      properties:
        role:
          description: 'TransitiveMembershipRole in string format. Currently supported TransitiveMembershipRoles: `"MEMBER"`, `"OWNER"`, and `"MANAGER"`.'
          type: string
      type: object
    UpdateGroupMetadata:
      description: Metadata for UpdateGroup LRO.
      properties: {}
      type: object
    UpdateInboundSamlSsoProfileOperationMetadata:
      description: LRO response metadata for InboundSamlSsoProfilesService.UpdateInboundSamlSsoProfile.
      properties: {}
      type: object
    UpdateInboundSsoAssignmentOperationMetadata:
      description: LRO response metadata for InboundSsoAssignmentsService.UpdateInboundSsoAssignment.
      properties: {}
      type: object
    UpdateMembershipMetadata:
      description: Metadata for UpdateMembership LRO.
      properties: {}
      type: object
    UpdateMembershipRolesParams:
      description: The details of an update to a `MembershipRole`.
      properties:
        fieldMask:
          description: The fully-qualified names of fields to update. May only contain the field `expiry_detail.expire_time`.
          format: google-fieldmask
          type: string
        membershipRole:
          $ref: "#/components/schemas/MembershipRole"
          description: The `MembershipRole`s to be updated. Only `MEMBER` `MembershipRole` can currently be updated.
      type: object
    UserInvitation:
      description: The `UserInvitation` resource represents an email that can be sent to an unmanaged user account inviting them to join the customer's Google Workspace or Cloud Identity account. An unmanaged account shares an email address domain with the Google Workspace or Cloud Identity account but is not managed by it yet. If the user accepts the `UserInvitation`, the user account will become managed.
      properties:
        mailsSentCount:
          description: Number of invitation emails sent to the user.
          format: int64
          type: string
        name:
          description: Shall be of the form `customers/{customer}/userinvitations/{user_email_address}`.
          type: string
        state:
          description: State of the `UserInvitation`.
          enum:
            - STATE_UNSPECIFIED
            - NOT_YET_SENT
            - INVITED
            - ACCEPTED
            - DECLINED
          type: string
        updateTime:
          description: Time when the `UserInvitation` was last updated.
          format: google-datetime
          type: string
      type: object
  securitySchemes:
    Oauth2:
      description: Oauth 2.0 implicit authentication
      flows:
        implicit:
          authorizationUrl: https://accounts.google.com/o/oauth2/auth
          scopes:
            https://www.googleapis.com/auth/cloud-identity.devices: "Private Service: https://www.googleapis.com/auth/cloud-identity.devices"
            https://www.googleapis.com/auth/cloud-identity.devices.lookup: See your device details
            https://www.googleapis.com/auth/cloud-identity.devices.readonly: "Private Service: https://www.googleapis.com/auth/cloud-identity.devices.readonly"
            https://www.googleapis.com/auth/cloud-identity.groups: 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: See any Cloud Identity Groups that you can access, including group members and their emails
            https://www.googleapis.com/auth/cloud-platform: See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account.
      type: oauth2
    Oauth2c:
      description: Oauth 2.0 authorizationCode authentication
      flows:
        authorizationCode:
          authorizationUrl: https://accounts.google.com/o/oauth2/auth
          scopes:
            https://www.googleapis.com/auth/cloud-identity.devices: "Private Service: https://www.googleapis.com/auth/cloud-identity.devices"
            https://www.googleapis.com/auth/cloud-identity.devices.lookup: See your device details
            https://www.googleapis.com/auth/cloud-identity.devices.readonly: "Private Service: https://www.googleapis.com/auth/cloud-identity.devices.readonly"
            https://www.googleapis.com/auth/cloud-identity.groups: 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: See any Cloud Identity Groups that you can access, including group members and their emails
            https://www.googleapis.com/auth/cloud-platform: See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account.
          tokenUrl: https://accounts.google.com/o/oauth2/token
      type: oauth2
