# Google Vault API . matters . holds

## Instance Methods

Returns the accounts Resource.

Adds accounts to a hold. Returns a list of accounts that have been successfully added. Accounts can be added only to an existing account-based hold.

Close httplib2 connections.

Creates a hold in the specified matter.

Removes the specified hold and releases the accounts or organizational unit covered by the hold. If the data is not preserved by another hold or retention rule, it might be purged.

Gets the specified hold.

Lists the holds in a matter.

Retrieves the next page of results.

Removes the specified accounts from a hold. Returns a list of statuses in the same order as the request.

Updates the scope (organizational unit or accounts) and query parameters of a hold. You cannot add accounts to a hold that covers an organizational unit, nor can you add organizational units to a hold that covers individual accounts. If you try, the unsupported values are ignored.

### Method Details

`addHeldAccounts(matterId, holdId, body=None, x__xgafv=None)`

    Adds accounts to a hold. Returns a list of accounts that have been successfully added. Accounts can be added only to an existing account-based hold.

    Args:
      matterId: string, The matter ID. (required)
      holdId: string, The hold ID. (required)
      body: object, The request body.
        The object takes the form of:

    { # Add a list of accounts to a hold.
      "accountIds": [ # A comma-separated list of the account IDs of the accounts to add to the hold. Specify either **emails** or **account_ids**, but not both.
        "A String",
      ],
      "emails": [ # A comma-separated list of the emails of the accounts to add to the hold. Specify either **emails** or **account_ids**, but not both.
        "A String",
      ],
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Response for batch create held accounts.
      "responses": [ # The list of responses, in the same order as the batch request.
        { # The status of each account creation, and the **HeldAccount**, if successful.
          "account": { # An account covered by a hold. This structure is immutable. It can be an individual account or a Google Group, depending on the service. To work with Vault resources, the account must have the [required Vault privileges] (https://support.google.com/vault/answer/2799699) and access to the matter. To access a matter, the account must have created the matter, have the matter shared with them, or have the **View All Matters** privilege. # Returned when the account was successfully created.
            "accountId": "A String", # The account ID, as provided by the [Admin SDK](https://developers.google.com/admin-sdk/).
            "email": "A String", # The primary email address of the account. If used as an input, this takes precedence over **accountId**.
            "firstName": "A String", # Output only. The first name of the account holder.
            "holdTime": "A String", # Output only. When the account was put on hold.
            "lastName": "A String", # Output only. The last name of the account holder.
          },
          "status": { # 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). # Reports the request status. If it failed, returns an error message.
            "code": 42, # The status code, which should be an enum value of google.rpc.Code.
            "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
              {
                "a_key": "", # Properties of the object. Contains field @type with type URL.
              },
            ],
            "message": "A String", # 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.
          },
        },
      ],
    }

`close()`

    Close httplib2 connections.

`create(matterId, body=None, x__xgafv=None)`

    Creates a hold in the specified matter.

    Args:
      matterId: string, The matter ID. (required)
      body: object, The request body.
        The object takes the form of:

    { # A hold. A hold prevents the specified Google Workspace service from purging data for specific accounts or all members of an organizational unit. To work with Vault resources, the account must have the [required Vault privileges] (https://support.google.com/vault/answer/2799699) and access to the matter. To access a matter, the account must have created the matter, have the matter shared with them, or have the **View All Matters** privilege.
      "accounts": [ # If set, the hold applies to the specified accounts and **orgUnit** must be empty.
        { # An account covered by a hold. This structure is immutable. It can be an individual account or a Google Group, depending on the service. To work with Vault resources, the account must have the [required Vault privileges] (https://support.google.com/vault/answer/2799699) and access to the matter. To access a matter, the account must have created the matter, have the matter shared with them, or have the **View All Matters** privilege.
          "accountId": "A String", # The account ID, as provided by the [Admin SDK](https://developers.google.com/admin-sdk/).
          "email": "A String", # The primary email address of the account. If used as an input, this takes precedence over **accountId**.
          "firstName": "A String", # Output only. The first name of the account holder.
          "holdTime": "A String", # Output only. When the account was put on hold.
          "lastName": "A String", # Output only. The last name of the account holder.
        },
      ],
      "corpus": "A String", # The service to be searched.
      "holdId": "A String", # The unique immutable ID of the hold. Assigned during creation.
      "name": "A String", # The name of the hold.
      "orgUnit": { # The organizational unit covered by a hold. This structure is immutable. # If set, the hold applies to all members of the organizational unit and **accounts** must be empty. This property is mutable. For Groups holds, set **accounts**.
        "holdTime": "A String", # When the organizational unit was put on hold. This property is immutable.
        "orgUnitId": "A String", # The organizational unit's immutable ID as provided by the [Admin SDK](https://developers.google.com/admin-sdk/).
      },
      "query": { # Service-specific options for holds. # Service-specific options. If set, **CorpusQuery** must match **CorpusType**.
        "driveQuery": { # Options for Drive holds. # Service-specific options for Drive holds. If set, **CorpusType** must be **DRIVE**.
          "includeSharedDriveFiles": True or False, # To include files in shared drives in the hold, set to **true**.
          "includeTeamDriveFiles": True or False, # To include files in Team Drives in the hold, set to **true**.
        },
        "groupsQuery": { # Query options for group holds. # Service-specific options for Groups holds. If set, **CorpusType** must be **GROUPS**.
          "endTime": "A String", # The end time for the query. Specify in GMT. The value is rounded to 12 AM on the specified date.
          "startTime": "A String", # The start time for the query. Specify in GMT. The value is rounded to 12 AM on the specified date.
          "terms": "A String", # The [search operators](https://support.google.com/vault/answer/2474474) used to refine the messages covered by the hold.
        },
        "hangoutsChatQuery": { # Options for Chat holds. # Service-specific options for Chat holds. If set, **CorpusType** must be **HANGOUTS_CHAT**.
          "includeRooms": True or False, # To include messages in Chat spaces the user was a member of, set to **true**.
        },
        "mailQuery": { # Query options for Gmail holds. # Service-specific options for Gmail holds. If set, **CorpusType** must be **MAIL**.
          "endTime": "A String", # The end time for the query. Specify in GMT. The value is rounded to 12 AM on the specified date.
          "startTime": "A String", # The start time for the query. Specify in GMT. The value is rounded to 12 AM on the specified date.
          "terms": "A String", # The [search operators](https://support.google.com/vault/answer/2474474) used to refine the messages covered by the hold.
        },
        "voiceQuery": { # Options for Voice holds. # Service-specific options for Voice holds. If set, **CorpusType** must be **VOICE**.
          "coveredData": [ # A list of data types covered by the hold. Should be non-empty. Order does not matter and duplicates are ignored.
            "A String",
          ],
        },
      },
      "updateTime": "A String", # The last time this hold was modified.
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A hold. A hold prevents the specified Google Workspace service from purging data for specific accounts or all members of an organizational unit. To work with Vault resources, the account must have the [required Vault privileges] (https://support.google.com/vault/answer/2799699) and access to the matter. To access a matter, the account must have created the matter, have the matter shared with them, or have the **View All Matters** privilege.
      "accounts": [ # If set, the hold applies to the specified accounts and **orgUnit** must be empty.
        { # An account covered by a hold. This structure is immutable. It can be an individual account or a Google Group, depending on the service. To work with Vault resources, the account must have the [required Vault privileges] (https://support.google.com/vault/answer/2799699) and access to the matter. To access a matter, the account must have created the matter, have the matter shared with them, or have the **View All Matters** privilege.
          "accountId": "A String", # The account ID, as provided by the [Admin SDK](https://developers.google.com/admin-sdk/).
          "email": "A String", # The primary email address of the account. If used as an input, this takes precedence over **accountId**.
          "firstName": "A String", # Output only. The first name of the account holder.
          "holdTime": "A String", # Output only. When the account was put on hold.
          "lastName": "A String", # Output only. The last name of the account holder.
        },
      ],
      "corpus": "A String", # The service to be searched.
      "holdId": "A String", # The unique immutable ID of the hold. Assigned during creation.
      "name": "A String", # The name of the hold.
      "orgUnit": { # The organizational unit covered by a hold. This structure is immutable. # If set, the hold applies to all members of the organizational unit and **accounts** must be empty. This property is mutable. For Groups holds, set **accounts**.
        "holdTime": "A String", # When the organizational unit was put on hold. This property is immutable.
        "orgUnitId": "A String", # The organizational unit's immutable ID as provided by the [Admin SDK](https://developers.google.com/admin-sdk/).
      },
      "query": { # Service-specific options for holds. # Service-specific options. If set, **CorpusQuery** must match **CorpusType**.
        "driveQuery": { # Options for Drive holds. # Service-specific options for Drive holds. If set, **CorpusType** must be **DRIVE**.
          "includeSharedDriveFiles": True or False, # To include files in shared drives in the hold, set to **true**.
          "includeTeamDriveFiles": True or False, # To include files in Team Drives in the hold, set to **true**.
        },
        "groupsQuery": { # Query options for group holds. # Service-specific options for Groups holds. If set, **CorpusType** must be **GROUPS**.
          "endTime": "A String", # The end time for the query. Specify in GMT. The value is rounded to 12 AM on the specified date.
          "startTime": "A String", # The start time for the query. Specify in GMT. The value is rounded to 12 AM on the specified date.
          "terms": "A String", # The [search operators](https://support.google.com/vault/answer/2474474) used to refine the messages covered by the hold.
        },
        "hangoutsChatQuery": { # Options for Chat holds. # Service-specific options for Chat holds. If set, **CorpusType** must be **HANGOUTS_CHAT**.
          "includeRooms": True or False, # To include messages in Chat spaces the user was a member of, set to **true**.
        },
        "mailQuery": { # Query options for Gmail holds. # Service-specific options for Gmail holds. If set, **CorpusType** must be **MAIL**.
          "endTime": "A String", # The end time for the query. Specify in GMT. The value is rounded to 12 AM on the specified date.
          "startTime": "A String", # The start time for the query. Specify in GMT. The value is rounded to 12 AM on the specified date.
          "terms": "A String", # The [search operators](https://support.google.com/vault/answer/2474474) used to refine the messages covered by the hold.
        },
        "voiceQuery": { # Options for Voice holds. # Service-specific options for Voice holds. If set, **CorpusType** must be **VOICE**.
          "coveredData": [ # A list of data types covered by the hold. Should be non-empty. Order does not matter and duplicates are ignored.
            "A String",
          ],
        },
      },
      "updateTime": "A String", # The last time this hold was modified.
    }

`delete(matterId, holdId, x__xgafv=None)`

    Removes the specified hold and releases the accounts or organizational unit covered by the hold. If the data is not preserved by another hold or retention rule, it might be purged.

    Args:
      matterId: string, The matter ID. (required)
      holdId: string, The hold ID. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
    }

`get(matterId, holdId, view=None, x__xgafv=None)`

    Gets the specified hold.

    Args:
      matterId: string, The matter ID. (required)
      holdId: string, The hold ID. (required)
      view: string, The amount of detail to return for a hold.
        Allowed values
          HOLD_VIEW_UNSPECIFIED - Not specified. Defaults to **FULL_HOLD**.
          BASIC_HOLD - Returns the hold ID, name, update time, service, and query.
          FULL_HOLD - Returns all details of **BASIC_HOLD** and the entities the hold applies to, such as accounts or organizational unit.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A hold. A hold prevents the specified Google Workspace service from purging data for specific accounts or all members of an organizational unit. To work with Vault resources, the account must have the [required Vault privileges] (https://support.google.com/vault/answer/2799699) and access to the matter. To access a matter, the account must have created the matter, have the matter shared with them, or have the **View All Matters** privilege.
      "accounts": [ # If set, the hold applies to the specified accounts and **orgUnit** must be empty.
        { # An account covered by a hold. This structure is immutable. It can be an individual account or a Google Group, depending on the service. To work with Vault resources, the account must have the [required Vault privileges] (https://support.google.com/vault/answer/2799699) and access to the matter. To access a matter, the account must have created the matter, have the matter shared with them, or have the **View All Matters** privilege.
          "accountId": "A String", # The account ID, as provided by the [Admin SDK](https://developers.google.com/admin-sdk/).
          "email": "A String", # The primary email address of the account. If used as an input, this takes precedence over **accountId**.
          "firstName": "A String", # Output only. The first name of the account holder.
          "holdTime": "A String", # Output only. When the account was put on hold.
          "lastName": "A String", # Output only. The last name of the account holder.
        },
      ],
      "corpus": "A String", # The service to be searched.
      "holdId": "A String", # The unique immutable ID of the hold. Assigned during creation.
      "name": "A String", # The name of the hold.
      "orgUnit": { # The organizational unit covered by a hold. This structure is immutable. # If set, the hold applies to all members of the organizational unit and **accounts** must be empty. This property is mutable. For Groups holds, set **accounts**.
        "holdTime": "A String", # When the organizational unit was put on hold. This property is immutable.
        "orgUnitId": "A String", # The organizational unit's immutable ID as provided by the [Admin SDK](https://developers.google.com/admin-sdk/).
      },
      "query": { # Service-specific options for holds. # Service-specific options. If set, **CorpusQuery** must match **CorpusType**.
        "driveQuery": { # Options for Drive holds. # Service-specific options for Drive holds. If set, **CorpusType** must be **DRIVE**.
          "includeSharedDriveFiles": True or False, # To include files in shared drives in the hold, set to **true**.
          "includeTeamDriveFiles": True or False, # To include files in Team Drives in the hold, set to **true**.
        },
        "groupsQuery": { # Query options for group holds. # Service-specific options for Groups holds. If set, **CorpusType** must be **GROUPS**.
          "endTime": "A String", # The end time for the query. Specify in GMT. The value is rounded to 12 AM on the specified date.
          "startTime": "A String", # The start time for the query. Specify in GMT. The value is rounded to 12 AM on the specified date.
          "terms": "A String", # The [search operators](https://support.google.com/vault/answer/2474474) used to refine the messages covered by the hold.
        },
        "hangoutsChatQuery": { # Options for Chat holds. # Service-specific options for Chat holds. If set, **CorpusType** must be **HANGOUTS_CHAT**.
          "includeRooms": True or False, # To include messages in Chat spaces the user was a member of, set to **true**.
        },
        "mailQuery": { # Query options for Gmail holds. # Service-specific options for Gmail holds. If set, **CorpusType** must be **MAIL**.
          "endTime": "A String", # The end time for the query. Specify in GMT. The value is rounded to 12 AM on the specified date.
          "startTime": "A String", # The start time for the query. Specify in GMT. The value is rounded to 12 AM on the specified date.
          "terms": "A String", # The [search operators](https://support.google.com/vault/answer/2474474) used to refine the messages covered by the hold.
        },
        "voiceQuery": { # Options for Voice holds. # Service-specific options for Voice holds. If set, **CorpusType** must be **VOICE**.
          "coveredData": [ # A list of data types covered by the hold. Should be non-empty. Order does not matter and duplicates are ignored.
            "A String",
          ],
        },
      },
      "updateTime": "A String", # The last time this hold was modified.
    }

`list(matterId, pageSize=None, pageToken=None, view=None, x__xgafv=None)`

    Lists the holds in a matter.

    Args:
      matterId: string, The matter ID. (required)
      pageSize: integer, The number of holds to return in the response, between 0 and 100 inclusive. Leaving this empty, or as 0, is the same as **page_size** = 100.
      pageToken: string, The pagination token as returned in the response. An empty token means start from the beginning.
      view: string, The amount of detail to return for a hold.
        Allowed values
          HOLD_VIEW_UNSPECIFIED - Not specified. Defaults to **FULL_HOLD**.
          BASIC_HOLD - Returns the hold ID, name, update time, service, and query.
          FULL_HOLD - Returns all details of **BASIC_HOLD** and the entities the hold applies to, such as accounts or organizational unit.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # The holds for a matter.
      "holds": [ # The list of holds.
        { # A hold. A hold prevents the specified Google Workspace service from purging data for specific accounts or all members of an organizational unit. To work with Vault resources, the account must have the [required Vault privileges] (https://support.google.com/vault/answer/2799699) and access to the matter. To access a matter, the account must have created the matter, have the matter shared with them, or have the **View All Matters** privilege.
          "accounts": [ # If set, the hold applies to the specified accounts and **orgUnit** must be empty.
            { # An account covered by a hold. This structure is immutable. It can be an individual account or a Google Group, depending on the service. To work with Vault resources, the account must have the [required Vault privileges] (https://support.google.com/vault/answer/2799699) and access to the matter. To access a matter, the account must have created the matter, have the matter shared with them, or have the **View All Matters** privilege.
              "accountId": "A String", # The account ID, as provided by the [Admin SDK](https://developers.google.com/admin-sdk/).
              "email": "A String", # The primary email address of the account. If used as an input, this takes precedence over **accountId**.
              "firstName": "A String", # Output only. The first name of the account holder.
              "holdTime": "A String", # Output only. When the account was put on hold.
              "lastName": "A String", # Output only. The last name of the account holder.
            },
          ],
          "corpus": "A String", # The service to be searched.
          "holdId": "A String", # The unique immutable ID of the hold. Assigned during creation.
          "name": "A String", # The name of the hold.
          "orgUnit": { # The organizational unit covered by a hold. This structure is immutable. # If set, the hold applies to all members of the organizational unit and **accounts** must be empty. This property is mutable. For Groups holds, set **accounts**.
            "holdTime": "A String", # When the organizational unit was put on hold. This property is immutable.
            "orgUnitId": "A String", # The organizational unit's immutable ID as provided by the [Admin SDK](https://developers.google.com/admin-sdk/).
          },
          "query": { # Service-specific options for holds. # Service-specific options. If set, **CorpusQuery** must match **CorpusType**.
            "driveQuery": { # Options for Drive holds. # Service-specific options for Drive holds. If set, **CorpusType** must be **DRIVE**.
              "includeSharedDriveFiles": True or False, # To include files in shared drives in the hold, set to **true**.
              "includeTeamDriveFiles": True or False, # To include files in Team Drives in the hold, set to **true**.
            },
            "groupsQuery": { # Query options for group holds. # Service-specific options for Groups holds. If set, **CorpusType** must be **GROUPS**.
              "endTime": "A String", # The end time for the query. Specify in GMT. The value is rounded to 12 AM on the specified date.
              "startTime": "A String", # The start time for the query. Specify in GMT. The value is rounded to 12 AM on the specified date.
              "terms": "A String", # The [search operators](https://support.google.com/vault/answer/2474474) used to refine the messages covered by the hold.
            },
            "hangoutsChatQuery": { # Options for Chat holds. # Service-specific options for Chat holds. If set, **CorpusType** must be **HANGOUTS_CHAT**.
              "includeRooms": True or False, # To include messages in Chat spaces the user was a member of, set to **true**.
            },
            "mailQuery": { # Query options for Gmail holds. # Service-specific options for Gmail holds. If set, **CorpusType** must be **MAIL**.
              "endTime": "A String", # The end time for the query. Specify in GMT. The value is rounded to 12 AM on the specified date.
              "startTime": "A String", # The start time for the query. Specify in GMT. The value is rounded to 12 AM on the specified date.
              "terms": "A String", # The [search operators](https://support.google.com/vault/answer/2474474) used to refine the messages covered by the hold.
            },
            "voiceQuery": { # Options for Voice holds. # Service-specific options for Voice holds. If set, **CorpusType** must be **VOICE**.
              "coveredData": [ # A list of data types covered by the hold. Should be non-empty. Order does not matter and duplicates are ignored.
                "A String",
              ],
            },
          },
          "updateTime": "A String", # The last time this hold was modified.
        },
      ],
      "nextPageToken": "A String", # Page token to retrieve the next page of results in the list. If this is empty, then there are no more holds to list.
    }

`list_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.

`removeHeldAccounts(matterId, holdId, body=None, x__xgafv=None)`

    Removes the specified accounts from a hold. Returns a list of statuses in the same order as the request.

    Args:
      matterId: string, The matter ID. (required)
      holdId: string, The hold ID. (required)
      body: object, The request body.
        The object takes the form of:

    { # Remove a list of accounts from a hold.
      "accountIds": [ # The account IDs of the accounts to remove from the hold.
        "A String",
      ],
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Response for batch delete held accounts.
      "statuses": [ # A list of statuses for the deleted accounts. Results have the same order as the request.
        { # 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).
          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
          "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
            {
              "a_key": "", # Properties of the object. Contains field @type with type URL.
            },
          ],
          "message": "A String", # 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.
        },
      ],
    }

`update(matterId, holdId, body=None, x__xgafv=None)`

    Updates the scope (organizational unit or accounts) and query parameters of a hold. You cannot add accounts to a hold that covers an organizational unit, nor can you add organizational units to a hold that covers individual accounts. If you try, the unsupported values are ignored.

    Args:
      matterId: string, The matter ID. (required)
      holdId: string, The ID of the hold. (required)
      body: object, The request body.
        The object takes the form of:

    { # A hold. A hold prevents the specified Google Workspace service from purging data for specific accounts or all members of an organizational unit. To work with Vault resources, the account must have the [required Vault privileges] (https://support.google.com/vault/answer/2799699) and access to the matter. To access a matter, the account must have created the matter, have the matter shared with them, or have the **View All Matters** privilege.
      "accounts": [ # If set, the hold applies to the specified accounts and **orgUnit** must be empty.
        { # An account covered by a hold. This structure is immutable. It can be an individual account or a Google Group, depending on the service. To work with Vault resources, the account must have the [required Vault privileges] (https://support.google.com/vault/answer/2799699) and access to the matter. To access a matter, the account must have created the matter, have the matter shared with them, or have the **View All Matters** privilege.
          "accountId": "A String", # The account ID, as provided by the [Admin SDK](https://developers.google.com/admin-sdk/).
          "email": "A String", # The primary email address of the account. If used as an input, this takes precedence over **accountId**.
          "firstName": "A String", # Output only. The first name of the account holder.
          "holdTime": "A String", # Output only. When the account was put on hold.
          "lastName": "A String", # Output only. The last name of the account holder.
        },
      ],
      "corpus": "A String", # The service to be searched.
      "holdId": "A String", # The unique immutable ID of the hold. Assigned during creation.
      "name": "A String", # The name of the hold.
      "orgUnit": { # The organizational unit covered by a hold. This structure is immutable. # If set, the hold applies to all members of the organizational unit and **accounts** must be empty. This property is mutable. For Groups holds, set **accounts**.
        "holdTime": "A String", # When the organizational unit was put on hold. This property is immutable.
        "orgUnitId": "A String", # The organizational unit's immutable ID as provided by the [Admin SDK](https://developers.google.com/admin-sdk/).
      },
      "query": { # Service-specific options for holds. # Service-specific options. If set, **CorpusQuery** must match **CorpusType**.
        "driveQuery": { # Options for Drive holds. # Service-specific options for Drive holds. If set, **CorpusType** must be **DRIVE**.
          "includeSharedDriveFiles": True or False, # To include files in shared drives in the hold, set to **true**.
          "includeTeamDriveFiles": True or False, # To include files in Team Drives in the hold, set to **true**.
        },
        "groupsQuery": { # Query options for group holds. # Service-specific options for Groups holds. If set, **CorpusType** must be **GROUPS**.
          "endTime": "A String", # The end time for the query. Specify in GMT. The value is rounded to 12 AM on the specified date.
          "startTime": "A String", # The start time for the query. Specify in GMT. The value is rounded to 12 AM on the specified date.
          "terms": "A String", # The [search operators](https://support.google.com/vault/answer/2474474) used to refine the messages covered by the hold.
        },
        "hangoutsChatQuery": { # Options for Chat holds. # Service-specific options for Chat holds. If set, **CorpusType** must be **HANGOUTS_CHAT**.
          "includeRooms": True or False, # To include messages in Chat spaces the user was a member of, set to **true**.
        },
        "mailQuery": { # Query options for Gmail holds. # Service-specific options for Gmail holds. If set, **CorpusType** must be **MAIL**.
          "endTime": "A String", # The end time for the query. Specify in GMT. The value is rounded to 12 AM on the specified date.
          "startTime": "A String", # The start time for the query. Specify in GMT. The value is rounded to 12 AM on the specified date.
          "terms": "A String", # The [search operators](https://support.google.com/vault/answer/2474474) used to refine the messages covered by the hold.
        },
        "voiceQuery": { # Options for Voice holds. # Service-specific options for Voice holds. If set, **CorpusType** must be **VOICE**.
          "coveredData": [ # A list of data types covered by the hold. Should be non-empty. Order does not matter and duplicates are ignored.
            "A String",
          ],
        },
      },
      "updateTime": "A String", # The last time this hold was modified.
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A hold. A hold prevents the specified Google Workspace service from purging data for specific accounts or all members of an organizational unit. To work with Vault resources, the account must have the [required Vault privileges] (https://support.google.com/vault/answer/2799699) and access to the matter. To access a matter, the account must have created the matter, have the matter shared with them, or have the **View All Matters** privilege.
      "accounts": [ # If set, the hold applies to the specified accounts and **orgUnit** must be empty.
        { # An account covered by a hold. This structure is immutable. It can be an individual account or a Google Group, depending on the service. To work with Vault resources, the account must have the [required Vault privileges] (https://support.google.com/vault/answer/2799699) and access to the matter. To access a matter, the account must have created the matter, have the matter shared with them, or have the **View All Matters** privilege.
          "accountId": "A String", # The account ID, as provided by the [Admin SDK](https://developers.google.com/admin-sdk/).
          "email": "A String", # The primary email address of the account. If used as an input, this takes precedence over **accountId**.
          "firstName": "A String", # Output only. The first name of the account holder.
          "holdTime": "A String", # Output only. When the account was put on hold.
          "lastName": "A String", # Output only. The last name of the account holder.
        },
      ],
      "corpus": "A String", # The service to be searched.
      "holdId": "A String", # The unique immutable ID of the hold. Assigned during creation.
      "name": "A String", # The name of the hold.
      "orgUnit": { # The organizational unit covered by a hold. This structure is immutable. # If set, the hold applies to all members of the organizational unit and **accounts** must be empty. This property is mutable. For Groups holds, set **accounts**.
        "holdTime": "A String", # When the organizational unit was put on hold. This property is immutable.
        "orgUnitId": "A String", # The organizational unit's immutable ID as provided by the [Admin SDK](https://developers.google.com/admin-sdk/).
      },
      "query": { # Service-specific options for holds. # Service-specific options. If set, **CorpusQuery** must match **CorpusType**.
        "driveQuery": { # Options for Drive holds. # Service-specific options for Drive holds. If set, **CorpusType** must be **DRIVE**.
          "includeSharedDriveFiles": True or False, # To include files in shared drives in the hold, set to **true**.
          "includeTeamDriveFiles": True or False, # To include files in Team Drives in the hold, set to **true**.
        },
        "groupsQuery": { # Query options for group holds. # Service-specific options for Groups holds. If set, **CorpusType** must be **GROUPS**.
          "endTime": "A String", # The end time for the query. Specify in GMT. The value is rounded to 12 AM on the specified date.
          "startTime": "A String", # The start time for the query. Specify in GMT. The value is rounded to 12 AM on the specified date.
          "terms": "A String", # The [search operators](https://support.google.com/vault/answer/2474474) used to refine the messages covered by the hold.
        },
        "hangoutsChatQuery": { # Options for Chat holds. # Service-specific options for Chat holds. If set, **CorpusType** must be **HANGOUTS_CHAT**.
          "includeRooms": True or False, # To include messages in Chat spaces the user was a member of, set to **true**.
        },
        "mailQuery": { # Query options for Gmail holds. # Service-specific options for Gmail holds. If set, **CorpusType** must be **MAIL**.
          "endTime": "A String", # The end time for the query. Specify in GMT. The value is rounded to 12 AM on the specified date.
          "startTime": "A String", # The start time for the query. Specify in GMT. The value is rounded to 12 AM on the specified date.
          "terms": "A String", # The [search operators](https://support.google.com/vault/answer/2474474) used to refine the messages covered by the hold.
        },
        "voiceQuery": { # Options for Voice holds. # Service-specific options for Voice holds. If set, **CorpusType** must be **VOICE**.
          "coveredData": [ # A list of data types covered by the hold. Should be non-empty. Order does not matter and duplicates are ignored.
            "A String",
          ],
        },
      },
      "updateTime": "A String", # The last time this hold was modified.
    }