## Assets

A Data Studio asset.

```javascript
{
  "assetType": AssetType,
  "updateTime": Timestamp,
  "name": string,
  "title": string,
  "trashed": boolean,
  "updateByMeTime": Timestamp,
  "owner": string,
  "createTime": Timestamp,
  "lastViewByMeTime": Timestamp,
  "description": string,
  "creator": string,
  "lastAccessTime": Timestamp,
  "folder": string,
  "workspace": string
}
```

| Property name | Type | Description |
|---|---|---|
| assetType | [AssetType](https://developers.google.com/data-studio/integrate/api/reference/types.md.txt#AssetType) | The type of asset. |
| updateTime | Timestamp | Date the asset was last modified. |
| name | string | The name (ID) of the asset. |
| title | string | The title of the asset. |
| trashed | boolean | Indicates if the asset is in the trash. |
| updateByMeTime | Timestamp | Date the asset was last modified by the user making this API call. |
| owner | string | The owner of the asset. |
| createTime | Timestamp | Date the asset was created. |
| lastViewByMeTime | Timestamp | Date the asset was last viewed by the user making this API call. |
| description | string | Description of the report (only supported for the `REPORT` AssetType). |
| creator | string | The creator of the asset. |
| lastAccessTime | Timestamp | Date the asset was last accessed by anyone. |
| folder | string | Folder path the asset is in. |
| workspace | string | Root workspace of the asset. |

## AssetType

The types of Data Studio assets.

| Enum value | Description |
|---|---|
| REPORT | A report asset. |
| DATA_SOURCE | A data source asset. |

## Role

A role in a permission.

| Enum value | Description |
|---|---|
| VIEWER | Describes members that have been granted view permissions. |
| EDITOR | Describes members that have been granted edit permissions. |
| OWNER | Describes members that are owners. |
| LINK_VIEWER | Describes members that have view permissions. |
| LINK_EDITOR | Describes members that have edit permissions. |

## Member

A member of a permissions object.

Members of the `VIEWER` and `EDITOR` [Role](https://developers.google.com/data-studio/integrate/api/reference/types.md.txt#Role) are represented using the following
prefixes:

| Member prefix | Description | Example |
|---|---|---|
| `user:` | A Google account. | `user:gus@gmail.com` |
| `group:` | A Google Group. | `group:api@googlegroups.com` |
| `domain:` | The domain of a Google Workspace or Cloud Identity organization. | `domain:example.com` |
| `serviceAccount:` | A Google Cloud Project service account. | `serviceAccount:gus@project.iam.gserviceaccount.com` |

Members of the `LINK_VIEWER` or `LINK_EDITOR` [Role](https://developers.google.com/data-studio/integrate/api/reference/types.md.txt#Role) are represented using one
of the following:

| Member name/prefix | Description |
|---|---|
| `allUsers` | Indicates that *Anyone with the link can view/edit*. |
| `domain:` | Indicates that *Anyone in domain with the link can view/edit*. |

> [!NOTE]
> **Note:** An asset can either have a `LINK_VIEWER` or `LINK_EDITOR` role, not both.

## Permissions

Data Studio permissions for an asset.

```javascript
{
  "permissions": {
    [Role]: {
      "members": Member[]
    }
  },
  "etag": string
}
```

| Property name | Type | Description |
|---|---|---|
| permissions | {[Role](https://developers.google.com/data-studio/integrate/api/reference/types.md.txt#Role): [Member\[\]](https://developers.google.com/data-studio/integrate/api/reference/types.md.txt#Member)} | A map of role to members. |
| etag | string | etag to detect and fail concurrent modifications. |

### Examples

A Data Studio asset shared with a three editors:

```json
{
  "permissions": {
    "OWNER": {
      "members": [
        "user:gus@gmail.com"
      ]
    },
    "EDITOR": {
      "members": [
        "user:jen@gmail.com",
        "user:amy@gmail.com",
        "group:api@googlegroups.com"
      ]
    }
  },
  "etag": "BwXe3ECCjl0="
}
```

A Data Studio asset shared with one editor and viewable by anyone with the link.

```json
{
  "permissions": {
    "OWNER": {
      "members": [
        "user:gus@example.com"
      ]
    },
    "EDITOR": {
      "members": [
        "group:gus-team@example.com"
      ]
    },
    "LINK_VIEWER": {
      "members": [
        "allUsers"
      ]
    }
  },
  "etag": "OBr4bWCCtl0"
}
```