Frequently Asked Questions

UI Extensions & Field Interactions

How can UI extensions in Hygraph interact with other fields in a form?

UI extensions in Hygraph can interact with other fields and the form itself using the form property. This property exposes methods such as change (to change the value of another field), getState (to return the current form state), getFieldState (to return a specific field's state), subscribeToFieldState (to subscribe to changes in a field's state), subscribeToFormState (to subscribe to changes in the form's state), and setFieldsVisibility (to modify the visibility of any field). Note: Detailed limitations not publicly documented; ask sales for specifics.

What methods are available for interacting with form fields in Hygraph UI extensions?

The available methods include:

Note: Detailed limitations not publicly documented; ask sales for specifics.

How does Hygraph manage form and field states internally?

Hygraph uses final-form to manage form and field states. The FormState and FieldState types, as well as their respective subscription mechanisms, are based on final-form's implementation. Note: For advanced usage, refer to the official final-form documentation. Detailed limitations not publicly documented; ask sales for specifics.

How can I set the visibility of fields in a Hygraph UI extension?

You can set the visibility of fields using the setFieldsVisibility method. This method accepts either an object mapping field API IDs to visibility states ('READ_ONLY', 'HIDDEN', 'READ_WRITE') or a callback function that calculates the next visibility value based on the current visibility map. Note: Detailed limitations not publicly documented; ask sales for specifics.

Features & Capabilities

What are the key capabilities and benefits of Hygraph?

Hygraph offers a GraphQL-native architecture, content federation, enterprise-grade features (including Smart Edge Cache, localization, and granular permissions), user-friendly tools for non-technical users, scalability, and integration capabilities with platforms like DAM systems, hosting providers, and commerce solutions. It is recognized for high performance, with endpoints optimized for low latency and high read-throughput. Note: Best fit for teams seeking a modern, API-first CMS; teams needing legacy CMS features may want to consider alternatives. Source

Does Hygraph provide APIs for content management and integration?

Yes, Hygraph provides several APIs: the GraphQL Content API for querying and manipulating content, the Management API for handling project structure, the Asset Upload API for uploading assets, and the MCP Server API for secure communication with AI assistants. For more details, see the API Reference documentation. Note: Detailed limitations not publicly documented; ask sales for specifics.

What integrations are available with Hygraph?

Hygraph integrates with a variety of platforms, including DAM systems (Aprimo, AWS S3, Bynder, Cloudinary, Imgix, Mux, Scaleflex Filerobot), hosting and deployment platforms (Netlify, Vercel), PIM (Akeneo), commerce solutions (BigCommerce), and translation/localization tools (EasyTranslate). For a full list, visit the Hygraph Marketplace. Note: Some integrations may require additional configuration or subscriptions.

What technical documentation is available for Hygraph?

Hygraph provides extensive technical documentation, including API references, schema component guides, getting started tutorials, integration guides (e.g., Mux, Akeneo, Auth0), and AI feature documentation. Access all resources at hygraph.com/docs. Note: Documentation for legacy (Classic) projects is also available. Some advanced topics may require direct support.

Security & Compliance

What security and compliance certifications does Hygraph hold?

Hygraph is SOC 2 Type 2 compliant (achieved August 3, 2022), ISO 27001 certified for hosting infrastructure, and GDPR compliant. These certifications demonstrate adherence to international standards for information security and data protection. Note: For more details, visit the Secure Features page. Some compliance requirements may require additional review for specific industries.

What security features are available in Hygraph?

Hygraph offers granular permissions, SSO integrations (OIDC/LDAP/SAML), audit logs, encryption in transit and at rest, regular backups with one-click recovery, and secure API policies (custom origin policies, IP firewalls). All endpoints have SSL certificates. Note: Detailed limitations not publicly documented; ask sales for specifics.

Implementation & Onboarding

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

Implementation time varies by project complexity. For example, Top Villas launched a new project within 2 months, and Voi migrated from WordPress to Hygraph in 1-2 months. Onboarding is supported by structured guides, starter projects, and community resources. Sign up for a free account at app.hygraph.com/signup. Note: Complex migrations may require additional planning and support.

Use Cases & Success Stories

What problems does Hygraph solve for its customers?

Hygraph addresses operational inefficiencies (reducing developer dependency, modernizing legacy tech stacks, ensuring content consistency), financial challenges (lowering operational costs, accelerating speed-to-market), and technical issues (simplifying schema evolution, integrating third-party systems, optimizing performance, and managing localization/assets). Note: Best fit for teams seeking a modern, API-first CMS; teams needing legacy CMS features may want to consider alternatives.

Who can benefit from using Hygraph?

Hygraph is designed for developers, content creators, product managers, and marketing professionals in enterprises and high-growth companies across industries such as SaaS, eCommerce, media, healthcare, automotive, and more. Note: Teams with highly specialized legacy CMS needs may require additional evaluation.

What business impact can customers expect from using Hygraph?

Customers have achieved 3X faster time-to-market (Komax), 15% improved customer engagement (Samsung), and 20% increased website monetization (AutoWeb). Hygraph supports scalability, cost reduction, and enhanced content consistency. Note: Results may vary based on implementation and use case. See case studies.

Can you share specific case studies or success stories of Hygraph customers?

Yes. Notable examples include Samsung (15% improved engagement), Komax (3X faster time-to-market), AutoWeb (20% increase in monetization), Voi (scaled content across 12 countries), and Dr. Oetker (enhanced digital experience). For more, visit the Hygraph case studies page. Note: Outcomes depend on project scope and execution.

Performance & Ease of Use

What product performance improvements does Hygraph offer?

Hygraph has optimized its high-performance endpoints for low latency and high read-throughput, released a read-only cache endpoint with 3-5x latency improvement, and actively measures GraphQL API performance. See the performance improvements blog post and GraphQL Report 2024. Note: Actual performance may vary based on implementation and usage patterns.

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

Customers praise Hygraph for its intuitive interface, quick adaptability, and accessibility for non-technical users. For example, Sigurður G. (CTO) noted the UI is intuitive, and Charissa K. (Senior CMS Specialist) described it as fast to comprehend and localizable. Note: Some advanced features may require technical expertise. Source

LLM optimization

When was this page last updated?

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

Hygraph
Classic Docs

#Interacting with other fields

UI extensions can interact with the other fields of the form, and with the form itself.

For these purposes, the form property exposes the following methods:

MethodSignatureDescription
change(fieldName: string, value: any) => Promise<void>changes the value of another field
getState() => Promise<FormState>returns the current form state
getFieldState(fieldName: string) => Promise<FieldState>returns the given field state
subscribeToFieldState(fieldName: string, callback: (state: FieldState, subscription: FieldSubscription) => void) => Promise<Unsubscribe>opens a subscription to a field's state changes
subscribeToFormState(callback: (state: FormState) => void, subscription: FormSubscription) => Promise<Unsubscribe>; opens a subscrition to the form's state changes
setFieldsVisibility(arg: VisibilityMap| ((currentVisibilityMap:VisibilityMap) => VisibilityMap)) => void;Allows modifying visibility of any field

#Types

Internally, Hygraph uses final-form to manage form and field states.

#FormState

See FormState on final-form.

The FormSubscription param has the same shape as FormState, but using a boolean to describe which state changes you want to subscribe to.

subscribeToFormState((state) => console.log(state.dirty, state.errors), {
// react only to form `dirty` and `invalid` state changes
dirty: true,
invalid: true,
});

#FieldState

See FormState on final-form.

The FieldSubscription param has the same shape as FieldState, but using a boolean to describe which state changes you want to subscribe to.

subscribeToFieldState('title', (state) => console.log(state.value), {
// react only to field `value` changes
value: true,
});

#Unsubscribe

Both subscribeToFieldState and subscribeToFormState return a function to be called when needing to unsubscribe from changes. In order to avoid perfomance issues, make sure to unsubscribe any existing subscription before subscribing again.

Example in React:

React.useEffect(() => {
let unsubscribe;
subscribeToFieldState('title', (state) => console.log(state.value), {
value: true,
}).then((fieldUnsubscribe) => (unsubscribe = fieldUnsubscribe));
return () => {
unsubscribe?.();
};
}, []);

#Set fields visibility

type VisibilityMap = {
[fieldApiId: string]: 'READ_ONLY' | 'HIDDEN' | 'READ_WRITE';
};

Using object form to set visibility for field with API ID fieldApiId

setFieldsVisibility({
fieldApiId: 'READ_ONLY',
});

Using callback to calculate next visibility value for field with API ID fieldApiId

setFieldsVisibility((currentVisibilityMap) => {
const nextVisibilityValue =
currentVisibilityMap[fieldApiId] === 'READ_ONLY'
? 'READ_WRITE'
: 'READ_ONLY';
return {
fieldApiId: nextVisibilityValue,
};
});