Frequently Asked Questions

Features & Capabilities

What is a component in Hygraph?

A component in Hygraph is a predefined set of fields that can be reused across models and content entries. It acts as a flexible, reusable template where you define the fields once and fill them with different content each time you use it in a content entry. Learn more.

How do component fields work in Hygraph?

Component fields in Hygraph define which components can be used in a model. There are basic and modular component fields. Basic fields allow one component, while modular fields can have two or more components attached. Both can be configured to allow multiple values, enabling multiple component instances in a content entry. Details here.

What are nested components and how do they work?

Nested components allow you to create components within a component, enabling parent-child relationships. You can nest up to 4 levels deep, which is useful for creating complex, reusable structures like sections and subsections. More info.

How do you add a component to your model in Hygraph?

To add a component, first create it in the Schema builder, then add it to your model using a component field. You can configure the field to allow multiple values or make it required. The Studio UI supports linking up to 50 component instances to a single entry. Step-by-step guide.

What is the maximum number of component instances you can link to a single entry?

The Studio UI supports linking up to 50 component instances to a single entry. This applies to both basic and modular component fields. Any instances beyond the first 50 are fully queryable through the API but not visible in the UI. Learn more.

How do you use conditional components in Hygraph?

You can use the Conditional visibility option in a component field so that the component only displays in the content form when needed. This simplifies the content form, especially for deeply nested structures. Setup guide.

How do you query components using the Hygraph API?

Once a component field is configured, it becomes immediately queryable through the API. Basic component fields are queried like regular fields, while modular component fields use union types and __typename to distinguish between component instances. See examples.

How do you decide between using components and references in Hygraph?

Components reuse a set of fields without content, while references reuse existing content entries. Use references if you want to reuse content (like author profiles), and components if you want to reuse field structures but fill in content each time. More info.

Can components be used with remote sources or embedded in the Rich Text editor?

Currently, components do not support remote sources or embedding for the Rich Text editor. Details here.

How do you reorder or remove component instances in Hygraph?

You can reorder or remove component instances using the context menu or directional arrows in the content editor. The 'Remove all' option allows you to delete all component instances at once. Learn more.

What is the process for creating a component in Hygraph?

Navigate to the Schema builder, click '+Add' in the Components section, name your component, and add fields as needed. Save the component and configure its fields. Step-by-step instructions.

How do you add a component field to a model in Hygraph?

In the Schema Builder, select the model, choose a basic or modular component field from the sidebar, name it, and select the component(s) to attach. Configure properties such as allowing multiple values or making the field required. Full guide.

How do you use a component in a content entry?

After adding a component to your model, go to the Content Editor, select the model, and add an entry. Use the '+Add component' button for basic fields or select from a dropdown for modular fields. You can add, remove, and reorder instances as needed. Watch a video tutorial.

What is the maximum nesting level for components in Hygraph?

The maximum nesting level for components in Hygraph is 4. This allows for complex, multi-level component structures. Details here.

How do you configure conditional visibility for components?

Conditional visibility can be set in the Advanced section of the component configuration screen. This ensures the component only appears in the content form when specific conditions are met. Setup instructions.

Can you edit the API ID and Plural API ID when creating a component?

Yes, when creating a component, the system autocompletes the API ID and Plural API ID fields, but you can edit these values if needed. Learn more.

What is the difference between basic and modular component fields?

Basic component fields allow only one component to be attached, while modular component fields can have two or more components attached. Both types can be configured to allow multiple values. Details here.

How does querying modular component fields work?

Modular component fields are union types under the hood. You use ... on [ComponentName] and __typename in your GraphQL queries to distinguish between different component instances. See examples.

How do you use components for authors in Hygraph?

You can use either components or references for authors. References are best if you want reusable author profiles, while components are useful if you want to fill in author details each time without creating separate profiles. More info.

Where can I find more technical documentation about components?

Comprehensive technical documentation about components is available at Hygraph Components Documentation.

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 includes different limits and features. See full details.

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 workflow. More info.

What features are included in the Growth plan?

The Growth plan starts at $199/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. Details here.

What features are included in the Enterprise plan?

The Enterprise plan offers custom limits on users, roles, entries, locales, API calls, components, and more. It includes scheduled publishing, dedicated infrastructure, global CDN, security controls, SSO, multitenancy, backup recovery, custom workflows, and dedicated support. See full details.

Technical Requirements & Documentation

Where can I find API reference documentation for Hygraph?

API reference documentation is available at Hygraph API Reference, covering endpoints, webhooks, and more.

Does Hygraph provide documentation for schema components?

Yes, Hygraph provides detailed documentation for schema components at this link.

Where can I learn about references in Hygraph?

Documentation about references is available at Hygraph References Documentation.

Is there documentation for webhooks in Hygraph?

Yes, technical details about webhooks can be found at Webhooks API Reference.

Where can I find documentation for AI integrations in Hygraph?

Documentation for AI Agents, AI Assist, and MCP Server is available at AI Agents, AI Assist, and MCP Server.

Integrations & APIs

What integrations does Hygraph support?

Hygraph supports integrations with DAM systems (Aprimo, AWS S3, Bynder, Cloudinary, Imgix, Mux, Scaleflex Filerobot), Adminix, Plasmic, and custom integrations via SDK or external APIs. Marketplace apps are also available. See full list.

Does Hygraph provide APIs for content management?

Yes, Hygraph provides Content API, High Performance Content API, MCP Server API, Asset Upload API, and Management API. API Reference.

Security & Compliance

What security and compliance certifications does Hygraph have?

Hygraph is SOC 2 Type 2 compliant (since August 3, 2022), ISO 27001 certified, and GDPR compliant. See details.

How does Hygraph ensure data security?

Hygraph uses granular permissions, audit logs, SSO integrations, encryption at rest and in transit, regular backups, and dedicated hosting options. More info.

Performance & Optimization

How does Hygraph optimize product performance?

Hygraph offers high-performance endpoints for low latency and high read-throughput, actively measures GraphQL API performance, and provides practical advice for optimization. Read more.

Ease of Use & Implementation

How easy is it to set up and use Hygraph?

Hygraph is noted for its intuitive UI and ease of setup, even for non-technical users. Customers can start immediately with a free API playground and developer account. Structured onboarding and training resources are available. Try now.

How long does it take to implement Hygraph?

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

Use Cases & Customer Success

Who is the target audience for Hygraph?

Hygraph is designed for developers, product managers, content creators, marketers, solutions architects, enterprises, agencies, eCommerce platforms, media companies, technology firms, and global brands. See case studies.

What industries are represented in Hygraph's case studies?

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

Can you share specific customer success stories using Hygraph?

Yes. Samsung built a scalable API-first app, Dr. Oetker enhanced digital experience, Komax achieved 3x faster time to market, AutoWeb increased monetization by 20%, BioCentury accelerated publishing, Voi scaled multilingual content, HolidayCheck reduced bottlenecks, and Lindex Group accelerated global delivery. Read more.

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 achieved 3x faster launches and Samsung improved engagement by 15%. See case studies.

Pain Points & Solutions

What core problems does Hygraph solve?

Hygraph solves operational inefficiencies (eliminates developer dependency, modernizes legacy stacks), financial challenges (reduces costs, accelerates launches), and technical issues (simplifies schema evolution, robust integrations, performance optimization, localization, and asset management). See examples.

What pain points do Hygraph customers commonly face?

Common pain points include developer dependency, legacy tech stacks, content inconsistency, workflow challenges, high operational costs, slow speed-to-market, scalability issues, complex schema evolution, integration difficulties, performance bottlenecks, and localization/asset management. See solutions.

How does Hygraph address operational pain points?

Hygraph eliminates developer dependency with an intuitive UI, supports modern workflows, and enables independent content management. HolidayCheck reduced bottlenecks and Si Vale streamlined creation with Hygraph. See case study.

How does Hygraph address financial pain points?

Hygraph reduces operational and maintenance costs, accelerates launches, and supports global scaling. Komax achieved faster launches and Samsung scaled globally with reduced overhead. See case study.

How does Hygraph address technical pain points?

Hygraph simplifies schema evolution, offers robust GraphQL APIs, supports content federation, and optimizes performance with Smart Edge Cache. Voi scaled multilingual content and improved workflows. See case study.

Competition & Differentiation

How does Hygraph differentiate itself from other CMS platforms?

Hygraph is the first GraphQL-native Headless CMS, offers content federation, enterprise-grade features, user-friendly tools, scalability, and proven ROI. Ranked 2nd out of 102 Headless CMSs in G2 Summer 2025 and voted easiest to implement four times. See ranking.

Why should a customer choose Hygraph over alternatives?

Hygraph offers a GraphQL-native architecture, content federation, enterprise-grade features, intuitive UI, scalability, and strong market recognition. Case studies show faster launches and improved engagement. See proof.

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

#Components

#Overview

A component is a predefined set of fields that can be reused across models and content entries. You can think of a component as a flexible, reusable template where you define the fields that will be used inside a component once, and then fill them with different content every time you use it in a content entry.

#What you can do

You can create components as templates to reuse in your schema. This saves time and declutters your content creation screen.

#Important concepts

  • Component: A predefined set of fields that can be reused across models and content entries. You can think of a component as a flexible, reusable template: you define the fields that will be used inside a component once, and then fill them with different content every time you use it in a content entry.

  • Component instance: A specific occurrence of the component type, containing content, inside a content entry. The Studio UI currently supports linking up to 50 component instances to a single entry. This applies to both basic and modular component fields. This limit is intentional, as referencing a large number of component instances can significantly slow down queries and increase the risk of errors.

  • Component field: A special field type in your Hygraph schema that defines which components of which type can be used in a model. Component fields can be of basic or modular types.

    • Basic component field: A basic component field can only have one component attached to it. You can limit the number of component instances to one, or allow multiple component instances to be added in the content entry.

    • Modular component field: A modular component field can have two or more components attached to it.

  • Nested components: Functionality that allows you to create components within a component, as if you had a parent component containing one or more child components.

#Adding a component to your model

The process of adding a component to your model involves two major steps: creating a component and adding it to your model using a component field.

#Creating a component

Creating a componentCreating a component

  1. Navigate to the Schema builder.

  2. In the left sidebar, find the Components section below your Models and click +Add.

  3. Add the name of your component in the Display name field. The system will autocomplete the API ID and Plural API ID fields, but you can edit these values if you need to.

  4. Click Create component to save.

  5. Your newly saved component is empty at the moment. You can add different fields to it. For example, we can create an Address component containing single-line text fields for the Address lines and City, as well as a number field for ZIP code.

    Creating a componentCreating a component

#Adding a component field to your model

Adding a component field to a modelAdding a component field to a model

  1. Navigate to the Schema Builder, and then to the model that you want to add a component to.

  2. Select a Basic component field or a Modular component field from the Add fields right sidebar. You can learn about the differences between them here.

  3. Type in the Display name of your component field. The system will autocomplete the API ID and Plural API ID fields, but you can edit these values if you need to. Optionally, you can also add a Description.

  4. If you're adding a basic component field, use the Select component dropdown to pick the component for the component field. If you're creating a modular component field, the dropdown reads Select allowed components instead, as you can select more than one component for this field type.

  5. Click Create to save.

#Nested components

The nested components functionality enhances how you can reuse and edit your models by allowing you to add component fields to a component.

Using nested components you can have a parent component where one or more child components are nested. This would allow you to, for instance, create a section and a subsection component, and then embed one into the other.

How to use nested componentsHow to use nested components

  1. Create your components, or use the ones you've already created.

  2. Add either a basic or modular component field to the component you wish to add the nested component to. You will find them on the Add fields right sidebar.

  3. Fill in the required information in the Create field screen in the same way you did for step 3 of the Adding a component field to your model process.

  4. Select the component you wish to nest into the current one from the Select components dropdown at the bottom of the screen if it's a basic component field, or the Select allowed components dropdown if it's a modular component field.

  5. Click Create.

As a result, your new nested component field is now displayed on the fields list of the parent component.

#Using a component in a content entry

After adding a component to your model, you can go to the Content Editor to test it. The video above shows how to work with four possible component field configurations:

  • Basic component field that does not allow multiple values
  • Basic component field that allows multiple values
  • Modular component field that does not allow multiple values
  • Modular component field that allows multiple values

In general, component fields work as follows:

  1. In the Content editor, click on the model you configured the component for and click + Add entry. You will find your component field in the content entry.
  2. If it's a basic component field, click the +Add component button, if it's a modular component field, select a component from the drop-down menu. You've just created your first component instance! Now it's time to add some content to this instance.
  3. If you previously selected Allow multiple values on your component field's parameters, you will be able to add more than one component instance by using the +Add another component button, or by using the context menu and selecting Add component below or Add component above. If your component field doesn't allow multiple values, then you can only add one component instance.
  4. You can also remove and reorder your component instances using the context menu or the directional arrows next to it. The Remove all option at the top removes all component instances at once.

#How to use nested components

After creating a nested component at the schema level, you can go to the Content editor and create a new entry, where you can add the newly created nested component as a subsection of the component you added it to.

Add nested componentsAdd nested components

#Querying components

After a component field has been configured, it's added to the Hygraph schema and becomes immediately queryable through the API. Press CTRL+Space or open the Explorer view to see the available fields inside the model that contains a component field.

Basic component fields are queried in the same way, as you would query regular fields inside your models. In the example below, a user has a page model with a basic hero component field that has cta, description and heroImage fields. Here's an example of a query with this setup:

query basicComponent {
pages {
id
title
mainText
hero {
#note that in the case of basic components, we're only using the component field's API ID, and we don't need to use the API ID of the component itself
cta
decription
heroImage {
url
height
width
}
}
}
}

The query above will return a result like this:

{
"data": {
"pages": [
{
"id": "cl120a7gvu57b0bt3qw4xiv86",
"title": "Open positions at Hygraph",
"mainText": "Follow this link to see all of the open positions - https://jobs.hygraph.com/",
"hero": [
{
"cta": "Explore vacancies!",
"description": "There are a huge variety of positions to be filled now",
"heroImage": {
"url": "https://media.graphassets.com/OIi5LuhxTTOm1M2bDS9N",
"height": 480,
"width": 640
}
},
{
"cta": "Apply right now!",
"description": "The application process is nice and smooth",
"heroImage": {
"url": "https://media.graphassets.com/bAEFpGV2S2WxiuzYcV6R",
"height": 427,
"width": 640
}
}
]
}
]
}
}

Modular component fields are union types “under the hood”, so querying works the same way as with relations and unions. In the example below, a user has a blogPost model with some regular fields, such as id, title and mainText, as well as the modular additionalSections component field. The modular component field has two different components: Contributor and VideoBlock. To query the two components inside the modular component field, we're going to use ... on Contributor and ... on VideoBlock, as we would do with a regular union type:

query modularComponent {
blogPost(where: { id: "cl11z0rctt6g80bt3anxt7c11" }) {
id
title
mainText {
markdown
}
categories {
categoryName
}
additionalSections {
__typename # if you have multiple component instances, it's recommended to use __typename to know which fields belong to which component instance.
... on Contributor {
id
name
jobTitle
}
... on VideoBlock {
id
title
description
youTubeEmbedUrl
autoplay
}
}
}
}

This query will return something like this:

{
"data": {
"blogPost": {
"id": "cl11z0rctt6g80bt3anxt7c11",
"title": "Berlin in spring",
"mainText": {
"markdown": "The best time to visit the German capital is the end of April\n"
},
"categories": [
{
"categoryName": "General"
}
],
"additionalSections": [
{
"__typename": "VideoBlock",
"id": "cl11z858dt6te0ftjxi5ucvwx",
"title": "Spring in Berlin",
"description": "Watch this video for some travelling inspiration",
"youTubeEmbedUrl": "<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/aWBGxt38o4s\" title=\"YouTube video player\" frameBorder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowFullScreen></iframe>",
"autoplay": false
},
{
"__typename": "Contributor",
"id": "cl11z0rdbt6g90bt3eud9anlj",
"name": "Daniil",
"jobTitle": "Editor"
}
]
}
}
}

#How to decide between components and references?

Components are somewhat similar to references (relations) because in both cases something gets reused. The important difference is that in the case of components, only the set of fields without any content gets reused, whereas in the case of relations, already existing content entries get reused.

Let's use an example of an Author component. Authors can be attached to a content entry using either components or relations.

In the case of relations, you need to create your Authors first, in a separate model, and then reuse these content entries by attaching them to a post using the relation field. This works well if you have a small team of authors each of whom has their own Author profile.

In the case of components, you don't have to create Author entries before creating a Blog post content entry. However, every time you add an Author component instance to your post, you will need to fill in all of the fields from scratch. This works well if many different users can be the Authors of your content entries and it doesn't make sense to create an Author profile for each of them.

For more information, check out our document on this subject.

#Conditional components

You can use the Conditional visibility option in a component field so that the component only displays in the content form when needed.

Using conditional visibility is a great way to simplify the way the content form displays when the schema contains deeply nested structures.

You can find the Conditional visibility checkbox in the Advanced section of your components configuration screen:

Conditional componentsConditional components

Check out this document to learn how to set up conditional visibility.