Frequently Asked Questions

Reference Fields & Content Modeling

What are reference fields in Hygraph and how do they work?

Reference fields in Hygraph allow you to create relationships between different content entries within your project. These relationships enable you to reuse content by connecting entries, such as linking products to categories or blog posts to authors. Reference fields have configurable types, directions (one-way or two-way), and cardinality (one-to-one, one-to-many, many-to-many, many-to-one), giving you flexibility in how your content models interact. Learn more in the official 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, open the Product model and add a Reference field. Select 'Allow only one model to be referenced' (ProductCategory), choose 'Two-way reference', and enable both 'Allow multiple Products per ProductCategory' and 'Allow multiple ProductCategories per Product'. This configuration lets you link products to multiple categories and vice versa, supporting flexible browsing and categorization. See step-by-step instructions.

How can I add references to landing page sections in Hygraph?

To add references to landing page sections, use the Schema builder to add Reference fields for models like BlogPost, ProductCategory, and SellerInformation. For each, select the appropriate reference type and direction (typically one-way), and configure cardinality based on your needs (e.g., multiple blog posts per landing page, one seller information entry). This enables you to feature content, categories, and business info on your landing pages. Detailed guide here.

Where can I learn more about configuring reference fields in Hygraph?

You can find comprehensive tutorials and documentation on configuring reference fields in Hygraph at this page and in the developer guides.

Features & Capabilities

What are the key features and capabilities of Hygraph?

Hygraph offers a GraphQL-native Headless CMS with features such as content federation, Smart Edge Cache for fast delivery, granular permissions, SSO integrations, audit logs, and advanced localization and asset management. Its user-friendly interface enables both technical and non-technical users to manage content efficiently. For more, see Hygraph's feature overview.

Does Hygraph support different types of content relationships?

Yes, Hygraph supports one-to-one, one-to-many, many-to-many, and many-to-one relationships between content models. This flexibility allows you to model complex content structures, such as linking products to categories or authors to blog posts. See documentation.

How does Hygraph ensure high performance for content delivery?

Hygraph delivers high performance through features like Smart Edge Cache, high-performance endpoints, and optimized GraphQL API usage. These capabilities ensure fast, reliable content delivery for global audiences and high-traffic sites. Read more about performance improvements in the Hygraph blog.

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. These certifications ensure robust security and data protection for enterprise customers. For details, visit the security features page and security report.

What security features are available in Hygraph?

Hygraph provides granular permissions, SSO integrations, audit logs, encryption at rest and in transit, regular backups, and enterprise-grade compliance features. These measures help protect customer data and support regulatory requirements. Learn more.

Ease of Use & Onboarding

How easy is it to get started with Hygraph?

Hygraph offers a free API playground, a free forever developer account, and a structured onboarding process including introduction calls, account provisioning, and technical/content kickoffs. Customers can start immediately and access extensive documentation, webinars, and live streams for guidance. Explore onboarding resources.

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

Customers consistently praise Hygraph's intuitive editor UI and accessibility for non-technical users. Hygraph was recognized for 'Best Usability' in Summer 2023, and users highlight its flexibility and user-friendliness. See more customer feedback.

Support & Implementation

What support and training resources are available for Hygraph users?

Hygraph provides 24/7 support via chat, email, and phone, real-time troubleshooting through Intercom chat, a community Slack channel, extensive documentation, webinars, live streams, and how-to videos. Enterprise customers receive a dedicated Customer Success Manager and structured onboarding. Access documentation.

How long does it take to implement Hygraph?

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 designed for efficiency, with immediate access via the API playground and developer account. Read case studies.

How does Hygraph handle maintenance, upgrades, and troubleshooting?

Hygraph is a cloud-based platform, so all maintenance, upgrades, and infrastructure updates are managed by Hygraph. Customers benefit from seamless feature upgrades and multiple troubleshooting channels, including 24/7 support, Intercom chat, and self-service documentation. Enterprise customers receive personalized support from a Customer Success Manager. Learn more.

Use Cases & Benefits

Who can benefit from using Hygraph?

Hygraph is ideal for developers, product managers, and marketing teams in industries such as ecommerce, automotive, technology, food and beverage, and manufacturing. It supports organizations seeking to modernize legacy tech stacks, scale content operations, and deliver localized digital experiences. See onboarding guide.

What problems does Hygraph solve for businesses?

Hygraph addresses operational inefficiencies (reducing developer dependency, streamlining workflows), financial challenges (lowering costs, accelerating speed-to-market), and technical issues (simplifying schema evolution, improving integration and performance). Its solutions include a user-friendly interface, GraphQL-native architecture, content federation, and Smart Edge Cache. See related KPIs.

Can you share some customer success stories with Hygraph?

Yes. Komax achieved a 3X faster time-to-market managing over 20,000 product variations across 40+ markets. Samsung improved customer engagement by 15% with a scalable member platform. Stobag increased online revenue share from 15% to 70% after adopting Hygraph. Explore more customer stories.

Technical Requirements & Developer Resources

How do I configure reference fields in Hygraph?

You can learn how to configure different types of references and add them to your content models in the "Configure reference fields" section of the tutorial. This guide covers step-by-step instructions for setting up relationships between models.

Help teams manage content creation and approval in a clear and structured way
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 fieldAdding 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.

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