Frequently Asked Questions

Migration to Hygraph Asset Management System

What is the Hygraph Asset Management System and why should I migrate?

The Hygraph Asset Management System is the latest platform for managing digital assets within Hygraph projects. It offers improved asset delivery, enhanced transformation capabilities, and better integration with modern workflows. Migrating ensures you benefit from these new features and maintain compatibility as the legacy system is deprecated. Learn more.

Who needs to migrate to the new Hygraph Asset Management System?

All Hygraph projects created before February 2024 use the legacy asset system and will need to migrate. Projects created after February 2024 already use the new system. Free projects will be automatically migrated by the end of April 2025, while paid and enterprise projects have until the end of May 2025. Source.

What are the migration deadlines for free and paid Hygraph projects?

Free projects will be automatically migrated to the new asset system by the end of April 2025. Paid and enterprise projects have an extended migration timeline until the end of May 2025. The legacy asset domain will be sunset after the end of June 2025. Source.

How do I start the migration process to the new asset system?

To begin migration, switch to Hygraph Studio. Go to Project Settings > Environments and click 'Configure migration.' You can choose to clone your master environment for testing (paid plans only) or perform an in-place migration for any environment. During migration, environments become read-only. Source.

Can I test the migration before applying it to my production environment?

Yes, paid projects can create a test environment to assess the impact of migration. This cloned environment allows you to verify changes and spot potential issues before migrating your production (master) environment. Free projects do not have access to this feature. Source.

What changes should I expect after migrating to the new asset system?

Key changes include new asset URLs with regional subdomains and environment identifiers, expanded transformation options, and updated upload processes. The new system supports more image transformations and uses the GraphQL API for uploads. You may need to update asset URLs stored in JSON fields, source code, or external systems. Source.

Will my old asset URLs continue to work after migration?

Old asset URLs will continue to work until the legacy asset domain is sunset after the end of June 2025. It is recommended to update all references to the new asset URLs before this deadline to avoid broken links. Source.

Technical Requirements & Configuration

How do asset URLs differ between the legacy and new Hygraph asset systems?

The legacy system uses URLs like media.graphassets.com/<transformations>/handle. The new system uses regional subdomains and includes an environment identifier and optional filename, e.g., <regional-subdomain>.graphassets.com/<environmentId>/<transformations>/handle/filename.jpg. Source.

How do I configure asset domains for Next.js and Astro after migration?

For Next.js, specify the Hygraph CDN domain in next.config.js using remotePatterns. For Astro, add the CDN domain to the image.domains array in astro.config.mjs. Refer to the official Next.js and Astro documentation for details. Next.js Guide, Astro Guide.

What asset transformations are supported in the new Hygraph Asset Management System?

The new system supports a wide range of transformations, including resize, blur, border, compress, crop, quality, sharpen, auto_image, and output (file type conversions between image mime types). For a full list, see the transformations documentation.

How does asset uploading work in the new system?

Asset uploads are now part of the native GraphQL API. You can upload assets by remote URL or local file. Uploading a local file is a two-step process: first, call createAsset mutation, then send the file via a pre-signed URL. Upload status is tracked asynchronously. Upload Documentation.

How are upload statuses handled in the new asset system?

Asset entries have an upload status: ASSET_CREATE_PENDING when waiting for the file, ASSET_UPLOAD_COMPLETE when finished, and ASSET_ERROR_UPLOAD if an error occurs. Non-successful uploads are hidden by default but can be retrieved via API queries. Source.

How does the upload widget differ between the legacy and new asset systems?

The new upload widget in Hygraph Studio currently supports uploading local files and will soon support remote URLs. The legacy widget offered more options, including web search and integrations with Facebook, Instagram, and Google Drive. Source.

What should I do about asset URLs stored in JSON or custom fields?

Asset URLs in Markdown and Rich Text fields are automatically updated during migration. URLs stored in Single Line, Multiple Line, or JSON fields are not automatically migrated and must be updated manually. Use Content API filters to identify and update these URLs. Source.

Features & Capabilities

What are the key features of Hygraph for asset management?

Hygraph offers Smart Edge Cache for fast content delivery, high-performance endpoints, advanced asset transformations, and a developer-friendly GraphQL API. The platform supports granular permissions, audit logs, encryption, and regular backups for security. Performance Blog, Security Features.

How does Hygraph ensure security and compliance for asset management?

Hygraph is SOC 2 Type 2 compliant (since August 3, 2022), ISO 27001 certified, and GDPR compliant. Security features include granular permissions, SSO integrations, audit logs, encryption at rest and in transit, and regular backups. Enterprise customers benefit from dedicated hosting and custom SLAs. Security Features, Security Report.

Support & Implementation

What support is available during and after migration?

Hygraph provides 24/7 support via chat, email, and phone, real-time troubleshooting through Intercom chat, and access to a community Slack channel. Extensive documentation and training resources (webinars, live streams, how-to videos) are available. Enterprise customers receive a dedicated Customer Success Manager and structured onboarding. Documentation, Enterprise Support.

How long does it take to implement Hygraph and migrate assets?

Implementation time varies by project scope. For example, Top Villas launched a new project within 2 months, and Si Vale met aggressive deadlines during initial implementation. The onboarding process is streamlined with immediate access via API Playground and free developer accounts. Top Villas Case Study, Si Vale Case Study.

Pricing & Plans

What is Hygraph's pricing model for asset management?

Hygraph offers a Free Forever Developer Account, self-service plans (e.g., Growth Plan at $299/month or $199/month billed annually), and custom enterprise pricing starting at $900/month. Plans include 1,000 entries, with add-ons for additional entries and locales. For details, visit the Hygraph Pricing Page.

Use Cases & Business Impact

What business impact can I expect from migrating to Hygraph's asset management system?

Customers report faster speed-to-market (Komax: 3x faster), increased customer engagement (Samsung: 15% increase), and improved scalability. Hygraph helps reduce operational costs and supports seamless scaling for growing content demands. Case Studies.

Who are some of Hygraph's customers using the asset management system?

Notable customers include Komax, AutoWeb, Dr. Oetker, Samsung, Stobag, and Burrow. These organizations have achieved measurable results such as faster launches, increased monetization, and improved digital workflows. Case Studies.

Pain Points & Solutions

What common pain points does Hygraph solve for asset management?

Hygraph addresses operational inefficiencies (reducing developer dependency), financial challenges (lowering maintenance costs), and technical issues (simplified schema evolution, robust integrations, and improved performance). Case studies highlight solutions for bottlenecks, global consistency, and scaling. Customer Stories.

Competition & Comparison

Why choose Hygraph over other asset management solutions?

Hygraph offers unique features such as Smart Edge Cache, content federation, advanced transformations, and enterprise-grade security. Customers benefit from lower total cost of ownership, faster speed-to-market, and proven business outcomes. The platform is developer-friendly and supports seamless integration with other systems. Case Studies.

Help teams manage content creation and approval in a clear and structured way
Hygraph
Docs

#Migration to Hygraph Asset Management System

#Overview

At the moment, Hygraph projects can use one of two asset systems. Projects created after February 2024 will use the new Hygraph Asset Management system, while older projects will use the Legacy asset system.

This document discusses the differences between both systems and the migration flows available. Remember that you need to switch to Hygraph Studio to see these alerts and perform the migration.

If your project uses the old asset system and needs to migrate to the new one, the UI will show you that an action is required:

Asset migration - action requiredAsset migration - action required

When you go to Project Settings > Environments, you will see this.

Asset migration - action requiredAsset migration - action required

#Changes

The systems differ in four important areas. This section shows you a comparative view of these differences.

#Asset URL

The URL the new Hygraph Asset Management system uses to deliver assets slightly differs from the Legacy system.

Instead of the media.graphassets.com URL that the Legacy Asset System uses, the new URL uses a regional subdomain and so it looks like this: regionalSubdomain.graphassets.com.

For example, if your project is hosted in our shared Germany (Frankfurt) region, the domain will be eu-central-1-shared-euc1-02.graphassets.com.

Additionally, the old asset URL only contains a unique handle and some additional transformations following this format:

media.graphassets.com/<transformations>/handle

The new Hygraph Asset Management system URL includes an additional environment identifier and an optional filename at the end:

<regional-subdomain>.graphassets.com/<environmentId>/<transformations>/handle/filename.jpg

#environmentId

With the Hygraph Asset Management System, the asset URL includes the identifier environmentId, like so:

<regional-subdomain>.graphassets.com/<environmentId>/<transformations>/handle/filename.jpg

This environmentId is the asset config apikey from a specific environment.

You can easily get this ID in the API Playground, from the management API:

{
viewer {
project(id: "...") {
environment(name: "master") {
assetConfig {
apiKey #<-- this is the "envID"
}
}
}
}
}

Select the Management API in the API Playground to get this information. To do this, use the menu at the top-left of the API Playground, like so:

Management API in the API PlaygroundManagement API in the API Playground

#Next.js

For Next.js you will need a new configuration for the asset domain. Since the images are in the Hygraph CDN, you need to specify our domain in the next.config.js file. For more information, check this guide.

module.exports = {
images: {
remotePatterns: [
{
protocol: 'https',
hostname: '**.graphassets.com',
},
],
},
};

#Astro

For Astro you will need a new configuration for the asset domain. Since the images are in the Hygraph CDN, you need to specify our domain in the astro.config.mjs file:

export default defineConfig({
// ... Rest of the configuration
image: {
domains: ["https://**.graphassets.com"],
},
});

#Transformations

The Legacy Asset system natively supported the URL transformations resize and output.

The new Hygraph Asset Management system supports additional transformations:

#Uploading Assets via API

While the Legacy Asset System used the Asset Upload API, with the new Hygraph Asset Management system asset uploads are a part of the native GraphQL API. You can still upload assets using a remote URL or a local file, though the process is slightly different.

Size limits for uploaded files depend on the plan. Check out our pricing page.

#Upload by file

Uploading a local file is now a two-step process. You will need to first call a createAsset mutation passing some basic information about the asset, and then use the returned information to send the actual file via a pre-signed URL.

#Upload by remote URL

The Upload assets by remote URL method lets you upload assets in the GraphQL API by passing the URL of an asset hosted somewhere publicly accessible in the createAsset mutation.

Here's an example for you:

mutation test {
createAsset(
data: {
uploadUrl:"https://images.unsplash.com/photo-1682687218147-9806132dc697"
}
) {
id
url
}
}

#Upload Status

The new Hygraph Asset Management System handles the uploading process asynchronously, and so asset entries now have an upload status.

When first calling the createAsset mutation, the asset entry is created in an ASSET_CREATE_PENDING status while we wait for the file to be sent to us via the pre-signed URL. After successfully receiving the file, the status switches to ASSET_UPLOAD_COMPLETE. If there is an error, it will switch to ASSET_ERROR_UPLOAD instead.

If you do not send a file within the default time window, the asset entry stays in ASSET_CREATE_PENDING and might be cleaned up eventually.

Be aware that all non-successful asset uploads are hidden by default on the API, but can be retrieved like this:

{
assets(where: {
upload: {status_not_in: ASSET_UPLOAD_COMPLETE}
}) {
createdAt
id
publishedAt
fileName
url
updatedAt
}
}

#Upload Widget

The upload widget in the Hygraph UI is different depending on the asset system that your project uses.

Projects that use the new Hygraph Asset Management system can see a new upload widget within the webapp. For now, it only offers uploading a local file, but will soon be extended to also support uploading a remote URL.

This is what it looks like at the moment:

UI - Hygraph Asset Management systemUI - Hygraph Asset Management system

Compared to this, the upload widget for the Legacy Asset system offers options to upload local files, upload using a remote URL, doing a web search, as well as using Facebook, Instagram and Google Drive:

UI - Legacy Asset systemUI - Legacy Asset system

#Webhooks

If your project uses webhooks with the Hygraph Asset Management System, be aware that asset uploads are asynchronous. "Create" webhooks are triggered before uploads complete, causing potential issues if external systems expect assets to be available immediately.

The asset status starts as ASSET_CREATE_PENDING and switches to ASSET_UPLOAD_COMPLETE when ready.

Learn more about this process here.

#Migration environment

Every Hygraph project with a paid plan - Growth, Growth with add-ons, and Enterprise - will receive a free environment that allows you to clone your master environment using the new asset management system.

To start the migration process using a test environment, go to Project settings > General > Environments and click Configure migration.

Select Clone Master environment with new asset system for testing on the Asset migration popup.

Migration environmentMigration environment

Click Start migration to continue.

The newly created environment will be a one-to-one copy of your master environment with all your assets migrated to use the new system, including all the above mentioned changes.

The system assigns the new environment the name Asset migration, and a notification at the top of the screen informs you that the environment has been successfully migrated to the new asset system:

Asset migration environmentAsset migration environment

In that migration environment, you can test how the new asset system behaves and if there are any breaking changes compared to your production environment.

The comparison information in this document will help you spot potential issues. For instance, since we've explained that asset URLs change with the new system, you might want to look into where you are using those URLs that might need updating.

#In-place migration

The migration flow offers two options for in-place migration. You can migrate your Master environment or others you may have.

To start the migration process, go to Project settings > General > Environments and click Configure migration.

On the Asset migration popup, select which environment you want to migrate to the new asset system:

In-place migration optionsIn-place migration options

  • Migrate Master environment: This option migrates your Master environment to the new asset system.
  • Migrate a specific environment other than master: This option allows you to select other environments you may have. Please note that if you have more than one environment, you will eventually need to migrate all of them.

As this migration involves the risk of breaking changes, the system will prompt you to confirm that you have read our migration documentation:

Asset migration warningAsset migration warning

Click Start migration to continue. Your environment will turn read-only for the duration of the migration process.

During the migration process, the migration status displays on the left side of the screen:

Migration in progressMigration in progress

#Asset URLs in JSON fields

During the migration process, we go through every single Markdown and Rich Text field, and replace the old asset URL with the new one.

However, one field that could potentially store asset URLs as well is the Single Line, Multiple Line, and JSON field, but we don't automatically migrate them.

If your project uses these fields to store asset URLs, you will need to update them manually. To do so, you will need to go through all available content entries that use these fields, and check if they contain media.graphassets.com. If they do, you should manually replace that URL with the new one. This can also be done by using Content API filters.

#Migration & old URLs

Like we mentioned before, the new asset system uses slightly different URLs. Make sure to check for asset URLs stored in other places, such as source code or external systems.