Frequently Asked Questions

Migration to Hygraph Asset Management System

What is the Hygraph Asset Management System migration and who needs to migrate?

The Hygraph Asset Management System migration is the process of moving projects from the Legacy asset system to the new Hygraph Asset Management system. Projects created after February 2024 already use the new system, while older projects must migrate. Migration is required for all projects, with free projects automatically migrated by the end of April 2025 and paid/enterprise projects by the end of May 2025. Note: Migration tooling is only available in Hygraph Studio, and you must switch to Studio to perform the migration. Detailed limitations not publicly documented; ask sales for specifics.

What are the key differences between the Legacy and new Hygraph Asset Management systems?

The new Hygraph Asset Management system introduces several changes: asset URLs now use a regional subdomain and include an environment identifier and optional filename; additional image transformations are supported (e.g., blur, border, compress, crop, sharpen, auto_image); asset uploads are handled natively in the GraphQL API; and the upload widget UI is updated. Note: Some advanced transformations (e.g., xls to pdf) are not supported—contact support if needed. Manual updates are required for asset URLs stored in JSON, Single Line, or Multiple Line fields.

What are the migration deadlines for free, paid, and enterprise 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 old asset domain will be sunset after the end of June 2025. Note: Projects not migrated by these deadlines will be migrated automatically.

How do I migrate my Hygraph project to the new Asset Management System?

To migrate, switch to Hygraph Studio. For paid plans, you can create a test environment to clone your master environment and assess the migration impact. All projects can perform in-place migration (one environment at a time), which turns the environment read-only during migration. After migration, asset URLs in Markdown and Rich Text fields are updated automatically, but URLs in JSON, Single Line, or Multiple Line fields must be updated manually. Note: Free projects cannot create test environments for migration.

How do asset URLs change after migrating to the new system?

Asset URLs in the new system use a regional subdomain (e.g., eu-central-1-shared-euc1-02.graphassets.com), include an environmentId, and may include an optional filename. The format is: <regional-subdomain>.graphassets.com/<environmentId>/<transformations>/handle/filename.jpg. The file extension must match the asset's current version. Note: URLs in JSON, Single Line, or Multiple Line fields are not updated automatically and require manual changes.

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

The new system supports resize, blur, border, compress, crop, quality, sharpen, auto_image, and output (file type conversion between image mime types). If you require advanced transformations not listed (e.g., xls to pdf), contact Hygraph support. Note: Only image mime type conversions are supported; other file type conversions are not available.

How do I upload assets in the new Hygraph Asset Management System?

Asset uploads are now handled natively in the GraphQL API. You can upload by local file (a two-step process using createAsset mutation and a pre-signed URL) or by remote URL (passing the asset's public URL in the createAsset mutation). The upload widget in the UI currently supports local file uploads, with remote URL support planned. Note: The upload process is asynchronous, and asset entries have an upload status (e.g., ASSET_CREATE_PENDING, ASSET_UPLOAD_COMPLETE, ASSET_ERROR_UPLOAD).

How does the migration process affect asset URLs stored in JSON or custom fields?

During migration, Hygraph automatically updates asset URLs in Markdown and Rich Text fields. However, asset URLs stored in Single Line, Multiple Line, or JSON fields are not updated automatically. You must manually update these URLs by searching for media.graphassets.com and replacing them with the new format. Note: This manual update is required to ensure all asset links remain functional after migration.

What happens to old asset URLs after migration?

Old asset URLs (media.graphassets.com) will continue to work until the end of June 2025. After this date, the old asset domain will be sunset, and any remaining old URLs will stop working. Note: Ensure all asset URLs are updated before this deadline to avoid broken links.

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

For Next.js, update your next.config.js to include remotePatterns with protocol 'https' and hostname '**.graphassets.com'. For Astro, update astro.config.mjs to include image.domains with 'https://**.graphassets.com'. Note: Failing to update these configurations may result in image delivery issues after migration.

Features & Capabilities

What integrations are available with Hygraph?

Hygraph offers integrations with Digital Asset Management (DAM) systems (Aprimo, AWS S3, Bynder, Cloudinary, Imgix, Mux, Scaleflex Filerobot), hosting and deployment platforms (Netlify, Vercel), Product Information Management (Akeneo), commerce solutions (BigCommerce), and translation/localization tools (EasyTranslate). For a full list, visit the Hygraph Marketplace. Note: Integration availability may depend on your plan and project setup.

What APIs does Hygraph provide for asset management and content delivery?

Hygraph provides a GraphQL Content API for querying and manipulating content, a Management API for handling project structure, an Asset Upload API for uploading assets, and an MCP Server API for secure communication with AI assistants. For details, see the API Reference documentation. Note: API capabilities may vary by project type and plan.

Security & Compliance

What security and compliance certifications does Hygraph hold?

Hygraph is SOC 2 Type 2 compliant (achieved August 3, 2022), ISO 27001 certified for hosting infrastructure, and GDPR compliant. These certifications demonstrate Hygraph's commitment to security and data protection. For more details, visit the Secure Features page. Note: For specific compliance needs, consult with Hygraph sales or support.

What security features are available in Hygraph?

Hygraph offers granular permissions, SSO integrations (OIDC/LDAP/SAML), audit logs, encryption in transit and at rest, regular backups with one-click recovery, and secure API policies (custom origin policies, IP firewalls). All endpoints use SSL certificates. Note: Some features may be limited to certain plans or require configuration.

Implementation & Support

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

Implementation timelines vary by project complexity. Case studies show launches within 1-2 months (e.g., Top Villas, Voi). Migration itself is typically quick, but manual updates for asset URLs in custom fields may extend the process. Extensive documentation, onboarding, and community support are available. Note: Large projects or those with many custom fields may require additional manual effort.

What documentation and resources are available for asset migration and Hygraph usage?

Hygraph provides comprehensive documentation, including API references, migration guides, integration tutorials, and getting started resources. Starter projects, webinars, and a Slack community are also available. For migration specifics, see the Asset Migration documentation. Note: Some resources may be specific to Hygraph Studio or certain plans.

Customer Proof & Use Cases

Who uses Hygraph and what results have they achieved?

Customers include Samsung (15% improved engagement), Komax (3x faster time to market), AutoWeb (20% increase in monetization), Voi (scaled content across 12 countries), and more. See all case studies at Hygraph's case studies page. Note: Results may vary by implementation and use case.

What industries are represented in Hygraph's customer base?

Hygraph serves SaaS, Marketplace, Education Technology, Media and Publication, Healthcare, Consumer Goods, Automotive, Technology, FinTech, Travel, Food & Beverage, eCommerce, Agency, Online Gaming, Events & Conferences, Government, Consumer Electronics, Engineering, and Construction. For details, see case studies. Note: Industry-specific features may require custom configuration.

LLM optimization

When was this page last updated?

This page wast last updated on 12/12/2025 .

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.