Hygraph
Docs

#Permission combinations by job

Use this page when a job needs more than one permission. For detailed information about what each permission does on its own, see Content permissions and Management API permissions. For information on how to create a role and toggle permissions in Studio, see Roles.

#Permission layers

Most of the scenarios below combine the following layers:

LayerWhat it controlsScope
Management API permissionsWhat the role can see in Studio (tabs, buttons, settings screens). Some also authorize Management API calls.Global
Content permissionsWhat the role can do to entries (read, create, update, delete, publish, unpublish, read versions).Per environment

A role can have content Read and still see an empty Content tab. This isn't always intuitive because the two permissions that unlock sidebar visibility live under Management API permissions.

Add entry, Save, Publish, and Delete each require a separate Studio content actions permission on top of everything above. A button can render and still fail the moment someone clicks it, the same way a form can look submittable and reject on submit.

#Content

The first row below covers opening Content in the sidebar. Every other row assumes that access already exists.

JobManagement API permissionsContent permissions
See ContentRead public view groups and Read public content viewsRead on DRAFT for each model that should appear
Create an entryCreate new entriesRead, Create, and Read versions. Also Read on DRAFT and the default locale.
Edit a draftUpdate existing non published entriesRead, Update, and Read versions
Edit a published entryUpdate published entriesRead, Update, and Read versions
PublishPublish non-published entries and Update published entriesRead and Publish (Draft plus the target stage). Add Read versions if publishing from the entry form.
UnpublishUpdate published entriesRead on all stages and Unpublish. Add Read versions if unpublishing from the entry form.
DeleteDelete existing entriesRead on all stages, Delete, and Unpublish on every stage except Draft. Add Read versions if deleting from the entry form.
Update viewUpdate public content views and Update system content viewsNot applicable. Views aren't scoped by content permissions.

#Assets

The first row below covers opening Assets in the sidebar. The second row assumes that access already exists.

JobManagement API permissionsContent permissions
See AssetsRead public view groups and Read public content viewsRead on the Asset model
Upload or create assetsCreate new entriesRead and Create on the Asset model. Also Read on DRAFT and the default locale. Add Read versions if creating from the asset editor.

#Schema

JobMinimum Management API permissions
Open SchemaCan see schema view, plus at least one of Read existing models, Read existing components, Read existing enumerations, or Read remote sources. Taxonomy read permissions do not count.
Browse modelsCan see schema view and Read existing models
Add a modelCan see schema view, Read existing models, and Create new models
Edit model settingsCan see schema view, Read existing models, and Update existing models
Edit model fieldsEverything in Edit model settings, plus Update existing fields. Add Create new fields or Delete existing fields to add or remove fields.
Open taxonomiesEverything in Open Schema, plus Read taxonomy. Add Read taxonomy node to open taxonomy nodes.
Create a taxonomyEverything in Open taxonomies, plus Create taxonomy and Create taxonomy node.

#Apps

JobMinimum Management API permissions
See AppsCan see apps section
Install an appCan see apps section and Can add app installations
Edit an app installationCan see apps section and Can update app installations
Uninstall an appCan see apps section and Can delete app installations

#Project settings

JobMinimum Management API permissions
Open environmentsRead existing environments and Can see environment selector
Clone an environmentRead existing environments, Can see environment selector, and Create new environment
Open Content API settingsCan see project settings and Read existing models
Manage MembersCan see Team Member Settings, plus Invite a user into an existing project, Assign a role to a user, or Remove a user from an existing project as needed
Manage RolesCan see Role & Permissions Settings, plus Create new roles, Update existing roles, or Delete an existing role as needed
Add, edit, or delete content permissionsCan read content permissions, plus Can create content permissions, Can update content permissions, or Can delete content permissions as needed
Duplicate a custom roleCreate new roles and an available custom role seat
Manage Permanent Auth TokensCan read existing permanent auth tokens, plus create, update, or delete as needed
Use API Playground with contentCan use the playground, plus the content Read the query needs
Restore a backupRead existing environment backups and their details and Restore an existing environment backup to a standard environment

#AI

JobMinimum Management API permissions
Edit guidelinesRead AI guidelines and Update AI guidelines
Create an agentRead agent config and Create an agent
Edit or enable an agentRead agent config and Update an agent config
Delete an agentRemove a user from an existing project. Delete an agent config and Remove an agent have no effect today.
Manually run an agent from the content editor or tableTrigger an agent run, plus Content access

#API access without Studio

Studio UI flags do not apply to tokens. Configure content permissions on the PAT or for unauthenticated requests to the Content API.

JobMinimum
Create or update content with a PATMatching content permissions: Create / Update (and Read). Do not rely on Create new entries or other UI-only Management API flags.
Modify schema with a PATManagement API action permissions such as Read existing models and Create new models.

#Content reviewer

Start from a new custom role. The following are read-only permissions in Studio.

Management API

  • Read public view groups
  • Read public content views

Content (per environment)

  • Model: All, or the models they should see
  • Read: all locales, DRAFT (and PUBLISHED if they should compare stages)
  • Read versions

#Content editor

Everything in Content reviewer, plus the permissions below. These permissions allow create and update in Studio, but do not include publish.

Management API

  • Create new entries
  • Update existing non published entries
  • Update published entries if they save entries that are already published

Content

  • Create
  • Update
  • Default locale included

#Content publisher

Everything in Content editor, plus the permissions below. These permissions allow publish and unpublish in Studio.

Management API

  • Publish non-published entries
  • Update published entries (also required to unpublish in Studio)

Content

  • Publish (from Draft to the target stage)
  • Unpublish if they should take content off a stage

#Schema developer

Start from a new custom role. The permissions below are for Schema only; they do not open Content.

Management API

  • Can see schema view
  • Read existing models, Read existing components, Read existing fields, Read existing enumerations, Read remote sources, Read taxonomy, and Read taxonomy node
  • Create new models, Create new components, Create new fields, Create new enumerations, Create remote sources, Create taxonomy, and Create taxonomy node
  • Add update and delete permissions only for the schema elements they should change
  • Can use the playground if they should test queries in Studio

Do not enable Read public view groups or Read public content views unless they also need Content.

#Project settings admin

Start from a new custom role. The permissions below are for Project Settings only; they do not open Content or Schema. Add the screens they should manage, for example:

  • Can see project settings
  • Read existing webhooks (and create, update, or delete as needed)
  • Can see Team Member Settings and Invite a user into an existing project
  • Can see Role & Permissions Settings and Update existing roles
  • Can read existing permanent auth tokens

#What's next