---
canonical: https://amplience.com/developers/docs/apis/asset-management/reference/mutations/assets/
title: "Mutations: Assets"
description: GraphQL mutations for creating, updating, deleting, and publishing assets, folders, and repositories in the Amplience GraphQL Management API.
audience: Developer
date_published: 2023-05-26
date_modified: 2026-07-20
---

# Mutations: Assets

GraphQL mutations for creating, updating, deleting, and publishing assets, folders, and repositories in the Amplience GraphQL Management API.

## Assets

### createAsset

Creates a new asset

**See also:** [Examples: create an image asset](https://amplience.com/developers/docs/apis/asset-management/overview/examples/#createasset---image), [Examples: create a video asset](https://amplience.com/developers/docs/apis/asset-management/overview/examples/#createasset---video), [Temporary file service](https://amplience.com/developers/docs/apis/asset-management/temp-file-service/)

```graphql
createAsset(
  input: CreateAssetInput!
): AssetUpdatedResponse!
```

**Returns:** [AssetUpdatedResponse](https://amplience.com/developers/docs/apis/asset-management/reference/objects/assets#assetupdatedresponse)!

**Arguments:**

| Argument | Type | Default | Description |
|---|---|---|---|
| `input` | [CreateAssetInput](https://amplience.com/developers/docs/apis/asset-management/reference/inputs/assets#createassetinput)! |  |  |

### createOrUpdateAssetByName

Create or Update Asset. But use the name of the asset as the unique identifier.

**See also:** [Examples: upsert an asset by name](https://amplience.com/developers/docs/apis/asset-management/overview/examples/#createorupdateassetbyname), [Examples: creating a media set](https://amplience.com/developers/docs/apis/asset-management/overview/examples/#creating-a-media-set)

```graphql
createOrUpdateAssetByName(
  input: CreateUpdateAssetInput!
): AssetUpdatedResponse!
```

**Returns:** [AssetUpdatedResponse](https://amplience.com/developers/docs/apis/asset-management/reference/objects/assets#assetupdatedresponse)!

**Arguments:**

| Argument | Type | Default | Description |
|---|---|---|---|
| `input` | [CreateUpdateAssetInput](https://amplience.com/developers/docs/apis/asset-management/reference/inputs/assets#createupdateassetinput)! |  |  |

### updateAsset

Updates an existing asset

**See also:** [Examples: updateAssets](https://amplience.com/developers/docs/apis/asset-management/overview/examples/#updateassets)

```graphql
updateAsset(
  input: UpdateAssetInput!
): AssetUpdatedResponse!
```

**Returns:** [AssetUpdatedResponse](https://amplience.com/developers/docs/apis/asset-management/reference/objects/assets#assetupdatedresponse)!

**Arguments:**

| Argument | Type | Default | Description |
|---|---|---|---|
| `input` | [UpdateAssetInput](https://amplience.com/developers/docs/apis/asset-management/reference/inputs/assets#updateassetinput)! |  |  |

### deleteAsset

Deletes an asset record either by id or assetId. WARNING: If published assets are deleted it will no longer be possible to unpublish them from their dynamic or static URLs

```graphql
deleteAsset(
  input: DeleteAssetInput!
): Boolean!
```

**Returns:** `Boolean`!

**Arguments:**

| Argument | Type | Default | Description |
|---|---|---|---|
| `input` | [DeleteAssetInput](https://amplience.com/developers/docs/apis/asset-management/reference/inputs/assets#deleteassetinput)! |  |  |

### deleteAssets

Deletes asset records either by id or assetId. WARNING: If published assets are deleted it will no longer be possible to unpublish them from their dynamic or static URLs

**See also:** [Examples: deleteAssets](https://amplience.com/developers/docs/apis/asset-management/overview/examples/#deleteassets)

```graphql
deleteAssets(
  input: DeleteAssetsInput!
): Boolean!
```

**Returns:** `Boolean`!

**Arguments:**

| Argument | Type | Default | Description |
|---|---|---|---|
| `input` | [DeleteAssetsInput](https://amplience.com/developers/docs/apis/asset-management/reference/inputs/assets#deleteassetsinput)! |  |  |

### updateAssetMetadata

Updates an asset's metadata

**See also:** [Examples: updateAssetMetadata](https://amplience.com/developers/docs/apis/asset-management/overview/examples/#updateassetmetadata)

```graphql
updateAssetMetadata(
  input: UpdateAssetMetadataInput!
): UpdateAssetMetadataResponse!
```

**Returns:** [UpdateAssetMetadataResponse](https://amplience.com/developers/docs/apis/asset-management/reference/objects/assets#updateassetmetadataresponse)!

**Arguments:**

| Argument | Type | Default | Description |
|---|---|---|---|
| `input` | [UpdateAssetMetadataInput](https://amplience.com/developers/docs/apis/asset-management/reference/inputs/assets#updateassetmetadatainput)! |  |  |

### restoreAssets

Restores asset records either by id or assetId.

```graphql
restoreAssets(
  input: RestoreAssetsInput!
): Boolean!
```

**Returns:** `Boolean`!

**Arguments:**

| Argument | Type | Default | Description |
|---|---|---|---|
| `input` | [RestoreAssetsInput](https://amplience.com/developers/docs/apis/asset-management/reference/inputs/assets#restoreassetsinput)! |  |  |

## Publishing

### publishAsset

Publishes an asset

**See also:** [Examples: publishing an asset](https://amplience.com/developers/docs/apis/asset-management/overview/examples/#publishing-an-asset)

```graphql
publishAsset(
  input: PublishAssetInput!
): PublishAssetResponse!
```

**Returns:** [PublishAssetResponse](https://amplience.com/developers/docs/apis/asset-management/reference/objects/assets#publishassetresponse)!

**Arguments:**

| Argument | Type | Default | Description |
|---|---|---|---|
| `input` | [PublishAssetInput](https://amplience.com/developers/docs/apis/asset-management/reference/inputs/assets#publishassetinput)! |  |  |

### unpublishAsset

Unpublishes an asset

```graphql
unpublishAsset(
  input: UnpublishAssetInput!
): UnpublishAssetResponse!
```

**Returns:** [UnpublishAssetResponse](https://amplience.com/developers/docs/apis/asset-management/reference/objects/assets#unpublishassetresponse)!

**Arguments:**

| Argument | Type | Default | Description |
|---|---|---|---|
| `input` | [UnpublishAssetInput](https://amplience.com/developers/docs/apis/asset-management/reference/inputs/assets#unpublishassetinput)! |  |  |

### unpublishAssets

Unpublish asset records either by id or assetId

```graphql
unpublishAssets(
  input: UnpublishAssetsInput!
): UnpublishAssetResponse!
```

**Returns:** [UnpublishAssetResponse](https://amplience.com/developers/docs/apis/asset-management/reference/objects/assets#unpublishassetresponse)!

**Arguments:**

| Argument | Type | Default | Description |
|---|---|---|---|
| `input` | [UnpublishAssetsInput](https://amplience.com/developers/docs/apis/asset-management/reference/inputs/assets#unpublishassetsinput)! |  |  |

## Folders & repositories

### createAssetFolder

Create a folder

**See also:** [Examples: creating folders](https://amplience.com/developers/docs/apis/asset-management/overview/examples/#creating-folders)

```graphql
createAssetFolder(
  input: CreateFolderInput!
): CreateFolderResponse!
```

**Returns:** [CreateFolderResponse](https://amplience.com/developers/docs/apis/asset-management/reference/objects/assets#createfolderresponse)!

**Arguments:**

| Argument | Type | Default | Description |
|---|---|---|---|
| `input` | [CreateFolderInput](https://amplience.com/developers/docs/apis/asset-management/reference/inputs/assets#createfolderinput)! |  |  |

### createAssetRepository

Creates a new asset repository

```graphql
createAssetRepository(
  input: CreateAssetRepositoryInput!
): AssetRepository!
```

**Returns:** [AssetRepository](https://amplience.com/developers/docs/apis/asset-management/reference/objects/assets#assetrepository)!

**Arguments:**

| Argument | Type | Default | Description |
|---|---|---|---|
| `input` | [CreateAssetRepositoryInput](https://amplience.com/developers/docs/apis/asset-management/reference/inputs/assets#createassetrepositoryinput)! |  |  |

### updateAssetRepository

Updates an existing asset repository

```graphql
updateAssetRepository(
  input: UpdateAssetRepositoryInput!
): ID!
```

**Returns:** `ID`!

**Arguments:**

| Argument | Type | Default | Description |
|---|---|---|---|
| `input` | [UpdateAssetRepositoryInput](https://amplience.com/developers/docs/apis/asset-management/reference/inputs/assets#updateassetrepositoryinput)! |  |  |

### deleteAssetRepository

Deletes an existing asset repository

```graphql
deleteAssetRepository(
  input: DeleteAssetRepositoryInput!
): Boolean!
```

**Returns:** `Boolean`!

**Arguments:**

| Argument | Type | Default | Description |
|---|---|---|---|
| `input` | [DeleteAssetRepositoryInput](https://amplience.com/developers/docs/apis/asset-management/reference/inputs/assets#deleteassetrepositoryinput)! |  |  |
