// Only get open matters.ListopenMattersList=client.matters().list().setState("OPEN").execute().getMatters();// Only get closed matters.ListclosedMattersList=client.matters().list().setState("CLOSED").execute().getMatters();// Only get deleted matters.ListdeletedMattersList=client.matters().list().setState("DELETED").execute().getMatters();
Python
# Only get open matters.openMattersList=client.matters().list(state='OPEN').execute()# Only get closed matters.closedMattersList=client.matters().list(state='CLOSED').execute()# Only get deleted matters.deletedMattersList=client.matters().list(state='DELETED').execute()
StringmatterId="matterId";// If the matter still has holds, this operation will fail.client.matters().close(matterId,newCloseMatterRequest()).execute();
Mattermatter=client.matters().get(matterId).execute();// Delete the matter.client.matters().delete(matter.getMatterId());// Undelete the matter.client.matters().undelete(matter.getMatterId(),newUndeleteRequest());// Reopen the matter.client.matters().reopen(matter.getMatterId(),newReopenMatterRequest());
StringmatterId="Matter Id";StringaccountId="Account Id";// List permissions for a matter.Mattermatter=client.matters().get(matterId).setView("FULL").execute();ListmatterPermissions=matter.getMatterPermissions();// Add a user to the permission set.client.matters().addPermissions(matterId).setMatterPermissionAccountId(accountId).setMatterPermissionRole("COLLABORATOR").execute();// Remove a user from the permission set.client.matters().removePermissions(matterId).setAccountId(accountId).execute();
[null,null,["最后更新时间 (UTC):2025-08-29。"],[],[],null,["# Manage Matters\n\nA matter is a container for all of the data related to a specific topic, such as a litigation case or an investigation. A matter includes:\n\n- Saved search queries\n- Holds\n- Accounts with which the matter is shared\n- Export sets\n- Audit trail\n\nTo work with Vault resources, the account must have the [required Vault\nprivileges](https://support.google.com/vault/answer/2799699) and access to the\nmatter. To access a matter, the account must have created the matter, have the\nmatter shared with them, or have the **View All Matters** privilege.\n\nA matter has the following states:\n\n| State | Description |\n|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Open | The matter is active, and you can create holds, run searches, and export data within it. |\n| Closed | Usually when an investigation is complete, the matter is closed. Closed matters can be reopened at any time. \u003cbr /\u003e | **Note:** Before closing a matter, all holds associated with it need to be deleted. |\n| Deleted | A matter can be deleted so that it becomes completely unavailable. A deleted matter will remain in Trash for approximately 30 days, during which time it can be restored. After that period, the matter is permanently purged. \u003cbr /\u003e | **Note:** Only closed matters can be deleted. |\n\n\u003cbr /\u003e\n\nCreate a matter\n---------------\n\nThe following example creates a new matter with the specified name and description. \n\n### Java\n\n```java\nMatter matter = new Matter();\nmatter.setName(\"Matter Name\");\nmatter.setDescription(\"Matter Description\");\nMatter createdMatter = client.matters().create(matter).execute();\n \n```\n\n### Python\n\n```python\ndef create_matter(service):\n matter_content = {\n 'name': 'Matter Name',\n 'description': 'Matter Description',\n }\n matter = service.matters().create(body=matter_content).execute()\n return matter\n```\n\nGet a matter\n------------\n\nThere are two views of a matter: BASIC (default) and FULL. The FULL view adds [matter permissions](#matter_permissions) to the BASIC view.\n\nThe following example retrieves the specified matter. \n\n### Java\n\n```java\nclient.matters().get(matterId).execute(); // Returns BASIC view.\nclient.matters().get(matterId).setView(\"BASIC\").execute();\nclient.matters().get(matterId).setView(\"FULL\").execute();\n```\n\n### Python\n\n```python\nmatter_id = getMatterId()\nservice.matters().get(matterId=matter_id).execute(); // Returns BASIC view.\nservice.matters().get(matterId=matter_id, view='BASIC').execute();\nservice.matters().get(matterId=matter_id, view='FULL').execute();\n```\n\nList matters\n------------\n\nThe following example shows how to list all open, closed, and deleted matters (up to the default 100 per request). \n\n### Java\n\n```java\nList mattersList = client.matters().list().execute().getMatters();\n```\n\n### Python\n\n```python\nmattersList = client.matters().list().execute()\n```\n\nThe following example shows how to list all open, closed, and deleted matters over multiple requests. \n\n### Java\n\n```java\nListMattersResponse firstPageResponse = client.matters().list().setPageSize(20).execute();\n \nString nextPageToken = firstPageResponse.getNextPageToken());\nif (nextPageToken != null) {\n client.matters().list().setPageToken(nextPageToken).setPageSize(20).execute();\n}\n```\n\n### Python\n\n```python\nlist_response1 = service.matters().list(\n view='FULL', pageSize=10).execute()\nfor matter in list_response1['matters']:\n print(matter)\n\nif 'nextPageToken' in list_response1:\n list_response2 = service.matters().list(\n pageSize=10, pageToken=list_response1['nextPageToken']).execute()\n for matter in list_response2['matters']:\n print(matter)\n```\n\nThe following example shows how to list matters of a specified state. \n\n### Java\n\n```java\n// Only get open matters.\nList openMattersList = client.matters().list().setState(\"OPEN\").execute().getMatters();\n\n// Only get closed matters.\nList closedMattersList = client.matters().list().setState(\"CLOSED\").execute().getMatters();\n\n// Only get deleted matters.\nList deletedMattersList = client.matters().list().setState(\"DELETED\").execute().getMatters();\n```\n\n### Python\n\n```python\n# Only get open matters.\nopenMattersList = client.matters().list(\n state='OPEN').execute()\n\n# Only get closed matters.\nclosedMattersList = client.matters().list(\n state='CLOSED').execute()\n\n# Only get deleted matters.\ndeletedMattersList = client.matters().list(\n state='DELETED').execute()\n```\n\nUpdate a matter\n---------------\n\nThe following example updates the name and description of a matter. \n\n### Java\n\n```java\nString matterId = \"matterId\";\nMatter matter = new Matter().setName(\"New Name\").setDescription(\"New Description\");\nvault.matters().update(matterId, matter).execute();\n```\n\n### Python\n\n```python\ndef update_matter(service, matter_id):\n wanted_matter = {\n 'name': 'New Matter Name',\n 'description': 'New Description'\n }\n updated_matter = service.matters().update(\n matterId=matter_id, body=wanted_matter).execute()\n return updated_matter\n```\n\nClose a matter\n--------------\n\nThe following example shows how to close a matter. \n\n### Java\n\n```java\nString matterId = \"matterId\";\n// If the matter still has holds, this operation will fail.\nclient.matters().close(matterId, new CloseMatterRequest()).execute();\n \n```\n\n### Python\n\n```python\ndef close_matter(service, matter_id):\n close_response = service.matters().close(\n matterId=matter_id, body={}).execute()\n return close_response['matter']\n \n```\n\nDelete, undelete, or reopen a matter\n------------------------------------\n\nThe following example shows how to delete, undelete, or reopen a matter. \n\n### Java\n\n```java\nMatter matter = client.matters().get(matterId).execute();\n \n// Delete the matter.\nclient.matters().delete(matter.getMatterId());\n// Undelete the matter.\nclient.matters().undelete(matter.getMatterId(), new UndeleteRequest());\n// Reopen the matter.\nclient.matters().reopen(matter.getMatterId(), new ReopenMatterRequest());\n \n```\n\n### Python\n\n```python\ndef reopen_matter(service, matter_id):\n reopen_response = service.matters().reopen(\n matterId=matter_id, body={}).execute()\n return reopen_response['matter']\n\ndef delete_matter(service, matter_id):\n service.matters().delete(matterId=matter_id).execute()\n return get_matter(matter_id)\n\ndef undelete_matter(service, matter_id):\n undeleted_matter = service.matters().undelete(\n matterId=matter_id, body={}).execute()\n return undeleted_matter\n\n \n```\n\nMatter permissions\n------------------\n\nEach matter has a permission set of who can access or edit it. You can view this by getting the FULL view of a matter. \n\n### Java\n\n```java\nString matterId = \"Matter Id\";\nString accountId = \"Account Id\";\n \n// List permissions for a matter.\nMatter matter = client.matters().get(matterId).setView(\"FULL\").execute();\nList matterPermissions = matter.getMatterPermissions();\n \n// Add a user to the permission set.\nclient\n .matters()\n .addPermissions(matterId)\n .setMatterPermissionAccountId(accountId)\n .setMatterPermissionRole(\"COLLABORATOR\")\n .execute();\n \n// Remove a user from the permission set.\nclient\n .matters()\n .removePermissions(matterId)\n .setAccountId(accountId)\n .execute();\n```\n\n### Python\n\n```python\ndef list_matter_permission(service, matter_id):\n matter = service.matters().get(matterId=matter_id, view='FULL').execute()\n return matter['matterPermissions']\n \ndef add_matter_permission(service, matter_id, account_id):\n permission = service.matters().addPermissions(\n matterId=matter_id,\n matterPermission_accountId=account_id,\n matterPermission_role='COLLABORATOR',\n sendEmails='False',\n ccMe='False').execute()\n return permission\n\ndef remove_matter_permission(service, matter_id, account_id):\n service.matters().removePermissions(\n matterId=matter_id, accountId=account_id).execute()\n \n```"]]