---
canonical: https://amplience.com/developers/docs/apis/asset-management/reference/objects/media-tools/
title: "Objects: Media tools"
description: GraphQL object types for media hubs, transformation templates, webhooks, extensions, and preview keys in the Amplience GraphQL Management API.
audience: Developer
date_published: 2023-05-26
date_modified: 2026-07-20
---

# Objects: Media tools

GraphQL object types for media hubs, transformation templates, webhooks, extensions, and preview keys in the Amplience GraphQL Management API.

## Media hubs & metadata

### MediaHub

*Implements: [Node](https://amplience.com/developers/docs/apis/asset-management/reference/interfaces#node)*

| Field | Type | Description |
|---|---|---|
| `id` | `ID`! | The ID of the object |
| `metadataSchemas` | `MetadataSchemaConnection`! | <br></br>*Args: `before: String`, `after: String`, `first: Int`, `last: Int`* |
| `assetRepositories` | `AssetRepositoryConnection` | <br></br>*Args: `before: String`, `after: String`, `first: Int`, `last: Int`* |
| `transformationTemplate` | [TransformationTemplate](#transformationtemplate)! | <br></br>*Args: `name: String!`* |
| `transformationTemplates` | `TransformationTemplate`<br></br>`Connection`! | <br></br>*Args: `before: String`, `after: String`, `first: Int`, `last: Int`* |

### MetadataSchema

Metadata Schema

| Field | Type | Description |
|---|---|---|
| `id` | `ID`! |  |
| `name` | `String`! | The schema name |
| `label` | `String`! | The schema label |
| `properties` | \[[Metadata](#metadata)!\]! | Properties as a key/value pair |

### Metadata

Metadata

| Field | Type | Description |
|---|---|---|
| `name` | `String`! | The property name |
| `label` | `String`! | The property label |
| `facetable` | `Boolean`! | Indicates if the property is facetable |
| `searchable` | `Boolean`! | Indicates if the property is searchable |
| `type` | `String`! | The property type |

## Transformation templates

### TransformationTemplate

Transformation Template

*Implements: [Node](https://amplience.com/developers/docs/apis/asset-management/reference/interfaces#node)*

| Field | Type | Description |
|---|---|---|
| `id` | `ID`! |  |
| `template` | `String`! | Transformation template data |
| `name` | `String`! | Transformation template name |
| `label` | `String`! | Transformation template label |
| `createdDate` | `String`! | Date transformation template was created |
| `updatedDate` | `String`! | Date transformation template was last updated |
| `createdBy` | `String`! | User who created the transformation template |
| `updatedBy` | `String`! | User who last updated the transformation template |
| `lastPublishJobId` | `String`! | Last publish job id of transformation template |

## Extensions

### Extension

*Implements: [Node](https://amplience.com/developers/docs/apis/asset-management/reference/interfaces#node)*

| Field | Type | Description |
|---|---|---|
| `id` | `ID`! |  |
| `label` | `String`! |  |
| `description` | `String`! |  |
| `url` | `String` |  |
| `icon` | `String` |  |
| `visibility` | [ExtensionVisibility](https://amplience.com/developers/docs/apis/asset-management/reference/enums#extensionvisibility)! |  |
| `cmsHub` | [CMSHub](https://amplience.com/developers/docs/apis/asset-management/reference/objects/cms#cmshub)! |  |
| `organization` | [Organization](https://amplience.com/developers/docs/apis/asset-management/reference/objects/organization#organization)! |  |
| `createdDate` | `DateTime`! |  |
| `updatedDate` | `DateTime`! |  |
| `latestRelease` | [ExtensionRelease](#extensionrelease) |  |
| `releases` | `ExtensionReleaseConnection`! | <br></br>*Args: `before: String`, `after: String`, `first: Int`, `last: Int`, `filter: ExtensionReleaseFilterInput`* |

### ExtensionInstance

*Implements: [Node](https://amplience.com/developers/docs/apis/asset-management/reference/interfaces#node)*

| Field | Type | Description |
|---|---|---|
| `id` | `ID`! |  |
| `extension` | [Extension](#extension)! |  |
| `extensionRelease` | [ExtensionRelease](#extensionrelease)! |  |
| `label` | `String`! |  |
| `description` | `String` |  |
| `createdBy` | [User](https://amplience.com/developers/docs/apis/asset-management/reference/objects/organization#user)! |  |
| `env` | `JSON`! |  |
| `cmsHub` | [CMSHub](https://amplience.com/developers/docs/apis/asset-management/reference/objects/cms#cmshub)! |  |
| `organization` | [Organization](https://amplience.com/developers/docs/apis/asset-management/reference/objects/organization#organization)! |  |
| `createdDate` | `DateTime`! |  |
| `updatedDate` | `DateTime`! |  |

### ExtensionRelease

*Implements: [Node](https://amplience.com/developers/docs/apis/asset-management/reference/interfaces#node)*

| Field | Type | Description |
|---|---|---|
| `id` | `ID`! |  |
| `extension` | [Extension](#extension)! |  |
| `label` | `String`! |  |
| `releaseNotes` | `String` |  |
| `draft` | `Boolean`! |  |
| `deprecated` | `Boolean`! |  |
| `latest` | `Boolean`! |  |
| `sourceFiles` | \[[ExtensionReleaseSourceFile](#extensionreleasesourcefile)!\]! |  |
| `envSchema` | `JSON`! |  |
| `actions` | \[[Action](#action)!\]! |  |
| `createdDate` | `DateTime`! |  |
| `updatedDate` | `DateTime`! |  |

### ExtensionReleaseSourceFile

| Field | Type | Description |
|---|---|---|
| `path` | `String`! |  |
| `content` | `String`! |  |

### Action

| Field | Type | Description |
|---|---|---|
| `name` | `String`! |  |
| `label` | `String`! |  |
| `description` | `String`! |  |
| `inputSchema` | `JSON`! |  |
| `outputSchema` | `JSON`! |  |

## Webhooks

### WebhookListener

*Implements: [Node](https://amplience.com/developers/docs/apis/asset-management/reference/interfaces#node)*

| Field | Type | Description |
|---|---|---|
| `id` | `ID`! |  |
| `label` | `String`! |  |
| `schema` | `String`! |  |
| `security` | [WebhookListenerSecurity](https://amplience.com/developers/docs/apis/asset-management/reference/unions#webhooklistenersecurity)! |  |
| `cmsHub` | [CMSHub](https://amplience.com/developers/docs/apis/asset-management/reference/objects/cms#cmshub)! |  |
| `organization` | [Organization](https://amplience.com/developers/docs/apis/asset-management/reference/objects/organization#organization)! |  |
| `createdDate` | `DateTime`! |  |
| `updatedDate` | `DateTime`! |  |
| `url` | `String` |  |

### WebhookListenerSecurityHMAC

| Field | Type | Description |
|---|---|---|
| `header` | `String`! |  |
| `algorithm` | [WebhookListenerSecurityHMACAlgorithm](https://amplience.com/developers/docs/apis/asset-management/reference/enums#webhooklistenersecurityhmacalgorithm)! |  |
| `encoding` | [WebhookListenerSecurityHMACEncoding](https://amplience.com/developers/docs/apis/asset-management/reference/enums#webhooklistenersecurityhmacencoding)! |  |
| `digestPrefix` | `String` |  |

### WebhookListenerSecurityNone

| Field | Type | Description |
|---|---|---|
| `_empty` | `Boolean`! |  |

## Preview keys & virtual staging

### PreviewKey

*Implements: [Node](https://amplience.com/developers/docs/apis/asset-management/reference/interfaces#node)*

| Field | Type | Description |
|---|---|---|
| `id` | `ID`! |  |
| `virtualStagingEnvironments` | \[[VirtualStagingEnvironment](#virtualstagingenvironment)!\]! |  |
| `organization` | [Organization](https://amplience.com/developers/docs/apis/asset-management/reference/objects/organization#organization) |  |
| `createdDate` | `DateTime`! |  |
| `expiryDate` | `DateTime` |  |
| `enabled` | `Boolean`! |  |
| `label` | `String`! |  |

### CreatePreviewKeyResponse

| Field | Type | Description |
|---|---|---|
| `previewToken` | `String` |  |
| `id` | `String` |  |

### VirtualStagingEnvironment

Only VSEs that have been created with an organizationId are available. This generally applies
to newly created VSEs only since October 2025.

*Implements: [Node](https://amplience.com/developers/docs/apis/asset-management/reference/interfaces#node)*

| Field | Type | Description |
|---|---|---|
| `id` | `ID`! |  |
| `label` | `String` |  |
| `domain` | `String` |  |
| `subdomain` | `String` |  |
| `enabled` | `Boolean` |  |
| `organization` | [Organization](https://amplience.com/developers/docs/apis/asset-management/reference/objects/organization#organization) |  |

## Temporary file upload

### CreateTempFileUploadUrlResponse

| Field | Type | Description |
|---|---|---|
| `uploadUrl` | `String`! |  |
| `downloadUrl` | `String`! |  |

### CreateTempFileMultipartUploadUrlResponse

| Field | Type | Description |
|---|---|---|
| `downloadUrl` | `String`! |  |
| `completeUrl` | `String`! |  |
| `uploadPartUrls` | \[`String`!\]! |  |
| `minPartSize` | `Float`! |  |
| `maxPartSize` | `Float`! |  |
