# Update an asset

Launch stage: GA

`PATCH /api/2.0/clean-rooms/{clean_room_name}/assets/{asset_type}/{name}`

Update a clean room asset. For example, updating the content of a notebook;
 changing the shared partitions of a table; etc.

API scopes: cleanrooms

## Path parameters

- `clean_room_name` (string, required)
  Name of the clean room.
- `asset_type` (string, required)
  The type of the asset.
  Possible values:
  - `ASSET_TYPE_UNSPECIFIED`
  - `TABLE`
  - `NOTEBOOK_FILE`
  - `VOLUME`
  - `VIEW`
  - `FOREIGN_TABLE`
  - `JAR_ANALYSIS` — Public Preview
- `name` (string, required)
  A fully qualified name that uniquely identifies the asset within the clean room.
   This is also the name displayed in the clean room UI.
  
   For UC securable assets (tables, volumes, etc.), the format is *shared_catalog*.*shared_schema*.*asset_name*
  
   For notebooks, the name is the notebook file name.
   For jar analyses, the name is the jar analysis name.
   For Genie spaces, the name is derived from the clean room; the caller does not choose it.
  Example: `creator.sales.products`

## Request body

The asset to update.
 The asset's `name` and `asset_type` fields are used to identify the asset to update.
- `clean_room_name` (string, optional)
  The name of the clean room this asset belongs to.
   This field is required for create operations and populated by the server for responses.
  Example: `test-clean-room1`
- `table_local_details` (object, optional)
  Local details for a table that are only available to its owner.
   Present if and only if **asset_type** is **TABLE** or **STREAMING_TABLE**
  - `local_name` (string, required)
    The fully qualified name of the table in its owner's local metastore,
     in the format of *catalog*.*schema*.*table_name*
    Example: `demo.sales.products`
  - `partitions` (array of object, optional)
    Partition filtering specification for a shared table.
    - `values` (array of object, optional)
      An array of partition values.
      - `name` (string, optional)
        The name of the partition column.
      - `value` (string, optional)
        The value of the partition column. When this value is not set, it means `null` value.
         When this field is set, field `recipient_property_key` can not be set.
      - `recipient_property_key` (string, optional)
        The key of a Delta Sharing recipient's property. For example "databricks-account-id".
         When this field is set, field `value` can not be set.
      - `op` (string, optional)
        The operator to apply for the value.
        Possible values:
        - `EQUAL`
        - `LIKE`
- `volume_local_details` (object, optional)
  Local details for a volume that are only available to its owner.
   Present if and only if **asset_type** is **VOLUME**
  - `local_name` (string, required)
    The fully qualified name of the volume in its owner's local metastore,
     in the format of *catalog*.*schema*.*volume_name*
    Example: `demo.sales.products`
- `view_local_details` (object, optional)
  Local details for a view that are only available to its owner.
   Present if and only if **asset_type** is **VIEW** or **METRIC_VIEW**
  - `local_name` (string, required)
    The fully qualified name of the view in its owner's local metastore,
     in the format of *catalog*.*schema*.*view_name*
    Example: `demo.sales.products`
- `foreign_table_local_details` (object, optional)
  Local details for a foreign that are only available to its owner.
   Present if and only if **asset_type** is **FOREIGN_TABLE**
  - `local_name` (string, required)
    The fully qualified name of the foreign table in its owner's local metastore,
     in the format of *catalog*.*schema*.*foreign_table_name*
    Example: `demo.sales.products`
- `table` (object, optional)
  Table details available to all collaborators of the clean room.
   Present if and only if **asset_type** is **TABLE** or **STREAMING_TABLE**
- `notebook` (object, optional)
  Notebook details available to all collaborators of the clean room.
   Present if and only if **asset_type** is **NOTEBOOK_FILE**
  - `notebook_content` (string, required)
    Base 64 representation of the notebook contents.
     This is the same format as returned by [workspace/export](https://docs.databricks.com/api/workspace/workspace/export) with the format of **HTML**.
  - `runner_collaborator_aliases` (array of string, optional)
    Aliases of collaborators that can run the notebook.
  - `description` (string, optional)
    Optional description of the notebook shown to all collaborators.
    Example: `This is a description of the Clean Room Notebook`
    Constraints: `<= 10000 characters`
  - `environment_version` (string, optional)
    The serverless environment version used to execute the notebook (e.g. "4").
     Defaults to "2" if not specified.
- `view` (object, optional)
  View details available to all collaborators of the clean room.
   Present if and only if **asset_type** is **VIEW** or **METRIC_VIEW**
- `foreign_table` (object, optional)
  Foreign table details available to all collaborators of the clean room.
   Present if and only if **asset_type** is **FOREIGN_TABLE**
- `jar_analysis` (object, optional, Public Preview)
  Jar analysis details available to all collaborators of the clean room.
   Present if and only if **asset_type** is **JAR_ANALYSIS**
  - `description` (string, optional, Public Preview)
    Optional description of the jar analysis shown to all collaborators.
    Example: `This is a description of the Clean Room JAR`
    Constraints: `<= 10000 characters`
  - `runner_collaborator_aliases` (array of string, optional, Public Preview)
    Collaborators that can run the jar.
  - `reviews` (array of object, optional, Public Preview)
    All existing approvals or rejections.
    - `reviewer_collaborator_alias` (string, optional, Public Preview)
      collaborator alias of the reviewer
    - `created_at_millis` (int64, optional, Public Preview)
      timestamp of when the review was submitted
    - `review_state` (string, optional, Public Preview)
      review outcome
      Possible values:
      - `JAR_ANALYSIS_REVIEW_STATE_UNSPECIFIED`
      - `APPROVED`
      - `REJECTED`
      - `PENDING`
    - `comment` (string, optional, Public Preview)
      review comment
      Example: `Not ready to run yet`
      Constraints: `<= 500 characters`
    - `review_sub_reason` (string, optional, Public Preview)
      specified when the review was not explicitly made by a user
      Possible values:
      - `JAR_ANALYSIS_REVIEW_SUB_REASON_UNSPECIFIED`
      - `AUTO_APPROVED`
  - `review_state` (string, optional, Public Preview)
    Top-level status derived from all reviews.
    Possible values:
    - `JAR_ANALYSIS_REVIEW_STATE_UNSPECIFIED`
    - `APPROVED`
    - `REJECTED`
    - `PENDING`
  - `main_class_name` (string, optional, Public Preview)
    The full name of the class containing the main method to be executed. This class must be contained in a JAR provided as a library
     The code must use `SparkContext.getOrCreate` to obtain a Spark context; otherwise, runs of the job fail
    Example: `com.databricks.ComputeModels`
  - `central_jar_file_paths` (array of string, optional, Public Preview)
    The full paths in central to the jar files that are added to the library during execution (e.g. /Volumes/creator/schema/volume/folder/my_jar_file.jar)
     Only returned for the owner collaborator.
  - `environment_version` (string, optional, Public Preview)
    The serverless environment version used to execute the JAR analysis (e.g. "4").
     If not specified, uses the service-configured JAR analysis default.

## Returns

Returns the CleanRoomAsset object.

## Response

```json
{
  "clean_room_name": "test-clean-room1",
  "name": "creator.sales.products",
  "asset_type": "TABLE",
  "added_at": 1716424663321,
  "status": "ACTIVE",
  "owner_collaborator_alias": "creator",
  "table_local_details": {
    "local_name": "demo.sales.products",
    "partitions": [
      {}
    ]
  },
  "volume_local_details": {
    "local_name": "demo.sales.products"
  },
  "view_local_details": {
    "local_name": "demo.sales.products"
  },
  "foreign_table_local_details": {
    "local_name": "demo.sales.products"
  },
  "table": {
    "columns": [
      {}
    ]
  },
  "notebook": {
    "notebook_content": "string",
    "etag": "string",
    "runner_collaborator_aliases": [
      "string"
    ],
    "reviews": [
      {}
    ],
    "review_state": "APPROVED",
    "description": "This is a description of the Clean Room Notebook",
    "environment_version": "string"
  },
  "view": {
    "columns": [
      {}
    ]
  },
  "foreign_table": {
    "columns": [
      {}
    ]
  },
  "jar_analysis": {
    "etag": "string",
    "description": "This is a description of the Clean Room JAR",
    "runner_collaborator_aliases": [
      "string"
    ],
    "reviews": [
      {}
    ],
    "review_state": "APPROVED",
    "main_class_name": "com.databricks.ComputeModels",
    "central_jar_file_paths": [
      "string"
    ],
    "environment_version": "string"
  }
}
```

