# G Suite Vault API . matters . holds

## Instance Methods

Returns the accounts Resource.

Adds HeldAccounts to a hold. Returns a list of accounts that have been

Creates a hold in the given matter.

Removes a hold by ID. This will release any HeldAccounts on this Hold.

Gets a hold by ID.

Lists holds within a matter. An empty page token in ListHoldsResponse

Retrieves the next page of results.

Removes HeldAccounts from a hold. Returns a list of statuses in the same

Updates the OU and/or query parameters of a hold. You cannot add accounts

### Method Details

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

    Adds HeldAccounts to a hold. Returns a list of accounts that have been
    successfully added. Accounts can only be added 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.
        "emails": [ # Emails to identify which accounts to add. Only emails or only account_ids
            # should be specified, but not both.
          "A String",
        ],
        "accountIds": [ # Account IDs to identify which accounts to add. Only account_ids or only
            # emails should be specified, 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.
          { # A status detailing the status of each account creation, and the
              # HeldAccount, if successful.
            "account": { # An account being held in a particular hold. This structure is immutable. # If present, this account was successfully created.
                # This can be either a single user or a google group, depending on the corpus.
              "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.
              "email": "A String", # The primary email address of the account. If used as an input, this takes
                  # precedence over account ID.
              "accountId": "A String", # The account's ID as provided by the
                  # <a href="https://developers.google.com/admin-sdk/">Admin SDK</a>.
            },
            "status": { # The `Status` type defines a logical error model that is suitable for # This represents the success status. If failed, check message.
                # 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).
              "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.
                },
              ],
              "code": 42, # The status code, which should be an enum value of google.rpc.Code.
              "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.
            },
          },
        ],
      }

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

    Creates a hold in the given matter.

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

    { # Represents a hold within Vault. A hold restricts purging of
          # artifacts based on the combination of the query and accounts restrictions.
          # A hold can be configured to either apply to an explicitly configured set
          # of accounts, or can be applied to all members of an organizational unit.
        "orgUnit": { # A organizational unit being held in a particular hold. # 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 the accounts field.
            # This structure is immutable.
          "orgUnitId": "A String", # The org unit's immutable ID as provided by the Admin SDK.
          "holdTime": "A String", # When the org unit was put on hold. This property is immutable.
        },
        "query": { # Corpus specific queries. # The corpus-specific query. If set, the corpusQuery must match corpus
            # type.
          "driveQuery": { # Query options for Drive holds. # Details pertaining to Drive holds. If set, corpus must be Drive.
            "includeTeamDriveFiles": True or False, # If true, include files in Team Drives in the hold.
            "includeSharedDriveFiles": True or False, # If true, include files in shared drives in the hold.
          },
          "mailQuery": { # Query options for mail holds. # Details pertaining to mail holds. If set, corpus must be mail.
            "startTime": "A String", # The start time range for the search query. These timestamps are in GMT and
                # rounded down to the start of the given date.
            "terms": "A String", # The search terms for the hold.
            "endTime": "A String", # The end time range for the search query. These timestamps are in GMT and
                # rounded down to the start of the given date.
          },
          "groupsQuery": { # Query options for group holds. # Details pertaining to Groups holds. If set, corpus must be Groups.
            "endTime": "A String", # The end time range for the search query. These timestamps are in GMT and
                # rounded down to the start of the given date.
            "startTime": "A String", # The start time range for the search query. These timestamps are in GMT and
                # rounded down to the start of the given date.
            "terms": "A String", # The search terms for the hold.
          },
          "hangoutsChatQuery": { # Query options for hangouts chat holds. # Details pertaining to Hangouts Chat holds. If set, corpus must be
              # Hangouts Chat.
            "includeRooms": True or False, # If true, include rooms the user has participated in.
          },
        },
        "corpus": "A String", # The corpus to be searched.
        "updateTime": "A String", # The last time this hold was modified.
        "holdId": "A String", # The unique immutable ID of the hold. Assigned during creation.
        "name": "A String", # The name of the hold.
        "accounts": [ # If set, the hold applies to the enumerated accounts and org_unit must be
            # empty.
          { # An account being held in a particular hold. This structure is immutable.
              # This can be either a single user or a google group, depending on the corpus.
            "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.
            "email": "A String", # The primary email address of the account. If used as an input, this takes
                # precedence over account ID.
            "accountId": "A String", # The account's ID as provided by the
                # <a href="https://developers.google.com/admin-sdk/">Admin SDK</a>.
          },
        ],
      }

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

    Returns:
      An object of the form:

        { # Represents a hold within Vault. A hold restricts purging of
            # artifacts based on the combination of the query and accounts restrictions.
            # A hold can be configured to either apply to an explicitly configured set
            # of accounts, or can be applied to all members of an organizational unit.
          "orgUnit": { # A organizational unit being held in a particular hold. # 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 the accounts field.
              # This structure is immutable.
            "orgUnitId": "A String", # The org unit's immutable ID as provided by the Admin SDK.
            "holdTime": "A String", # When the org unit was put on hold. This property is immutable.
          },
          "query": { # Corpus specific queries. # The corpus-specific query. If set, the corpusQuery must match corpus
              # type.
            "driveQuery": { # Query options for Drive holds. # Details pertaining to Drive holds. If set, corpus must be Drive.
              "includeTeamDriveFiles": True or False, # If true, include files in Team Drives in the hold.
              "includeSharedDriveFiles": True or False, # If true, include files in shared drives in the hold.
            },
            "mailQuery": { # Query options for mail holds. # Details pertaining to mail holds. If set, corpus must be mail.
              "startTime": "A String", # The start time range for the search query. These timestamps are in GMT and
                  # rounded down to the start of the given date.
              "terms": "A String", # The search terms for the hold.
              "endTime": "A String", # The end time range for the search query. These timestamps are in GMT and
                  # rounded down to the start of the given date.
            },
            "groupsQuery": { # Query options for group holds. # Details pertaining to Groups holds. If set, corpus must be Groups.
              "endTime": "A String", # The end time range for the search query. These timestamps are in GMT and
                  # rounded down to the start of the given date.
              "startTime": "A String", # The start time range for the search query. These timestamps are in GMT and
                  # rounded down to the start of the given date.
              "terms": "A String", # The search terms for the hold.
            },
            "hangoutsChatQuery": { # Query options for hangouts chat holds. # Details pertaining to Hangouts Chat holds. If set, corpus must be
                # Hangouts Chat.
              "includeRooms": True or False, # If true, include rooms the user has participated in.
            },
          },
          "corpus": "A String", # The corpus to be searched.
          "updateTime": "A String", # The last time this hold was modified.
          "holdId": "A String", # The unique immutable ID of the hold. Assigned during creation.
          "name": "A String", # The name of the hold.
          "accounts": [ # If set, the hold applies to the enumerated accounts and org_unit must be
              # empty.
            { # An account being held in a particular hold. This structure is immutable.
                # This can be either a single user or a google group, depending on the corpus.
              "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.
              "email": "A String", # The primary email address of the account. If used as an input, this takes
                  # precedence over account ID.
              "accountId": "A String", # The account's ID as provided by the
                  # <a href="https://developers.google.com/admin-sdk/">Admin SDK</a>.
            },
          ],
        }

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

    Removes a hold by ID. This will release any HeldAccounts on this Hold.

    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);
          #     }
          #
          # The JSON representation for `Empty` is empty JSON object `{}`.
      }

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

    Gets a hold by ID.

    Args:
      matterId: string, The matter ID. (required)
      holdId: string, The hold ID. (required)
      view: string, Specifies which parts of the Hold to return.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Represents a hold within Vault. A hold restricts purging of
            # artifacts based on the combination of the query and accounts restrictions.
            # A hold can be configured to either apply to an explicitly configured set
            # of accounts, or can be applied to all members of an organizational unit.
          "orgUnit": { # A organizational unit being held in a particular hold. # 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 the accounts field.
              # This structure is immutable.
            "orgUnitId": "A String", # The org unit's immutable ID as provided by the Admin SDK.
            "holdTime": "A String", # When the org unit was put on hold. This property is immutable.
          },
          "query": { # Corpus specific queries. # The corpus-specific query. If set, the corpusQuery must match corpus
              # type.
            "driveQuery": { # Query options for Drive holds. # Details pertaining to Drive holds. If set, corpus must be Drive.
              "includeTeamDriveFiles": True or False, # If true, include files in Team Drives in the hold.
              "includeSharedDriveFiles": True or False, # If true, include files in shared drives in the hold.
            },
            "mailQuery": { # Query options for mail holds. # Details pertaining to mail holds. If set, corpus must be mail.
              "startTime": "A String", # The start time range for the search query. These timestamps are in GMT and
                  # rounded down to the start of the given date.
              "terms": "A String", # The search terms for the hold.
              "endTime": "A String", # The end time range for the search query. These timestamps are in GMT and
                  # rounded down to the start of the given date.
            },
            "groupsQuery": { # Query options for group holds. # Details pertaining to Groups holds. If set, corpus must be Groups.
              "endTime": "A String", # The end time range for the search query. These timestamps are in GMT and
                  # rounded down to the start of the given date.
              "startTime": "A String", # The start time range for the search query. These timestamps are in GMT and
                  # rounded down to the start of the given date.
              "terms": "A String", # The search terms for the hold.
            },
            "hangoutsChatQuery": { # Query options for hangouts chat holds. # Details pertaining to Hangouts Chat holds. If set, corpus must be
                # Hangouts Chat.
              "includeRooms": True or False, # If true, include rooms the user has participated in.
            },
          },
          "corpus": "A String", # The corpus to be searched.
          "updateTime": "A String", # The last time this hold was modified.
          "holdId": "A String", # The unique immutable ID of the hold. Assigned during creation.
          "name": "A String", # The name of the hold.
          "accounts": [ # If set, the hold applies to the enumerated accounts and org_unit must be
              # empty.
            { # An account being held in a particular hold. This structure is immutable.
                # This can be either a single user or a google group, depending on the corpus.
              "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.
              "email": "A String", # The primary email address of the account. If used as an input, this takes
                  # precedence over account ID.
              "accountId": "A String", # The account's ID as provided by the
                  # <a href="https://developers.google.com/admin-sdk/">Admin SDK</a>.
            },
          ],
        }

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

    Lists holds within a matter. An empty page token in ListHoldsResponse
    denotes no more holds to list.

    Args:
      matterId: string, The matter ID. (required)
      pageToken: string, The pagination token as returned in the response.
    An empty token means start from the beginning.
      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.
      view: string, Specifies which parts of the Hold to return.
      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.
        "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.
        "holds": [ # The list of holds.
          { # Represents a hold within Vault. A hold restricts purging of
                # artifacts based on the combination of the query and accounts restrictions.
                # A hold can be configured to either apply to an explicitly configured set
                # of accounts, or can be applied to all members of an organizational unit.
              "orgUnit": { # A organizational unit being held in a particular hold. # 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 the accounts field.
                  # This structure is immutable.
                "orgUnitId": "A String", # The org unit's immutable ID as provided by the Admin SDK.
                "holdTime": "A String", # When the org unit was put on hold. This property is immutable.
              },
              "query": { # Corpus specific queries. # The corpus-specific query. If set, the corpusQuery must match corpus
                  # type.
                "driveQuery": { # Query options for Drive holds. # Details pertaining to Drive holds. If set, corpus must be Drive.
                  "includeTeamDriveFiles": True or False, # If true, include files in Team Drives in the hold.
                  "includeSharedDriveFiles": True or False, # If true, include files in shared drives in the hold.
                },
                "mailQuery": { # Query options for mail holds. # Details pertaining to mail holds. If set, corpus must be mail.
                  "startTime": "A String", # The start time range for the search query. These timestamps are in GMT and
                      # rounded down to the start of the given date.
                  "terms": "A String", # The search terms for the hold.
                  "endTime": "A String", # The end time range for the search query. These timestamps are in GMT and
                      # rounded down to the start of the given date.
                },
                "groupsQuery": { # Query options for group holds. # Details pertaining to Groups holds. If set, corpus must be Groups.
                  "endTime": "A String", # The end time range for the search query. These timestamps are in GMT and
                      # rounded down to the start of the given date.
                  "startTime": "A String", # The start time range for the search query. These timestamps are in GMT and
                      # rounded down to the start of the given date.
                  "terms": "A String", # The search terms for the hold.
                },
                "hangoutsChatQuery": { # Query options for hangouts chat holds. # Details pertaining to Hangouts Chat holds. If set, corpus must be
                    # Hangouts Chat.
                  "includeRooms": True or False, # If true, include rooms the user has participated in.
                },
              },
              "corpus": "A String", # The corpus to be searched.
              "updateTime": "A String", # The last time this hold was modified.
              "holdId": "A String", # The unique immutable ID of the hold. Assigned during creation.
              "name": "A String", # The name of the hold.
              "accounts": [ # If set, the hold applies to the enumerated accounts and org_unit must be
                  # empty.
                { # An account being held in a particular hold. This structure is immutable.
                    # This can be either a single user or a google group, depending on the corpus.
                  "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.
                  "email": "A String", # The primary email address of the account. If used as an input, this takes
                      # precedence over account ID.
                  "accountId": "A String", # The account's ID as provided by the
                      # <a href="https://developers.google.com/admin-sdk/">Admin SDK</a>.
                },
              ],
            },
        ],
      }

`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 HeldAccounts from a hold. Returns a list of statuses in the same
    order as the request. If this request leaves the hold with no held
    accounts, the hold will not apply to any accounts.

    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": [ # Account IDs to identify HeldAccounts to remove.
          "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 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).
            "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.
              },
            ],
            "code": 42, # The status code, which should be an enum value of google.rpc.Code.
            "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 OU and/or query parameters of a hold. You cannot add accounts
    to a hold that covers an OU, nor can you add OUs to a hold that covers
    individual accounts. Accounts listed in the hold will be 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:

    { # Represents a hold within Vault. A hold restricts purging of
          # artifacts based on the combination of the query and accounts restrictions.
          # A hold can be configured to either apply to an explicitly configured set
          # of accounts, or can be applied to all members of an organizational unit.
        "orgUnit": { # A organizational unit being held in a particular hold. # 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 the accounts field.
            # This structure is immutable.
          "orgUnitId": "A String", # The org unit's immutable ID as provided by the Admin SDK.
          "holdTime": "A String", # When the org unit was put on hold. This property is immutable.
        },
        "query": { # Corpus specific queries. # The corpus-specific query. If set, the corpusQuery must match corpus
            # type.
          "driveQuery": { # Query options for Drive holds. # Details pertaining to Drive holds. If set, corpus must be Drive.
            "includeTeamDriveFiles": True or False, # If true, include files in Team Drives in the hold.
            "includeSharedDriveFiles": True or False, # If true, include files in shared drives in the hold.
          },
          "mailQuery": { # Query options for mail holds. # Details pertaining to mail holds. If set, corpus must be mail.
            "startTime": "A String", # The start time range for the search query. These timestamps are in GMT and
                # rounded down to the start of the given date.
            "terms": "A String", # The search terms for the hold.
            "endTime": "A String", # The end time range for the search query. These timestamps are in GMT and
                # rounded down to the start of the given date.
          },
          "groupsQuery": { # Query options for group holds. # Details pertaining to Groups holds. If set, corpus must be Groups.
            "endTime": "A String", # The end time range for the search query. These timestamps are in GMT and
                # rounded down to the start of the given date.
            "startTime": "A String", # The start time range for the search query. These timestamps are in GMT and
                # rounded down to the start of the given date.
            "terms": "A String", # The search terms for the hold.
          },
          "hangoutsChatQuery": { # Query options for hangouts chat holds. # Details pertaining to Hangouts Chat holds. If set, corpus must be
              # Hangouts Chat.
            "includeRooms": True or False, # If true, include rooms the user has participated in.
          },
        },
        "corpus": "A String", # The corpus to be searched.
        "updateTime": "A String", # The last time this hold was modified.
        "holdId": "A String", # The unique immutable ID of the hold. Assigned during creation.
        "name": "A String", # The name of the hold.
        "accounts": [ # If set, the hold applies to the enumerated accounts and org_unit must be
            # empty.
          { # An account being held in a particular hold. This structure is immutable.
              # This can be either a single user or a google group, depending on the corpus.
            "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.
            "email": "A String", # The primary email address of the account. If used as an input, this takes
                # precedence over account ID.
            "accountId": "A String", # The account's ID as provided by the
                # <a href="https://developers.google.com/admin-sdk/">Admin SDK</a>.
          },
        ],
      }

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

    Returns:
      An object of the form:

        { # Represents a hold within Vault. A hold restricts purging of
            # artifacts based on the combination of the query and accounts restrictions.
            # A hold can be configured to either apply to an explicitly configured set
            # of accounts, or can be applied to all members of an organizational unit.
          "orgUnit": { # A organizational unit being held in a particular hold. # 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 the accounts field.
              # This structure is immutable.
            "orgUnitId": "A String", # The org unit's immutable ID as provided by the Admin SDK.
            "holdTime": "A String", # When the org unit was put on hold. This property is immutable.
          },
          "query": { # Corpus specific queries. # The corpus-specific query. If set, the corpusQuery must match corpus
              # type.
            "driveQuery": { # Query options for Drive holds. # Details pertaining to Drive holds. If set, corpus must be Drive.
              "includeTeamDriveFiles": True or False, # If true, include files in Team Drives in the hold.
              "includeSharedDriveFiles": True or False, # If true, include files in shared drives in the hold.
            },
            "mailQuery": { # Query options for mail holds. # Details pertaining to mail holds. If set, corpus must be mail.
              "startTime": "A String", # The start time range for the search query. These timestamps are in GMT and
                  # rounded down to the start of the given date.
              "terms": "A String", # The search terms for the hold.
              "endTime": "A String", # The end time range for the search query. These timestamps are in GMT and
                  # rounded down to the start of the given date.
            },
            "groupsQuery": { # Query options for group holds. # Details pertaining to Groups holds. If set, corpus must be Groups.
              "endTime": "A String", # The end time range for the search query. These timestamps are in GMT and
                  # rounded down to the start of the given date.
              "startTime": "A String", # The start time range for the search query. These timestamps are in GMT and
                  # rounded down to the start of the given date.
              "terms": "A String", # The search terms for the hold.
            },
            "hangoutsChatQuery": { # Query options for hangouts chat holds. # Details pertaining to Hangouts Chat holds. If set, corpus must be
                # Hangouts Chat.
              "includeRooms": True or False, # If true, include rooms the user has participated in.
            },
          },
          "corpus": "A String", # The corpus to be searched.
          "updateTime": "A String", # The last time this hold was modified.
          "holdId": "A String", # The unique immutable ID of the hold. Assigned during creation.
          "name": "A String", # The name of the hold.
          "accounts": [ # If set, the hold applies to the enumerated accounts and org_unit must be
              # empty.
            { # An account being held in a particular hold. This structure is immutable.
                # This can be either a single user or a google group, depending on the corpus.
              "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.
              "email": "A String", # The primary email address of the account. If used as an input, this takes
                  # precedence over account ID.
              "accountId": "A String", # The account's ID as provided by the
                  # <a href="https://developers.google.com/admin-sdk/">Admin SDK</a>.
            },
          ],
        }