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.getcapability 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.addalso requireskeys.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 (requireskeys.view).translate.review– Mark translations as reviewed (also requirestranslate.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.