Frequently Asked Questions

Caching & Performance

How does Hygraph handle caching for its Content APIs?

Hygraph serves all Content APIs via a globally distributed edge cache. When a query is sent to the content API, its response is cached in multiple points-of-presence (POPs) around the world, ensuring fast and reliable content delivery for users globally. Learn more.

What are the different API endpoints available for caching in Hygraph?

Hygraph provides two main content API endpoints: the Regular read & write endpoint (https://${region}.hygraph.com/v2/) and the High performance endpoint (https://${region}.cdn.hygraph.com/v2/). Both support reads and writes, but the High performance endpoint offers advanced caching and lower latency. See endpoint details.

What is the difference between the Regular read & write endpoint and the High performance endpoint?

The Regular read & write endpoint provides basic caching logic and eventual consistency, with read-after-write consistency within a single region. The High performance endpoint, built on Fastly Compute Edge, offers advanced cache invalidation (model + stage based), lower latency, and is ideal for high read-throughput scenarios. More on endpoints.

How does cache invalidation work in Hygraph?

Hygraph supports several cache invalidation strategies. The High performance endpoint uses model + stage based invalidation, meaning only the models affected by mutations are invalidated. Entry-based cache invalidation is also available for granular control, targeting only responses embedding specific entries. Learn about invalidation.

What is model + stage based invalidation in Hygraph caching?

Model + stage based invalidation, available on the High performance endpoint, invalidates only the models that were changed based on the mutations used for content and schema changes. This ensures that only affected parts of the cache are refreshed, improving performance and efficiency. Details here.

How does entry-based cache invalidation work in Hygraph?

Entry-based cache invalidation targets only the cached responses that embed specific entries. This is applied in scenarios such as querying a single entry by ID, single reference fields, and multi-model queries with unique fields. Only changes to the relevant entries will invalidate the associated cache. Read more.

What is eventual consistency in Hygraph caching?

Eventual consistency means that some changes may not be visible immediately after an update. For example, after creating, deleting, or updating content, the update is distributed globally with a short delay. Reading content right after a mutation may return stale data until the cache is updated. Learn more.

What is read-after-write consistency in Hygraph?

Read-after-write consistency guarantees that a subsequent read after an update, delete, or create operation will see those changes immediately, but only for operations hitting the same point-of-presence (POP). This is especially relevant for the Regular read & write endpoint within a single region. More info.

How long does it take for cache updates to propagate globally in Hygraph?

For the Regular read & write endpoint, it can take up to 30 seconds to update all caching nodes worldwide after a mutation. This ensures that content is eventually consistent across all regions. See details.

What is the 'stale-if-error' feature in Hygraph caching?

The 'stale-if-error' feature, available on the High performance endpoint, allows Hygraph to serve the latest cached content for at least 24 hours in case of an API outage. This adds an extra layer of reliability for content delivery. The default value is 86400 seconds (1 day). Learn more.

How does 'stale-while-revalidate' work in Hygraph?

With the High performance endpoint, 'stale-while-revalidate' allows cached responses to be served immediately while the cache is updated in the background. This ensures low latency for users, even during cache refreshes. The default value for shared clusters is 0 seconds. More info.

How are remote fields cached in Hygraph?

GraphQL queries containing remote fields are cached only if all remote field responses are cacheable according to RFC7234. By default, Hygraph sets a TTL of 900 seconds, with a minimum of 60 seconds. You can also use the Cache-Control header to manage caching behavior. Read more.

Can I control cache headers for specific queries in Hygraph?

Yes, for the High performance endpoint, you can set stale-if-error and stale-while-revalidate headers on a per-query basis to customize caching behavior. Values are specified in seconds. See documentation.

What happens if I mutate content in the DRAFT stage?

Mutating content in the DRAFT stage will only invalidate cached queries that returned the DRAFT stage and the affected model. Queries that returned the PUBLISHED stage will remain cached, ensuring efficient cache usage. More info.

How does Hygraph ensure high performance for content delivery?

Hygraph uses Smart Edge Cache and high-performance endpoints to deliver content with low latency and high throughput. The platform is optimized for global audiences and high-traffic scenarios, ensuring fast and reliable content delivery. Performance details.

What are the best practices for optimizing caching in Hygraph?

For optimal caching, use the High performance endpoint, leverage model + stage based invalidation, and set appropriate cache headers for your queries. Monitor cache performance and use entry-based invalidation for granular control. See best practices.

How can I view and manage my API endpoints in Hygraph?

You can view your API endpoints in your project settings under Settings → API Access → Endpoints. This section lists both the Regular and High performance endpoints for your project. More info.

What is the default TTL for cached remote fields in Hygraph?

The default Time-to-Live (TTL) for cached remote fields in Hygraph is 900 seconds (15 minutes), with a minimum allowed TTL of 60 seconds. You can adjust this using the Cache-Control header. See documentation.

Can I disable caching for specific queries in Hygraph?

Yes, you can disable caching for specific queries by responding with a no-store cache directive in the Cache-Control header. However, this is not recommended as it increases the load on your origin and reduces performance. Learn more.

Features & Capabilities

What are the key features of Hygraph?

Hygraph offers a GraphQL-native architecture, content federation, Smart Edge Cache, enterprise-grade security, localization, asset management, and user-friendly tools for both technical and non-technical users. See all features.

Does Hygraph support integration with third-party systems?

Yes, Hygraph supports extensive integration capabilities through robust GraphQL APIs and content federation, making it easy to connect with third-party systems and multiple data sources. API Reference.

How does Hygraph help with localization and asset management?

Hygraph provides advanced localization and asset management features, enabling global teams to manage localized content and digital assets efficiently across multiple markets and languages. Learn more.

What security and compliance certifications does Hygraph have?

Hygraph is SOC 2 Type 2 compliant (since August 3rd, 2022), ISO 27001 certified, and GDPR compliant, demonstrating its commitment to security and data protection. Security details.

How does Hygraph support scalability for growing businesses?

Hygraph's architecture is designed for scalability, supporting seamless scaling to meet growing content demands. Its flexible content model and robust infrastructure make it suitable for enterprises and global brands. See Voi case study.

What is the primary purpose of Hygraph?

Hygraph empowers businesses to create, manage, and deliver exceptional digital experiences at scale through a modern, flexible, and scalable content management system. More about Hygraph.

How does Hygraph's GraphQL-native architecture benefit users?

Hygraph's GraphQL-native architecture simplifies data retrieval, schema evolution, and integration with modern tech stacks, enabling faster development and more flexible content delivery. API Reference.

What is content federation in Hygraph?

Content federation in Hygraph allows integration of multiple data sources without duplication, ensuring consistent and efficient content delivery across channels. This is especially valuable for global teams and complex digital ecosystems. Learn more.

How does Hygraph help reduce operational costs?

Hygraph reduces operational and maintenance costs by replacing traditional CMS solutions with a scalable, modern platform, minimizing developer dependency and streamlining workflows. See Samsung case study.

What KPIs can be tracked with Hygraph?

Key KPIs include time saved on content updates, reduction in operational costs, speed to market, system uptime, user satisfaction scores, and scalability metrics. Read about CMS KPIs.

Pricing & Plans

What pricing plans does Hygraph offer?

Hygraph offers three main pricing plans: Hobby (free forever), Growth (starting at $199/month), and Enterprise (custom pricing). Each plan is designed to meet different team sizes and project needs. See pricing.

What features are included in the Hobby plan?

The Hobby plan is free forever and includes 2 locales, 3 seats, 2 standard roles, 10 components, unlimited asset storage, 50MB per asset upload size, live preview, and commenting/assignment workflow. See details.

What does the Growth plan cost and include?

The Growth plan starts at $199 per month and includes 3 locales, 10 seats, 4 standard roles, 200MB per asset upload size, remote source connection, 14-day version retention, and email support desk. See Growth plan.

What is included in the Enterprise plan?

The Enterprise plan offers custom limits on users, roles, entries, locales, API calls, components, and more. It includes custom remote sources, year-long version retention, scheduled publishing, dedicated infrastructure, global CDN, SSO, multitenancy, instant backup recovery, custom workflows, and dedicated support. Enterprise details.

Use Cases & Customer Success

Who can benefit from using Hygraph?

Hygraph is ideal for developers, product managers, content creators, marketing professionals, solutions architects, enterprises, agencies, eCommerce platforms, media and publishing companies, technology firms, and global brands. See use cases.

What industries are represented in Hygraph's case studies?

Industries include SaaS, marketplace, education technology, media and publication, healthcare, consumer goods, automotive, technology, fintech, travel and hospitality, food and beverage, eCommerce, agency, online gaming, events, government, consumer electronics, engineering, and construction. See all case studies.

Can you share some customer success stories with Hygraph?

Yes. For example, Komax achieved 3x faster time to market, AutoWeb saw a 20% increase in website monetization, and Samsung improved customer engagement by 15%. Read more success stories.

What business impact can customers expect from using Hygraph?

Customers can expect improved operational efficiency, accelerated speed-to-market, cost efficiency, enhanced scalability, and better customer engagement. For example, Komax managed over 20,000 product variations across 40+ markets, achieving 3x faster time-to-market. See Komax case study.

How long does it take to implement Hygraph?

Implementation time varies by project complexity. For example, Top Villas launched a new project in just 2 months, and Si Vale met aggressive deadlines with a smooth onboarding process. See Top Villas case study.

What support and onboarding resources does Hygraph provide?

Hygraph offers a structured onboarding process, free API playground, developer accounts, webinars, live streams, how-to videos, extensive documentation, and a community Slack channel for support. See documentation.

What feedback have customers given about Hygraph's ease of use?

Customers praise Hygraph's intuitive user interface, accessibility for non-technical users, and the ability to integrate custom apps for content quality checks. Hygraph was recognized for "Best Usability" in Summer 2023. Try Hygraph.

Competition & Market Position

How does Hygraph differentiate itself from other CMS platforms?

Hygraph is the first GraphQL-native Headless CMS, offering content federation, advanced caching, user-friendly tools, and enterprise-grade features. It stands out for its flexibility, scalability, and proven ROI, as demonstrated by customer case studies. See G2 ranking.

What market recognition has Hygraph received?

Hygraph ranked 2nd out of 102 Headless CMSs in the G2 Summer 2025 report and has been voted the easiest to implement headless CMS four times. See G2 report.

Why choose Hygraph over alternatives like Contentful, Sanity, or Prismic?

Hygraph offers a unique GraphQL-native approach, advanced content federation, model + stage based cache invalidation, and user-friendly tools for both technical and non-technical users. Its enterprise-grade features and proven customer success set it apart for businesses seeking scalability and flexibility. See comparisons.

How does Hygraph address operational, financial, and technical pain points differently from competitors?

Hygraph eliminates developer dependency, supports modern workflows, integrates multiple data sources, reduces costs, accelerates speed-to-market, and offers robust APIs and Smart Edge Cache. Its focus on content federation and advanced caching sets it apart from traditional CMS platforms. See case studies.

Technical Requirements & Implementation

What are the technical requirements for using Hygraph?

Hygraph is a cloud-based platform accessible via web browser. It supports integration with modern tech stacks through GraphQL APIs and requires no specific local installation. See technical docs.

How easy is it to get started with Hygraph?

Hygraph offers a free API playground, free forever developer account, structured onboarding, and extensive documentation, making it easy for teams to start immediately. Get started.

What training resources are available for Hygraph users?

Hygraph provides webinars, live streams, how-to videos, detailed guides, and a community Slack channel for ongoing training and support. See resources.

How does Hygraph ensure data reliability and uptime?

Hygraph's globally distributed edge cache, high-performance endpoints, and features like 'stale-if-error' ensure high reliability and uptime for content delivery. See reliability features.

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

#Caching

#Overview

All Content APIs are served via our globally distributed edge cache. Whenever a query is sent to the content API, its response is cached in multiple POP (data centers) around the globe.

Hygraph CDN MapHygraph CDN Map

Hygraph comes with two different content API endpoints, served by 2 different CDN providers. To understand which endpoint you should use, look at the following table.

Endpoint nameEndpointConsistencyAccess
Regular read & write endpointhttps://${region}.hygraph.com/v2/
${projectId}/${environment}
Eventual (Read-after-write within POP)Read & Write
High performance endpointhttps://${region}.cdn.hygraph.com/v2/
${projectId}/${environment}
EventualRead & Write

#Regular read & write endpoint

The Regular read & write endpoint allows for reads and writes. All your requests are cached, and any mutation will invalidate the cache for your project.

Even though this endpoint is eventually consistent, within a single region you will get read-after-write consistency.

This endpoint is ideal for delivering content around the globe with one endpoint, but it only has basic caching logic.

#High performance endpoint

We use a state-of-the-art caching approach, and we have developed a high-performance edge service on the Fastly Compute Edge platform. The service is deployed close to your users around the world.

This endpoint is ideal for delivering content around the globe with low latency and high read-throughput.

#Consistency

To understand both endpoints better, you should have a basic knowledge of cache consistency modes. You can be sure that any changes have persisted at Hygraph if your response was successful.

#Eventual consistency

Some changes are not visible immediately after the update. For example, if you create, delete or update content the update is distributed around the globe with a short delay. Theoretically, if you read content right after a mutation, you may receive stale content.

#Read-after-write consistency

In contrast, read-after-write consistency guarantees that a subsequent read after an update, delete, or create can see those changes immediately. This is only valid for operations hitting the same POP (point-of-presence).

#Model + stage based invalidation

Model + stage based invalidation, which is only available for our High performance endpoint, allows invalidating only the models that were changed based on the mutations used for content and schema changes, rather than invalidate the complete cache.

Regarding queries that fetch related content that needs to be invalidated: We analyze query responses and invalidate only the cached queries that contain the changed model.

For example:

Considering invalidation after a schema change, if a user were to update the Author model shown in the example above, this cached query would be invalidated, as it also returned the Author model.

For content changes, we also take the stage into account, meaning that updating an Author entry, and not publishing it, would invalidate all cached queries that returned the DRAFT stage and the Author model. Queries that returned the PUBLISHED stage will remain cached.

#Smart cache invalidation

Our System understands if mutations are flowing through the cache and invalidates the affected resources with an eventual consistency guarantee.

#Entry-based cache invalidation

In some cases, cache invalidation can be done on an entry basis.

There are three scenarios where entry-level tagging is applied and invalidation becomes more granular, targeting only responses embedding specific entries:

#Query of a single entry by id

Following our recipe website example situation, in this scenario we query a single recipe (entry). When that recipe is found, the cached response for the query is only invalidated if there are mutations sent that affect this specific entry.

The cached response will remain valid after mutations targeting other recipes, or any other model.

# Invalidated on
# - changes to Recipe 'cltx865t89nu607uj4tvaact5' [EBC]
query {
recipe(where: {
id: "cltx865t89nu607uj4tvaact5"
}){
id
title
description
}
}

#Single reference fields

In this scenario and following our example situation, the query targets multiple recipes along with their associated chefs.

Here, the cache mechanism becomes a little more complex as it has to deal with multiple relationships:

# Invalidated on:
# - changes or creation of any Recipe
# - changes of specific Chef related to the returned recipes [EBC]
query {
recipes(first: 5) {
chef { #single reference field
id
name
bio
}
}
}

Changing any of the recipes or adding new recipes, will invalidate the cache associated with this query.

This is because the query fetches the first five recipes, and any changes or additions could potentially alter this result.

Additionally, any changes to the specific chefs who are directly associated with the returned recipes will also invalidate the cache. Other chefs' information will not affect the response and so it does not invalidate the cache.

The EBC behavior from the previous snippet does not apply if chef parameters are part of the query where argument:

# Invalidated on:
# - changes or creation of any Recipe
# - changes or creation of any Chef
query {
recipes(where: {
chef: {
birthdate_gt: "1990-04-05T00:00:00Z"
}
}) {
chef {
id
name
bio
}
}
}

Since the chef's birthdate is now a determining factor in the query results, any changes or additions to the chefs - regardless of their association with the returned recipes - can potentially alter the result of this query. For example, the birthday of another chef is updated and becomes included by the filter.

Because of this, even modifying or adding chefs not directly associated with the returned recipes invalidates the cache.

#Nested references

Entry-based cache invalidation also applies when the reference fields are nested deeply in the query tree, even if they are children of multi reference fields.

# Invalidated on:
# - changes or creation of any Chef
# - changes or creation of any Recipe
# - changes of specific RecipeWalkthrough related to
# the returned recipes [EBC]
# - changes of specific Asset(video) related to
# the returned RecipeWalkthrough [EBC]
query {
chefs { # multi model query
name
recipes { # multi reference field
recipeWalkthrough { # single reference field
video { # single reference field
fileName
url
}
}
}
}
}

In this scenario, where the query involves multiple models and their relationships, the cache invalidation becomes a bit complex.

Following our recipe website schema example: Any changes or additions to the chefs, recipes, or recipe walkthroughs, will invalidate the cache associated with this query. Additionally, any changes or additions to the specific assets (videos) related to the returned recipe walkthroughs will invalidate the cache as well.

Modifying or adding assets not directly associated with the returned recipe walkthroughs does not affect the cache, so it will remain valid.

#Multi-model query with unique fields only

In the following example, we are querying for a single recipe based on a unique field - the slug:

# Invalidated on:
# - changes of specific `Recipe` with slug "classic-spaghetti-carbonara"
query {
recipe(where:{ slug: "classic-spaghetti-carbonara"}) {
id
slug
title
description
createdAt
}
}

The cache will be invalidated only if there are changes to the specific recipe with the slug "classic-spaghetti-carbonara".

Any changes to other recipes will not affect the cache associated with this query.

In this other example, the query fetches chefs and the recipes associated with each chef based on a unique field - the slug:

# Invalidated on:
# - changes or creation of any Chef
# - changes of specific `Recipe` with slug "classic-spaghetti-carbonara"
query {
chefs {
id
name
recipes(where: {slug: "classic-spaghetti-carbonara"}) {
id
title
description
}
}
}

The cache will be invalidated if there are changes to the specific recipe with the slug "classic-spaghetti-carbonara" or any changes or additions to the chefs.

Any changes to other recipes not having the slug "classic-spaghetti-carbonara" will not affect the cache associated with this query.

#stale-if-error

In case of an outage of our APIs - this includes remote field origin errors as well- we will fall back for at least 24h to the latest cached content on our edge servers. This adds an additional reliability layer.

You can use a header for the High performance endpoint that lets you set stale-if-error on a per query basis.

{
"hyg-stale-if-error": "21600"
}

The values are in seconds.

#stale-while-revalidate

With the High performance endpoint you will get cached responses directly, while we update the content in the background. This means your content is always served on the edge, with low latency for your users.

Staleness refers to how long we deliver stale data while we revalidate the cache in the background if the cache was invalidated.

You can use a header for the High performance endpoint that lets you set stale-while-revalidate on a per query basis.

{
"hyg-stale-while-revalidate": "27"
}

The values are in seconds.

#Remote fields

GraphQL queries that contain remote fields are cached differently. By default, a response is marked as cacheable when all remote field responses are cacheable according to rfc7234. You can control the TTL (Time-to-Live) cache by returning the Cache-Control response header.

By default, we will set a TTL of 900s, you can set a minimum TTL of 60s. While it is also possible to respond with a no-store cache directive to disable the cache, this is not recommended, as it marks the entire response as not cacheable and will increase the load on your origin.