Frequently Asked Questions

Field Configuration & Schema Management

What are the main field configuration options available in Hygraph?

Hygraph provides a comprehensive set of field configuration options for defining models. These include settings for display name, API ID, description, rich text embedding, title fields, multiple values, localization, variants, validations (required, unique, character count, pattern matching), advanced options (initial value, conditional visibility, field visibility), and more. For a full breakdown, see the Field Configuration Documentation.

How do I enable rich text embedding for a field?

To enable rich text embedding, add or edit a Rich Text field, then select the "Enable embedding" checkbox under Field options in the Settings tab. You can then select which models should be embeddable in your Rich Text field. Note: This setting is permanent and cannot be changed after saving. Learn more.

Can I set a field as a title field, and how does it work?

Yes, you can set multiple fields as title fields to appear in relational pickers instead of IDs. This is done by selecting the "Use as title field" checkbox in the Settings tab. Note: You cannot set a field as a title if its visibility is hidden, API only, or read only. For SDK usage, add isTitle: true. See example.

How do I allow multiple values for a field?

To accept multiple values, select the "Allow multiple values" checkbox during field creation. This returns an array to the API. Note: This option is read-only after creation and cannot be combined with title fields. For SDK, use isList: true. See example.

How can I enable localization for a field?

Enable localization by selecting the "Localize field" checkbox in the Settings tab. This allows translations per locale configured on your project. Note: You cannot use "Set initial value" with this option. For SDK, use isLocalized: true. See example.

What does enabling variants for a field do?

Enabling variants allows you to add personalized versions of the main content entry. This is useful for managing content variations. Enable this by selecting the "Enable variants" checkbox in the Settings tab. For SDK, use isVariantEnabled: true. See example.

Field Validations & Advanced Options

How do I make a field required in Hygraph?

Mark a field as required by selecting the "Make field required" checkbox in the Validations tab. This prevents saving content entries if the field is empty and marks the field as non-nullable in the API. For SDK, use isRequired: true. Note: You cannot mark a field as required if its visibility is API only. See example.

How do I set a field as unique?

Set a field as unique by selecting the "Set field as unique" checkbox in the Validations tab. This ensures that content cannot be saved if the same value exists in another entry for this field. Uniqueness is checked per content stage. For SDK, use isUnique: true. See example.

How can I limit the character count for a field?

Limit character count by selecting the "Limit character count" checkbox in the Validations tab. You can specify minimum and maximum characters, and set custom error messages. For SDK, use the validations object. See example.

How do I match or restrict a specific pattern for a field?

To match a specific pattern, select the "Match a specific pattern" checkbox in the Validations tab and provide a regular expression. To restrict a pattern, use the "Restrict a specific pattern" option. You can use common patterns (URL, phone, email, slug) or custom regex, and set error messages. For SDK, use the validations object. See example.

Can Hygraph field validations support Unicode characters?

Yes, Hygraph field validations support Unicode (non-latin) characters. You can add Unicode character classes to custom regular expression field validations. For syntax details, see the RE2 documentation.

What advanced field configuration options are available?

Advanced options include setting initial values for content editors, conditional visibility (showing fields only when needed), and field visibility controls (read/write, read only, hidden, API only). These options help tailor the editor experience and API behavior. For SDK usage, use parameters like initialValue and visibility. See documentation.

Features & Capabilities

What are the key capabilities and benefits of Hygraph?

Hygraph offers operational efficiency (eliminates developer dependency, streamlines workflows), financial benefits (reduces costs, accelerates speed-to-market), technical advantages (GraphQL-native, content federation, enterprise-grade security), and unique features like Smart Edge Cache, custom roles, rich text superpowers, and project backups. Proven results include 3X faster time-to-market (Komax), 15% improved customer engagement (Samsung), and 15% to 70% online revenue share increase (Stobag). See case studies.

How does Hygraph ensure high product performance?

Hygraph delivers exceptional performance through Smart Edge Cache for faster content delivery, high-performance endpoints for reliability and speed, and practical advice for optimizing GraphQL API usage. For more details, see the performance improvements blog.

Security & Compliance

What security and compliance certifications does Hygraph have?

Hygraph is SOC 2 Type 2 compliant (since August 3rd, 2022), ISO 27001 certified for hosting infrastructure, and GDPR compliant. These certifications ensure robust security and adherence to international standards. See security features.

What security features are available in Hygraph?

Hygraph offers granular permissions, SSO integrations, audit logs, encryption (at rest and in transit), regular backups, and enterprise-grade compliance features like dedicated hosting and custom SLAs. Security issues can be reported, and a public security report is available. View security report.

Pricing & Plans

What is Hygraph's pricing model?

Hygraph offers a Free Forever Developer Account, self-service plans (e.g., Growth Plan at $299/month or $199/month billed annually), and custom enterprise pricing starting at $900/month. Plans include 1,000 entries, with add-ons for additional entries ($25 per 5,000), locales ($150 each), and other custom options. See pricing details.

Use Cases & Customer Success

Who is the target audience for Hygraph?

Hygraph is designed for developers, product managers, and marketing teams in industries such as ecommerce, automotive, technology, food and beverage, manufacturing, transportation, staffing, and science. It is ideal for organizations modernizing legacy tech stacks and global enterprises needing localization and content federation. See case studies.

What business impact can customers expect from using Hygraph?

Customers can expect improved speed-to-market (Komax: 3X faster launches), enhanced customer engagement (Samsung: 15% increase), increased revenue (Stobag: 15% to 70% online share), cost efficiency, scalability, and future-proof tech stack integration. See more success stories.

Can you share specific case studies or success stories?

Yes. Komax managed 20,000+ product variations across 40+ markets with 3X faster time-to-market. AutoWeb increased website monetization by 20%. Dr. Oetker adopted MACH architecture for global consistency. Samsung improved engagement by 15%. Stobag grew online revenue share from 15% to 70%. Burrow uses Hygraph for inventory management. See all case studies.

Ease of Use & Implementation

How easy is it to get started with Hygraph?

Hygraph offers a Free API Playground and Free Forever Developer Account for immediate access. Structured onboarding includes introduction calls, account provisioning, business/technical/content kickoffs, and training resources (webinars, live streams, how-to videos). Extensive documentation is available at Hygraph Documentation.

How long does it take to implement Hygraph?

Implementation time varies by project. For example, Top Villas launched in 2 months from initial contact, and Si Vale met aggressive deadlines during implementation. The onboarding process is designed for efficiency and speed. See Top Villas case study.

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

Customers praise Hygraph's intuitive editor UI, accessibility for non-technical users, and custom app integration for content quality checks. Hygraph was recognized for "Best Usability" in Summer 2023. Users highlight its flexibility and effectiveness for diverse teams. Try Hygraph.

Support & Troubleshooting

What customer service and support options are available?

Hygraph provides 24/7 support via chat, email, and phone, Intercom chat for real-time troubleshooting, a community Slack channel, extensive documentation, training resources, and a dedicated Customer Success Manager for enterprise customers. Structured onboarding ensures a smooth start. See documentation.

How does Hygraph handle maintenance, upgrades, and troubleshooting?

Hygraph is cloud-based, so all deployment, updates, security, and infrastructure maintenance are managed by Hygraph. Upgrades are seamless, and troubleshooting is supported via 24/7 channels, Intercom chat, documentation, and API Playground. Enterprise customers receive a dedicated Customer Success Manager. See documentation.

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

#Field configuration

Fields define models in Hygraph. Field settings let you control how each field behaves and shape editor experience. This section describes all the configuration options available for each field in a schema, from basic attributes like display name and API ID to advanced settings for validation, localization, and visibility controls.

#Settings

Each field must have the following settings configured to be added to a model:

PropertyDescription
Display nameThis is what is shown to content editors throughout the application
API IDThis is what is exposed within the API as a field within your model.
DescriptionDisplays a hint for content editors and API users.

Not all settings are available for all field types.

#(Rich text fields only) Embed options

You can enable rich text embedding per field while adding or editing a Rich Text field. On the Settings tab, under Field options, select the Enable embedding checkbox, and then select the models that should be embedded in your Rich text field.

Rich Text OptionsRich Text Options

#Use as title field

You can set multiple fields as titles to appear within the relational picker instead of IDs. You cannot set a field as a title this when the field visibility is set to hidden, API only or read only.

UIManagement SDK
On the Settings tab, under Field options, select the Use as title field checkbox.Add the isTitle:`true` parameter. Here's an example.

Use as a title fieldUse as a title field

#Allow multiple values

You should select this if you wish to accept multiple values for the field. Setting multiple values for the field returns an array to the API.

UIManagement SDK
On the Settings tab, under Field options, select the Allow multiple values checkbox.Add the isList:`true` parameter. Here's an example.

Allow multiple valuesAllow multiple values

#Localize field

Enabling this field allows translations per locale configured on your project.

UIManagement SDK
On the Settings tab, under Field options, select the Localize field checkbox.Add the isLocalized:`true` parameter. Here's an example.

Localize fieldLocalize field

#Enable variants

Enabling this field allows you to add personalized versions of the main content entry.

UIManagement SDK
On the Settings tab, under Field options, select the Enable variants checkbox. For more information, see our Variants docs.Add the isVariantEnabled:`true` parameter. Here's an example.

Enable variantsEnable variants

#Validations

Not all validation options are available for all field types.

#Make field required

Marking a field as required prevents a content entry from being saved if the field is left empty. The API will mark this field as non-nullable.

You cannot mark a field as required when the field visibility is set to API only.

UIManagement SDK
On the Validations tab, select the Make field required checkbox.Add the isRequired:`true` parameter. Here's an example.

Note the following points:

  • You can set hidden and read-only fields as required, but you cannot edit them in the content form. In this case, you need to provide a Migration value to avoid any errors when saving a content entry.
  • You can modify this field after initial field creation. If you want to mark a field as required after you've created content entries based on the model, you need to provide a Migration value. This migration value is automatically updated in all content entries where you previously did not provide any value.
  • After initial field creation, if you want to set a field as required and then unique, follow these steps:
    1. Select the Make field required checkbox, and provide a migration value.
    2. Go through every content entry for this model, and modify the value of the field so that it is unique across all entries.
    3. Republish all the content entries that you changed.
    4. Go back to the model, and select the Set field as unique checkbox.

Make field requiredMake field required

#Set field as unique

Enabling this ensures content cannot be saved if the same value exists within another entry for this field. Uniqueness is checked per Content stage.

UIManagement SDK
On the Validations tab, select the Set field as unique checkbox.Add the isUnique:`true` parameter. Here's an example.

Note the following points:

  • You can modify this field after initial field creation.
  • After field creation, if you want to set a field as unique and then required, follow these steps:
    1. First, ensure that all entries have a value set for the field and republish them.
    2. Then, select the Make field required checkbox.

Set field as uniqueSet field as unique

#Limit character count

This validation allows you to specify the minimum and maximum number of characters, and an optional custom error message if the requirements are not fulfilled.

UIManagement SDK
On the Validations tab, select the Limit character count checkbox, and then choose one of the following options:
  • Between - Specify a range of allowed characters by defining the minimum and maximum length
  • At least - Specify the minimum number of characters required for this field.
  • No more than - Specify the maximum number of character allowed for this field.
Add the validations object. Here's an example.

Limit character countLimit character count

#Match a specific pattern

This validation allows you to accept a specific regular expression. To set this up, follow these steps:

  1. On the Validations tab, select the Match a specific pattern checkbox.
  2. From the list, choose a pattern type, and provide a regular expression. You do not need to wrap the regular expression in opening or closing slashes.
  3. (Optional) Choose whether the matched pattern can be case insensitive, multiline, or single line.
  4. (Optional) Provide a custom error message if the regular expression does not match the specified pattern.

Match a specific patternMatch a specific pattern

#Common patterns

You can use an existing common pattern from the web app, or provide your own.

URL

^(http://www\.|https://www\.|http://|https://)?[a-z0-9]+([-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(/.*)?$

Phone

^(?:(?:\(?(?:00|\+)([1-4]\d\d|[1-9]\d?)\)?)?[\-\.\ \\\/]?)?((?:\(?\d{1,}\)?[\-\.\ \\\/]?){0,})(?:[\-\.\ \\\/]?(?:#|ext\.?|extension|x)[\-\.\ \\\/]?(\d+))?$

Email

[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?

Slug

^[a-z0-9]+(?:[-/][a-z0-9]+)*$

#Unicode characters

Hygraph field validations support unicode (non-latin) characters. You can add Unicode character classes - which typically correspond to specific alphabets - to a custom Regular Expression field validation. You can read about the syntax here.

#Restrict a specific pattern

This validation option allows you to not accept specific regular expression.

  1. On the Validations tab, select the Restrict a specific pattern checkbox.
  2. From the list, choose a pattern type, and provide a regular expression. You do not need to wrap the regular expression in opening or closing slashes.
  3. (Optional) Choose whether the matched pattern can be case insensitive, multiline, or single line.
  4. (Optional) Provide a custom error message if the regular expression does not match the specified pattern.

Restrict a specific patternRestrict a specific pattern

#Advanced

Not all advanced settings are available for all field types.

#Set initial value

You can define an initial value for content editors. This doesn't have any effect on the API when performing mutations.

UIManagement SDK
On the Advanced tab, select the Set initial value checkbox, and add the value there.To set the initial value for a field, use the initialValue parameter to pass a value. Here's an example.

Set initial valueSet initial value

#Conditional visibility

With conditional visibility, you can show selected fields to editors only when they need them. You can still query the values of hidden fields, as conditional visibility only affects the ability to see a field in the UI. For more information on conditional visibility, see our docs here.

Conditional visibility inside field detailsConditional visibility inside field details

#Field visibility

Field visibility has no relation with permissions or security.

UIManagement SDK
On the Advanced tab, use the Field visibility dropdown to select an option.To indicate field visibility, use the visibility parameter to pass a type. Here's an example.

The following options are available in the UI:

  • Read / Write - The field will be accessible for read/write operations. Default.
  • Read only - The field will be shown, but cannot be edited in the UI. You can update via the API if required.
  • Hidden - The field will not be shown in the UI, but can be referenced by other fields such as Slugs.
  • API only - Field is not shown in the UI, but can be used via the API using mutations.

You can set field visibility by passing one of the following types in the Management SDK:

  • visibility: "READ_WRITE"
  • visibility: "READ_ONLY"
  • visibility: "HIDDEN"
  • visibility: "API_ONLY"

Field visibilityField visibility