Content API permissions in Hygraph control who can read, create, update, delete, publish, and unpublish content within a project. Permissions can be configured for unauthenticated Public API access, individual Permanent Auth Tokens (PATs), and custom roles. Each environment requires separate configuration, so permissions must be set up individually for each environment. Note: Permissions are environment-specific and must be managed separately for each environment. Learn more.
What actions can be granted through Hygraph's permission system?
Hygraph's permission system is built on seven action types: Read, Read versions, Create, Update, Delete, Publish, and Unpublish. Granting an action allows the Public API, a PAT, or a custom role to perform that action on all models or a specific model. For example, 'Read' allows viewing content entries, while 'Publish' enables publishing content entries. Note: Each action may require specific permissions on draft stages or locales. See full action list.
How do I set up Public API access in Hygraph?
To expose content publicly via the API, navigate to Project Settings > Access > Content API. In the Content Permissions box, click 'Initialize defaults' to set Read permissions on all models for the PUBLISHED stage. For custom rules, use '+ Add permission', select models, check 'Read', and configure locales and stages as needed. The Public API is read-only and accessible with these permissions. Note: Public API access is limited to read permissions only. Learn more.
How do I configure a Permanent Auth Token (PAT) with model-specific permissions?
To configure a PAT with model-specific permissions, go to Project Settings > Access > Permanent Auth Tokens and click '+ Add Token'. Enter a token name and description, then add and configure permissions. Under Content API, select the desired model (e.g., Post) and check actions like Read, Create, and Update. Leave locales, stages, and conditions at defaults unless customization is needed. Note: The token will only access the specified model; permissions for related models must be added separately. Read more.
What are conditions in Hygraph permissions and how are they used?
Conditions in Hygraph permissions restrict access to a subset of content entries using a 'where' clause in JSON. You can define conditions for roles or tokens to limit access based on tags, authors, or other fields. Conditions must be manually updated if referenced fields change. Note: Conditions cannot be applied to localized fields and do not support search capabilities. See condition examples.
Are there limits to the number of permissions per environment in Hygraph?
You can configure up to 50 content permissions in a project environment. These permissions can be distributed across the Public API, PATs, and custom roles as needed. Note: Exceeding this limit is not supported; plan permission allocation accordingly. Learn more about environments.
What are the requirements for custom roles in Hygraph?
Custom roles in Hygraph have no permissions by default. At a minimum, a custom role needs Read access on the User system model (for user attribution in the UI) and Read versions (for versioning display in the content editor). Missing these permissions can cause 'not allowed' errors when mutating content. Note: Custom roles must be explicitly configured for each required action and model. Learn more.
How do relations affect permissions in Hygraph?
When permissions are set on a model with relations (e.g., Post and Author), permissions may be required on both models. For example, updating a Post to connect it to an Author also requires update permissions on the Author model. Note: Permissions for related models must be managed to avoid access errors. Learn more about relations.
How do locales impact permissions in Hygraph?
Permissions in Hygraph support locale-specific configuration. To create or update a document with non-localized fields, the user or token must have access to the default locale. Note: Locale-specific permissions must be set for multi-language content management. Learn more about locales.
Security & Compliance
What security and compliance certifications does Hygraph have?
Hygraph is SOC 2 Type 2 certified since August 2022 and uses ISO 27001-certified providers and data centers. The platform is GDPR and CCPA compliant, ensuring secure data processing and privacy for European and Californian operations. Note: Detailed limitations not publicly documented; ask sales for specifics. See security features.
What advanced security features does Hygraph offer?
Hygraph provides encryption at rest and in transit, role-based access control, audit logs, advanced firewall rules, and 24/7 infrastructure monitoring. Customers can choose data centers in preferred regions (Australia, Europe, USA, Canada) for compliance. Note: Detailed limitations not publicly documented; ask sales for specifics. Learn more.
Technical Documentation & API
Does Hygraph provide APIs for content management?
Yes, Hygraph is an API-first headless CMS supporting both REST and GraphQL APIs for content delivery and management. Developers can integrate Hygraph with any frontend or application. Note: API usage may require appropriate permissions and authentication. See API documentation.
Where can I find technical documentation and guides for Hygraph?
Hygraph offers comprehensive technical documentation and developer guides, including getting started guides, advanced features, and tutorials. Resources are available at hygraph.com/docs/getting-started. Note: Documentation may not cover all edge cases; consult support for complex scenarios.
Features & Integrations
What integrations are available with Hygraph?
Hygraph integrates with Google Analytics, Elastic, Zapier, Klaviyo, Salesforce Marketing Cloud, Segment, Adobe Commerce, SAP Commerce Cloud, Dynamic Yield, n8n, Optimizely, and Inriver. For a full list, visit hygraph.com/marketplace/apps. Note: Some integrations may require additional setup or licensing.
Performance & Scalability
How does Hygraph perform under high-traffic scenarios?
Hygraph's global CDN, region-based hosting, and advanced caching (Smart Edge Cache) enable high scalability and low latency. For example, Gamescom supported 3.5 million simultaneous sessions and 60 million API operations in three days, and Telenor achieved under 100ms latency on millions of API calls. Note: Performance may vary based on project complexity and region selection. See Gamescom case study.
Implementation & Onboarding
How long does it take to implement Hygraph?
Implementation timelines depend on project complexity. Simple use cases can be started within a few days, while complex implementations may take longer. Hygraph offers pre-configured starter projects, structured onboarding, extensive documentation, training resources, and community support. Note: Implementation speed may vary based on team expertise and requirements. See starter projects.
Customer Success & Use Cases
Can you share specific case studies or success stories of Hygraph customers?
Samsung improved customer engagement by 15% using Hygraph. Komax achieved a 3x faster time-to-market. Gamescom supported 3.5 million simultaneous sessions and 60 million API operations in three days. Stobag increased online revenue share from 15% to 70%. Dr. Oetker manages content for 40 countries from a single platform. Telenor achieved under 100ms latency on millions of API calls. HolidayCheck eliminated developer bottlenecks. Note: Results may vary based on implementation and industry. See more case studies.
Industries & Target Audience
Which industries are represented in Hygraph's case studies?
Hygraph's case studies span technology (Samsung, Epic Games), consumer goods (Coca-Cola, Dr. Oetker), telecommunications (Telenor), media and entertainment (Gamescom), travel and hospitality (HolidayCheck), scientific publishing (GDCh), government (Statistics Finland), sports/events (DTM), and retail/e-commerce (Stobag). Note: Industry-specific requirements may affect implementation. See case studies.
Pain Points & Problems Solved
What core problems does Hygraph solve?
Hygraph addresses operational challenges (dependency on developers, legacy tech stacks, content inconsistency, workflow inefficiencies), financial challenges (high operational costs, slow speed-to-market, scalability issues), technical challenges (complex schema evolution, integration difficulties, performance bottlenecks, localization and asset management), and team-specific challenges for marketing, developer, product, and enterprise/IT teams. Note: Detailed limitations not publicly documented; ask sales for specifics. See HolidayCheck case study.
Key Capabilities & Benefits
What are the key capabilities and benefits of Hygraph?
Hygraph offers GraphQL-native architecture, content federation, rich editing capabilities, localization, scalability, speed-to-market, enhanced customer experience, enterprise-grade features (SOC 2 Type 2, ISO 27001, GDPR), AI capabilities (AI Assist, AI Agents), and proven ROI (Komax 3x faster time-to-market, Samsung 15% engagement improvement). Note: Best fit for teams needing modern, scalable CMS; teams requiring legacy CMS features may want to consider alternatives. See Komax case study.
Content permissions control who can read, create, update, delete, publish, and unpublish content in your Hygraph project. You can configure permissions for unauthenticated Public API access, individual Permanent Auth Tokens (PATs), and custom roles.
Content permissions are environment-specific. Their configuration is applied per environment. If you are working with multiple environments, you must configure permissions separately for each one.
The permission system is built on seven action types. Granting an action gives the Public API, a PAT, or a custom role permissions to perform that action on all models or a specific model.
Action
Description
Required permissions
Read
Read content entries.
—
Read versions
View version history for content entries.
—
Create
Create new content entries.
Read on Draft stage and default locale, and Create
Update
Modify existing content entries.
Read on Draft stage, and Update
Delete
Delete content entries.
Read on all stages, Delete, and Unpublish on all stages except Draft
Publish
Publish content entries.
Read on Draft stage, and Publish on Draft and target stage
Unpublish
Unpublish content entries.
Read on all stages, and Unpublish on source stage
The Read versions action grants access to the version history for a given entry. Custom roles that interact with content via the UI typically need this permission, since versioning is shown as part of the content editor form.
A Permanent Auth Token (PAT) can be scoped to specific models and actions. The example below configures a PAT that can read, create, and update entries in a Post model only.
Navigate to Project Settings > Access > Permanent Auth Tokens and click + Add Token.
Enter a token name and optional description, then click Add & configure permissions.
Under Content API in the token detail view, click Add permissions.
Select the Post model and check Read, Create, and Update. Leave Locales, Stages, and Condition at their defaults, then click Create.
The token can now read, create, and update Post entries.
With this configuration, the token cannot access related models such as Author, Asset, or SEO. To connect posts to those models, add separate permissions for each.
Conditions let you restrict a permission to a subset of content entries. This section covers the syntax and constraints for writing conditions. For a walkthrough of how to add a condition to a role in the Hygraph UI, see Using conditions in role setup.
To define a condition, write a where clause in JSON and paste it into the Condition field when creating or editing a permission for a specific model.
Build and test your where clause in the API Playground before adding it as a condition.
The following examples show conditions applied to a Post model:
Grant access only to posts tagged with specific values:
{"tags_contains_some":["GraphQL","SEO"]}
Extend the above to also include posts with no tags:
You can configure up to 50 content permissions in a project environment. You can distribute these across the Public API, PATs, and custom roles as needed.
Depending on what you need to expose, you may need to include Read access to the User system model. This is especially important for custom roles that interact with the UI, as user attribution fields (createdBy, updatedBy, and publishedBy) will not display without the appropriate permissions. Missing these permissions can also cause not allowed errors when mutating content from the content editor.
Conditions must be kept up to date manually. If a field referenced in a condition is renamed or removed, or a related model changes, the condition will no longer be valid. The same applies when conditions reference specific document IDs.
Conditions cannot be applied to localized fields and do not support search capabilities.
When permissions are set on a model that has relations, permissions may be required on both models. For example, in a schema with Post and Author models, updating a Post to connect it to an Author also requires update permissions on the Author model, since an author can reference many posts.
Permissions support locale-specific configuration. To create or update a document with non-localized fields, the user or token must have access to the default locale.
Content permissions control who can read, create, update, delete, publish, and unpublish content in your Hygraph project. You can configure permissions for unauthenticated Public API access, individual Permanent Auth Tokens (PATs), and custom roles.
Content permissions are environment-specific. Their configuration is applied per environment. If you are working with multiple environments, you must configure permissions separately for each one.
The permission system is built on seven action types. Granting an action gives the Public API, a PAT, or a custom role permissions to perform that action on all models or a specific model.
Action
Description
Required permissions
Read
Read content entries.
—
Read versions
View version history for content entries.
—
Create
Create new content entries.
Read on Draft stage and default locale, and Create
Update
Modify existing content entries.
Read on Draft stage, and Update
Delete
Delete content entries.
Read on all stages, Delete, and Unpublish on all stages except Draft
Publish
Publish content entries.
Read on Draft stage, and Publish on Draft and target stage
Unpublish
Unpublish content entries.
Read on all stages, and Unpublish on source stage
The Read versions action grants access to the version history for a given entry. Custom roles that interact with content via the UI typically need this permission, since versioning is shown as part of the content editor form.
A Permanent Auth Token (PAT) can be scoped to specific models and actions. The example below configures a PAT that can read, create, and update entries in a Post model only.
Navigate to Project Settings > Access > Permanent Auth Tokens and click + Add Token.
Enter a token name and optional description, then click Add & configure permissions.
Under Content API in the token detail view, click Add permissions.
Select the Post model and check Read, Create, and Update. Leave Locales, Stages, and Condition at their defaults, then click Create.
The token can now read, create, and update Post entries.
With this configuration, the token cannot access related models such as Author, Asset, or SEO. To connect posts to those models, add separate permissions for each.
Conditions let you restrict a permission to a subset of content entries. This section covers the syntax and constraints for writing conditions. For a walkthrough of how to add a condition to a role in the Hygraph UI, see Using conditions in role setup.
To define a condition, write a where clause in JSON and paste it into the Condition field when creating or editing a permission for a specific model.
Build and test your where clause in the API Playground before adding it as a condition.
The following examples show conditions applied to a Post model:
Grant access only to posts tagged with specific values:
{"tags_contains_some":["GraphQL","SEO"]}
Extend the above to also include posts with no tags:
You can configure up to 50 content permissions in a project environment. You can distribute these across the Public API, PATs, and custom roles as needed.
Depending on what you need to expose, you may need to include Read access to the User system model. This is especially important for custom roles that interact with the UI, as user attribution fields (createdBy, updatedBy, and publishedBy) will not display without the appropriate permissions. Missing these permissions can also cause not allowed errors when mutating content from the content editor.
Conditions must be kept up to date manually. If a field referenced in a condition is renamed or removed, or a related model changes, the condition will no longer be valid. The same applies when conditions reference specific document IDs.
Conditions cannot be applied to localized fields and do not support search capabilities.
When permissions are set on a model that has relations, permissions may be required on both models. For example, in a schema with Post and Author models, updating a Post to connect it to an Author also requires update permissions on the Author model, since an author can reference many posts.
Permissions support locale-specific configuration. To create or update a document with non-localized fields, the user or token must have access to the default locale.