Skip to main content

API Roles

API tokens give external tools scoped access to your project. When you create or edit a token in Project Settings → API Tokens, the API Role Selector lets you decide exactly what the token can do. Roles are grouped by feature area so you can grant just the permissions an integration needs.

How role selection works

  • Every token automatically includes the project.get capability so it can read basic project metadata. The UI hides it, but it is always appended on save.
  • You can toggle an entire group (for example, Keys or Languages) or just pick the individual actions inside the group.
  • Some permissions depend on others. When that happens (e.g. enabling keys.add also requires keys.view), the UI adds the missing dependency automatically and locks it until the parent permission is removed.

Role groups and permissions

The table below mirrors the groups rendered by the selector. Each entry uses the group.action naming scheme your integrations will see in API responses.

Generic project

  • project.edit_settings – Update general project information.
  • download – Download localization files via the API.

Keys

  • keys.view – Read keys and associated translations.
  • keys.add – Create new keys.
  • keys.edit – Update key metadata or content.
  • keys.delete – Remove keys permanently.

Translate

  • translate.translate – Write translation values (requires keys.view).
  • translate.review – Mark translations as reviewed (also requires translate.translate).

Languages

  • languages.add – Add new languages to the project.
  • languages.edit – Change default country, variations, or metadata.
  • languages.delete – Remove languages from the project.

Members

  • members.add – Invite or provision new members.
  • members.edit – Change member roles or language access.
  • members.delete – Remove a member from the project.

Tasks

  • tasks.add – Create translation/review tasks.
  • tasks.edit – Update task details, assignees, or deadlines.
  • tasks.delete – Cancel or delete tasks.

Screenshots

  • screenshots.add – Attach new screenshots to keys.
  • screenshots.edit – Update screenshot metadata or associations.
  • screenshots.delete – Remove screenshots.

Glossary

  • glossary.add – Add new terms.
  • glossary.edit – Edit existing glossary entries.
  • glossary.edit_terms_with_language_access – Modify per-language term definitions when the token also has language access.
  • glossary.delete – Delete glossary entries.

Tags

  • tags.add – Create tags for organizing keys.
  • tags.delete – Remove tags from the project.

Webhooks

  • webhooks.add – Register webhook endpoints.
  • webhooks.edit – Update existing webhooks.
  • webhooks.delete – Delete webhooks.

GitHub integration

  • github_integration.add – Connect a repository to the project.
  • github_pull_files – Pull source files from GitHub into Sejhey.
  • github_push_files – Push translations from Sejhey back to GitHub.
  • github_integration.edit – Adjust repository settings or branch mapping.
  • github_integration.delete – Disconnect the integration.

Namespaces

  • namespaces.add – Create namespaces.
  • namespaces.edit – Rename or reorganize namespaces.
  • namespaces.delete – Remove namespaces.

Releases

  • releases.add – Create new releases or bundles.
  • releases.edit – Change release contents or metadata.
  • releases.delete – Delete a release.

OTA environments

  • otaa.add – Create OTA (over-the-air) environments.
  • otaa.edit – Manage environment configuration.
  • otaa.delete – Remove an environment.