Frequently Asked Questions

Reference Fields & Content Modeling

What are reference fields in Hygraph and why are they important?

Reference fields in Hygraph allow you to create relationships between different content entries within your project. For example, you can link a product to its categories or a blog post to its author. This enables content reuse and more flexible content structures. Reference fields are essential for building complex content models, such as e-commerce catalogs or editorial workflows. Note: Reference fields require careful schema planning to avoid overly complex relationships. Learn more about references.

What types of reference relationships can I configure in Hygraph?

Hygraph supports four main types of reference relationships: one-to-one, one-to-many, many-to-many, and many-to-one. For example, a one-to-one reference can link a blog post to a single author, while a many-to-many reference can connect products to multiple categories and vice versa. Each type is defined by its direction and cardinality, allowing you to model complex data structures. Note: Not all combinations may be suitable for every use case; review your schema needs before implementation. See documentation.

How do I configure a many-to-many reference between products and categories?

To set up a many-to-many reference between products and categories in Hygraph, select the Product model, add a Reference field, and choose 'Allow only one model to be referenced' (ProductCategory). Set the direction to 'Two-way reference' and enable both 'Allow multiple Products per ProductCategory' and 'Allow multiple ProductCategories per Product'. This configuration allows products to belong to multiple categories and categories to contain multiple products. Note: Many-to-many relationships can increase query complexity; monitor performance for large datasets.

How can I link blog posts and categories to a landing page in Hygraph?

In the Landing Page model, you can add Reference fields to connect blog posts and product categories. For blog posts, select the BlogPost model and set the reference as one-way, allowing multiple blog posts per landing page. For categories, select the ProductCategory model and also use a one-way reference, enabling multiple categories per landing page. This setup helps you feature content and organize navigation on landing pages. Note: One-way references do not create reverse fields, so queries from the referenced model will not return the parent automatically.

What is the process for adding seller information to a landing page using references?

To add seller information to a landing page, create a Reference field in the Landing Page model, select the SellerInformations model, set the reference as one-way, and choose 'To one' for cardinality. This allows you to display business information on the landing page without creating a reverse field in the SellerInformations model. Note: This approach is best for static or rarely changing business info; dynamic seller data may require a different structure.

Features & Capabilities

What are the key features of Hygraph?

Hygraph offers a GraphQL-native architecture, content federation (integrating multiple data sources without duplication), enterprise-grade security and compliance (SOC 2 Type 2, ISO 27001, GDPR), Smart Edge Cache for performance, localization, granular permissions, and a user-friendly interface for non-technical users. It also provides integrations with DAM, PIM, hosting, and commerce platforms. Note: Some advanced features may require higher-tier plans or technical setup. See secure features.

Which integrations are available with Hygraph?

Hygraph integrates with a wide range of platforms, including Digital Asset Management (Aprimo, AWS S3, Bynder, Cloudinary, Imgix, Mux, Scaleflex Filerobot), hosting and deployment (Netlify, Vercel), Product Information Management (Akeneo), commerce (BigCommerce), translation (EasyTranslate), and others like Adminix and Plasmic. For a full list, visit the Hygraph Marketplace. Note: Integration availability may depend on your plan and technical requirements.

Does Hygraph provide APIs for content and asset management?

Yes, Hygraph offers multiple APIs: the GraphQL Content API for querying and manipulating content, the Management API for project structure, the Asset Upload API for uploading files, and the MCP Server API for AI assistant integration. Each API is documented in detail in the API Reference. Note: API usage may be subject to rate limits or plan restrictions.

What technical documentation is available for Hygraph users?

Hygraph provides extensive documentation, including API references, schema component guides, onboarding tutorials, classic docs for legacy users, and integration guides for platforms like Mux, Akeneo, and Auth0. AI features are also documented. Access all resources at Hygraph Documentation. Note: Some advanced topics may require developer experience to fully utilize.

Performance, Security & Compliance

How does Hygraph ensure high performance for content delivery?

Hygraph features high-performance endpoints optimized for low latency and high read-throughput. A read-only cache endpoint delivers 3-5x latency improvements. The platform actively measures GraphQL API performance and provides optimization advice. Details are available in the performance blog post and GraphQL Report 2024. Note: Actual performance may vary based on project complexity and query patterns.

What security and compliance certifications does Hygraph hold?

Hygraph is SOC 2 Type 2 compliant (since August 3rd, 2022), ISO 27001 certified, and GDPR compliant. The platform also adheres to the German Data Protection Act (BDSG) and the German Telemedia Act (TMG). All endpoints use SSL certificates, and data is encrypted in transit and at rest. Note: For detailed compliance documentation, visit the Secure Features page.

What security features are available in Hygraph?

Hygraph provides granular permissions, SSO integrations (OIDC/LDAP/SAML), audit logs, encryption at rest and in transit, regular backups with one-click recovery, and secure API policies (custom origin, IP firewalls). Enterprise guardrails include automatic backup and recovery and ISO 27001/SOC 2 certified data centers. Note: Some features may be limited to enterprise plans.

Implementation & Ease of Use

How easy is it to implement Hygraph and how long does it take?

Implementation timelines vary by project complexity. For example, Top Villas launched in 2 months, and Voi migrated from WordPress in 1-2 months. Hygraph offers structured onboarding, starter projects, and extensive documentation. Non-technical users can set up and use the platform with minimal training. Note: Large-scale migrations or complex integrations may require additional time and technical resources. See onboarding guide.

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

Customers praise Hygraph for its intuitive interface and accessibility for both technical and non-technical users. For example, Sigurður G. (CTO) noted the UI is intuitive for normal users, and Charissa K. (Senior CMS Specialist) highlighted its fast setup and localization. Multiple reviews mention that Hygraph is easy to set up and use, even for non-technical users. Note: Some advanced features may require developer involvement. See user reviews.

Use Cases & Business Impact

What business impact can customers expect from using Hygraph?

Customers have reported faster time-to-market (Komax: 3x faster), improved engagement (Samsung: 15% increase), cost reduction, and enhanced content consistency. Hygraph supports scaling operations and adapting to changing market needs. For example, AutoWeb achieved a 20% increase in website monetization, and Voi scaled multilingual content across 12 countries. Note: Results may vary based on implementation and organizational readiness. See case studies.

Which industries use Hygraph, and can you share some customer success stories?

Hygraph is used in SaaS, marketplace, education technology, media, healthcare, consumer goods, automotive, fintech, travel, eCommerce, government, and more. Notable customers include Samsung (15% engagement increase), Komax (3x faster time-to-market), AutoWeb (20% monetization increase), and Voi (multilingual scaling). See detailed stories at Hygraph case studies. Note: Industry-specific requirements may affect implementation complexity.

Pain Points & Limitations

What common pain points does Hygraph address for its customers?

Hygraph helps reduce developer dependency, modernize legacy tech stacks, ensure content consistency, streamline workflows, lower operational costs, accelerate speed-to-market, and simplify schema evolution. It also addresses integration difficulties and performance bottlenecks. Note: Detailed limitations not publicly documented; ask sales for specifics on edge cases or unsupported scenarios.

What are the limitations or scenarios where Hygraph may not be the best fit?

While Hygraph offers extensive features, some advanced capabilities may require developer involvement or higher-tier plans. Complex many-to-many relationships can increase query complexity, and certain integrations may require technical setup. Detailed limitations are not publicly documented; contact sales for specifics. Note: Always evaluate your project requirements against available features before committing.

LLM optimization

When was this page last updated?

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

Hygraph
Docs

#2.1 Configure reference fields

#Overview

This step of our Getting Started tutorial covers Reference type fields.

References are relations between two or more content entries that exist in your project. With references, you can reuse content entries by connecting them to one another. For instance, in our project, a product content entry could be both a standalone product that a potential customer can browse, but also a reference linked to a different product content entry, as part of a related products section.

ReferencesReferences

References have a type, direction, and cardinality that define the relationship:

  • The type allows us to select if one or more models can be referenced and lets us select which models those will be.
  • The direction allows choosing between one-way references, which allow querying content only from one side, or two-way references, which add a reverse-field to query content from both sides.
  • The cardinality allows defining whether it will be possible to connect one or many entries to the parent entry, as well as the directions of that relation.

The way you configure a reference will result in one of four possibilities:

  • One-to-one reference: It allows adding a reference to one content entry from one model configured as referenceable. For example, you could use this to link a blog post to an author. One-to-one referenceOne-to-one reference
  • One-to-many reference: It allows adding references to multiple content entries from one model configured as referenceable. For example, you could use this to link a blog post to its multiple authors. One-to-many referenceOne-to-many reference
  • Many-to-many reference: It allows adding references to multiple content entries from the different models configured as referenceable. For example, you could use this to link your products to the categories they belong to. In this case, a product can have multiple categories, and category can have multiple products. Many-to-many referenceMany-to-many reference
  • Many-to-one reference: It allows adding references to multiple content entries of the parent model to one model configured as referenceable. For example, you could use this to link an author to all their related blog posts. Many-to-one referenceMany-to-one reference

We'll learn how to configure some of them in the context of our e-commerce project, so we can later use them in the content editor.

To be able to establish relations in the content, we first need to configure the relations in our schema. Our project will use different types of references to connect models in different ways, but we won't be covering all possibilities in this tutorial. You can learn about all of them here.

#Products and categories

In a previous step, we created models for Product & Product category. We want to be able to select categories our product belongs in every time we create a listing. We will create a reference that will make it possible for customers to browse categories besides looking for specific items.

To link these two models, let's click on the Product model to open it and select the Reference field from the right sidebar. You'll find it under Relation.

Adding a reference field

Since this is a many-to-many reference type, we'll first define the relationship, then configure the reference, and finally the reverse field.

We'll use the following information:

Screen sectionFieldInput
Define relationshipReference typeSelect Allow only one model to be referenced because we only want to be able to reference product categories here.
Define relationshipModel to referenceUse the dropdown to select the ProductCategory model.
Define relationshipReference directionsSelect Two-way reference. This will allow us to query what category a product is, but also to query all the products within a category.
Define relationshipReference directionsSelect the Allow multiple Products per ProductCategory and Allow multiple ProductCategories per Product checkboxes.
Define relationshipRelationship cardinalityThe graphic will show that the relationship between models is of type many-to-many. Let's click Continue to configure the reference.
Configure referenceDisplay namePre-configured according to our selection. This information will appear in our Product model. We'll leave this value as it is.
Configure referenceAPI IDPre-configured according to our selection. This information will appear in our Product model. We'll leave this value as it is.
Configure referenceDescription"Select the categories that apply to your product"
Configure referenceField visibilitySelect Read / Write. Click Continue to configure the reverse field
Configure reverse fieldDisplay namePre-configured according to our selection. This information will appear in our Product model. We'll leave this value as it is.
Configure reverse fieldAPI IDPre-configured according to our selection. This information will appear in our Product model. We'll leave this value as it is.
Configure reverse fieldField visibilityRead / Write

Finally, click Add to save.

We'll see that it's been added at the bottom. Let's use the six-dots handlebar to move it upwards, under the slug field.

Reorder reference field in schema

Now that we've added the product category reference, we'll be able to work on the content editor later on to both create our categories and reference those categories in our product listings.

#Landing page sections

We want our Landing page model to provide featured content through blog posts, allow users to browse our product categories, and also have a section where our business information can be displayed. We'll do this through relations.

#Blog Post

First, we are going to connect our Blog Post model. In the Landing page model in the Schema builder, we'll add the Reference field from the right sidebar.

We'll use the following information:

Screen sectionFieldInput
Define relationshipReference typeSelect Allow only one model to be referenced because we only want to be able to reference blog posts here.
Define relationshipModel to referenceUse the dropdown to select the BlogPost model.
Define relationshipReference directionsSelect One-way reference. This will allow us to add blog posts to the landing page without generating a reverse field in the Blog Post model.
Define relationshipReference directionsSelect the Allow multiple BlogPosts per LandingPage checkbox. Let's click Continue to configure the reference.
Configure referenceDisplay namePre-configured according to our selection. This information will appear in our Landing Page model. We'll leave this value as it is.
Configure referenceAPI IDPre-configured according to our selection. This information will appear in our Landing Page model. We'll leave this value as it is.
Configure referenceDescription"Featured item"
Configure referenceField visibilityRead / Write

Finally, click Add to save.

#Product category

Now, we are going to connect our Product category model. Let's add a Reference field from the right sidebar again.

We'll use the following information:

Screen sectionFieldInput
Define relationshipReference typeSelect Allow only one model to be referenced, because we only want to be able to add product categories in this relation.
Define relationshipModel to referenceUse the dropdown to select the ProductCategory model.
Define relationshipReference directionsSelect One-way reference. This will allow us to add categories to the landing page without generating a reverse field in the Product category model.
Define relationshipReference directionsSelect the Allow multiple ProductCategories per LandingPage checkbox. Let's click Continue to configure the reference.
Configure referenceDisplay namePre-configured according to our selection. This information will appear in our Landing Page model. We'll leave this value as it is.
Configure referenceAPI IDPre-configured according to our selection. This information will appear in our Landing Page model. We'll leave this value as it is.
Configure referenceDescription"Browse our categories"
Configure referenceField visibilityRead / Write

Finally, click Add to save.

#Seller information

Last, we're going to connect our Seller information model. Let's see if you can add a reference by yourself now.

This reference needs to have almost the same characteristics as the last two we added. We'll use the following information:

Screen sectionFieldInput
Define relationshipReference typeSelect Allow only one model to be referenced, because we only want to be able to add our seller information in this relation.
Define relationshipModel to referenceUse the dropdown to select the SellerInformations model.
Define relationshipReference directionsSelect One-way reference. This will allow us to add our seller information to the landing page without generating a reverse field in the Seller information model.
Define relationshipRelation cardinalitySelect To one. Let's click Continue to configure the reference.
Configure referenceDisplay namePre-configured according to our selection. This information will appear in our Landing Page model. We'll leave this value as it is.
Configure referenceAPI IDPre-configured according to our selection. This information will appear in our Landing Page model. We'll leave this value as it is.
Configure referenceDescription"Business information"
Configure referenceField visibilityRead / Write

Finally, click Add to save.

Your Landing page model should look like this:

Your Landing page model so farYour Landing page model so far