Permission matrix
Every permission an organization can grant, the roles that hold it, and the API operations that need it.
A role is a named set of permissions. This page lists every permission an organization can grant, with the name the web app shows for it, and which roles hold it. What each role is for is in Roles and permissions.
Who holds each permission
| Name | Permission | Owner | Admin | Member | Viewer |
|---|---|---|---|---|---|
| View data sources | datasource:read | Yes | Yes | Yes | Yes |
| Create data sources | datasource:create | Yes | Yes | Yes | - |
| Edit data sources | datasource:update | Yes | Yes | Yes | - |
| Run data sources | datasource:run | Yes | Yes | Yes | - |
| Delete data sources | datasource:delete | Yes | Yes | - | - |
| View newsdesks | newsdesk:read | Yes | Yes | Yes | Yes |
| Edit newsdesks | newsdesk:write | Yes | Yes | Yes | - |
| View event clusters | event_cluster:read | Yes | Yes | Yes | Yes |
| View pitches | pitch:read | Yes | Yes | Yes | Yes |
| Edit pitches | pitch:write | Yes | Yes | Yes | - |
| View stories | story:read | Yes | Yes | Yes | Yes |
| Edit stories | story:write | Yes | Yes | Yes | - |
| Push stories to NRCS | story:push_nrcs | Yes | Yes | Yes | - |
| Push stories to CMS | story:push_cms | Yes | Yes | Yes | - |
| Publish stories to social accounts | story:push_social | Yes | Yes | Yes | - |
| View members | member:read | Yes | Yes | Yes | Yes |
| Invite members | member:invite | Yes | Yes | - | - |
| Remove members | member:remove | Yes | Yes | - | - |
| Change member roles | member:change-role | Yes | Yes | - | - |
| Deactivate members | member:deactivate | Yes | - | - | - |
| Manage API keys | apikey:manage | Yes | Yes | - | - |
| View organization settings | org:read | Yes | Yes | - | Yes |
| Edit organization settings | org:update | Yes | - | - | - |
| Delete organization | org:delete | Yes | - | - | - |
| Manage billing | billing:manage | Yes | - | - | - |
| View spend | usage-spend:read | Yes | Yes | - | - |
| View editorial activity | usage-editorial:read | Yes | Yes | - | - |
| Manage spending caps | spend-cap:manage | Yes | Yes | - | - |
| View credentials | credential:read | Yes | Yes | Yes | Yes |
| Manage credentials | credential:manage | Yes | Yes | - | - |
| Manage NRCS connections | nrcs:manage | Yes | Yes | - | - |
| Manage MAM connections | mam:manage | Yes | Yes | - | - |
| Manage CMS connections | cms:manage | Yes | Yes | - | - |
| Manage social connections | social:manage | Yes | Yes | - | - |
| View SOM activity | som:read | Yes | Yes | Yes | Yes |
| Manage SOM configuration | som:manage | Yes | Yes | - | - |
| View organization status | org-status:read | Yes | Yes | Yes | Yes |
| View activity log | audit:read | Yes | Yes | - | - |
| Edit editorial guidelines | editorial_guidelines:update | Yes | Yes | - | - |
| View output templates | output_template:read | Yes | Yes | Yes | Yes |
| Manage output templates | output_template:manage | Yes | Yes | - | - |
| View brand kits | brand_kit:read | Yes | Yes | Yes | Yes |
| Manage brand kits | brand_kit:manage | Yes | Yes | - | - |
| View story checks | story_check:read | Yes | Yes | Yes | Yes |
| Manage story checks | story_check:manage | Yes | Yes | - | - |
| Manage MCP settings | mcp:manage | Yes | Yes | - | - |
| Manage notifications | notification:manage | Yes | Yes | - | - |
What each permission opens in the API
Under each permission are the API operations that check it before they run. Operations that need no specific permission, and the few that check their permissions inside the operation (creating or revoking an API key, for example), are not listed.
View data sources
Permission datasource:read.
GET /api/tenant/v1/articlesGET /api/tenant/v1/articles/{id}GET /api/tenant/v1/datasourcesGET /api/tenant/v1/datasources/{id}GET /api/tenant/v1/datasources/{id}/runsGET /api/tenant/v1/runs
Create data sources
Permission datasource:create.
POST /api/tenant/v1/datasources
Edit data sources
Permission datasource:update.
PATCH /api/tenant/v1/datasources/{id}
Run data sources
Permission datasource:run.
POST /api/tenant/v1/datasources/{id}/run
Delete data sources
Permission datasource:delete.
DELETE /api/tenant/v1/datasources/{id}
View newsdesks
Permission newsdesk:read.
GET /api/tenant/v1/newsdesksGET /api/tenant/v1/newsdesks/{id}
Edit newsdesks
Permission newsdesk:write.
POST /api/tenant/v1/newsdesksDELETE /api/tenant/v1/newsdesks/{id}PATCH /api/tenant/v1/newsdesks/{id}PUT /api/tenant/v1/newsdesks/{id}/datasources
View event clusters
Permission event_cluster:read.
GET /api/tenant/v1/event-clustersGET /api/tenant/v1/event-clusters/{id}GET /api/tenant/v1/event-clusters/{id}/media
View pitches
Permission pitch:read.
GET /api/tenant/v1/pitchesGET /api/tenant/v1/pitches/{id}GET /api/tenant/v1/pitches/{id}/feed-deliveriesGET /api/tenant/v1/pitches/{id}/media
Edit pitches
Permission pitch:write.
GET /api/tenant/v1/pitch-requestsPOST /api/tenant/v1/pitch-requestsGET /api/tenant/v1/pitch-requests/{id}POST /api/tenant/v1/pitch-requests/{id}/dismissPOST /api/tenant/v1/pitches/{id}/approvePOST /api/tenant/v1/pitches/{id}/dismissPOST /api/tenant/v1/pitches/{id}/reopenPOST /api/tenant/v1/pitches/{id}/seeds/{articleId}/mediaPOST /api/tenant/v1/pitches/{id}/submit
View stories
Permission story:read.
GET /api/tenant/v1/storiesGET /api/tenant/v1/stories/{id}GET /api/tenant/v1/stories/{id}/checksGET /api/tenant/v1/stories/{id}/enrichmentGET /api/tenant/v1/stories/{id}/outputsGET /api/tenant/v1/stories/{id}/outputs/{outputId}GET /api/tenant/v1/stories/{id}/outputs/{outputId}/cms-previewGET /api/tenant/v1/stories/{id}/outputs/{outputId}/cms-pushesGET /api/tenant/v1/stories/{id}/outputs/{outputId}/photo-candidatesGET /api/tenant/v1/stories/{id}/outputs/{outputId}/rendersGET /api/tenant/v1/stories/{id}/outputs/{outputId}/social-publishesGET /api/tenant/v1/stories/{id}/photos
Edit stories
Permission story:write.
POST /api/tenant/v1/stories/{id}/dismissalsPOST /api/tenant/v1/stories/{id}/dismissals/restorePOST /api/tenant/v1/stories/{id}/outputsDELETE /api/tenant/v1/stories/{id}/outputs/{outputId}PATCH /api/tenant/v1/stories/{id}/outputs/{outputId}POST /api/tenant/v1/stories/{id}/outputs/{outputId}/claim-checkPOST /api/tenant/v1/stories/{id}/outputs/{outputId}/claim-findings/{findingKey}/acceptPOST /api/tenant/v1/stories/{id}/outputs/{outputId}/draft/acceptPOST /api/tenant/v1/stories/{id}/outputs/{outputId}/draft/discardPOST /api/tenant/v1/stories/{id}/outputs/{outputId}/regeneratePOST /api/tenant/v1/stories/{id}/outputs/{outputId}/rendersPOST /api/tenant/v1/stories/{id}/photosDELETE /api/tenant/v1/stories/{id}/photos/{assetId}POST /api/tenant/v1/stories/{id}/photos/caption-suggestionPOST /api/tenant/v1/stories/{id}/photos/from-urlPOST /api/tenant/v1/stories/{id}/reenrich
Push stories to NRCS
Permission story:push_nrcs.
GET /api/tenant/v1/nrcs-push-targetsPOST /api/tenant/v1/stories/{id}/push
Push stories to CMS
Permission story:push_cms.
GET /api/tenant/v1/cms-push-targetsPOST /api/tenant/v1/stories/{id}/outputs/{outputId}/cms-pushes
Publish stories to social accounts
Permission story:push_social.
GET /api/tenant/v1/social-publish-targetsPOST /api/tenant/v1/stories/{id}/outputs/{outputId}/social-publishes/{publishId}/check
View members
Permission member:read.
GET /api/tenant/v1/members
Invite members
Permission member:invite.
GET /api/tenant/v1/members/invitationsPOST /api/tenant/v1/members/invitationsDELETE /api/tenant/v1/members/invitations/{id}POST /api/tenant/v1/members/invitations/{id}/resend
Remove members
Permission member:remove.
DELETE /api/tenant/v1/members/{userId}
Change member roles
Permission member:change-role.
PATCH /api/tenant/v1/members/{userId}
Deactivate members
Permission member:deactivate.
POST /api/tenant/v1/members/{userId}/deactivate
Manage API keys
Permission apikey:manage.
GET /api/tenant/v1/api-keys
Edit organization settings
Permission org:update.
GET /api/tenant/v1/oauth-connectionsDELETE /api/tenant/v1/oauth-connections/{id}PATCH /api/tenant/v1/organizations/current
View spend
Permission usage-spend:read.
GET /api/tenant/v1/spend-capsGET /api/tenant/v1/usage-eventsGET /api/tenant/v1/usage-events/summary
View editorial activity
Permission usage-editorial:read.
GET /api/tenant/v1/pitches/summaryGET /api/tenant/v1/stories/enrichment-summary
Manage spending caps
Permission spend-cap:manage.
PUT /api/tenant/v1/spend-capsPOST /api/tenant/v1/spend-caps/resume
View credentials
Permission credential:read.
GET /api/tenant/v1/credentialsGET /api/tenant/v1/credentials/{id}GET /api/tenant/v1/credentials/{id}/param-optionsGET /api/tenant/v1/datasources/credential-opt-in-kinds
Manage credentials
Permission credential:manage.
POST /api/tenant/v1/credentialsDELETE /api/tenant/v1/credentials/{id}PATCH /api/tenant/v1/credentials/{id}
Manage NRCS connections
Permission nrcs:manage.
GET /api/tenant/v1/nrcs-configsPOST /api/tenant/v1/nrcs-configsDELETE /api/tenant/v1/nrcs-configs/{id}GET /api/tenant/v1/nrcs-configs/{id}PATCH /api/tenant/v1/nrcs-configs/{id}PATCH /api/tenant/v1/nrcs-configs/{id}/skillsPOST /api/tenant/v1/nrcs-configs/{id}/webhook/disablePOST /api/tenant/v1/nrcs-configs/{id}/webhook/enablePOST /api/tenant/v1/nrcs-configs/{id}/webhook/regenerate
Manage MAM connections
Permission mam:manage.
GET /api/tenant/v1/mam-configsPOST /api/tenant/v1/mam-configsDELETE /api/tenant/v1/mam-configs/{id}GET /api/tenant/v1/mam-configs/{id}PATCH /api/tenant/v1/mam-configs/{id}
Manage CMS connections
Permission cms:manage.
GET /api/tenant/v1/cms-configsPOST /api/tenant/v1/cms-configsDELETE /api/tenant/v1/cms-configs/{id}GET /api/tenant/v1/cms-configs/{id}PATCH /api/tenant/v1/cms-configs/{id}
Manage social connections
Permission social:manage.
GET /api/tenant/v1/social-connectionsGET /api/tenant/v1/social-connections/{id}PATCH /api/tenant/v1/social-connections/{id}POST /api/tenant/v1/social-connections/{id}/reconnectPOST /api/tenant/v1/social-connections/authorize
View SOM activity
Permission som:read.
GET /api/tenant/v1/som-activity/inboxGET /api/tenant/v1/som-activity/skill-runsGET /api/tenant/v1/som-activity/storiesGET /api/tenant/v1/som-activity/stories/{storyId}GET /api/tenant/v1/som-activity/summaryGET /api/tenant/v1/som-config/status
Manage SOM configuration
Permission som:manage.
DELETE /api/tenant/v1/som-configGET /api/tenant/v1/som-configPUT /api/tenant/v1/som-config
View organization status
Permission org-status:read.
GET /api/tenant/v1/org-status
View activity log
Permission audit:read.
GET /api/tenant/v1/audit-eventsGET /api/tenant/v1/audit-events/{id}
Edit editorial guidelines
Permission editorial_guidelines:update.
PATCH /api/tenant/v1/organizations/current/editorial-guidelines
View output templates
Permission output_template:read.
GET /api/tenant/v1/output-templatesGET /api/tenant/v1/output-templates/{id}GET /api/tenant/v1/social-layoutsGET /api/tenant/v1/social-layouts/{id}
Manage output templates
Permission output_template:manage.
POST /api/tenant/v1/output-templatesDELETE /api/tenant/v1/output-templates/{id}PATCH /api/tenant/v1/output-templates/{id}POST /api/tenant/v1/social-layoutsDELETE /api/tenant/v1/social-layouts/{id}PATCH /api/tenant/v1/social-layouts/{id}POST /api/tenant/v1/social-layouts/import
View brand kits
Permission brand_kit:read.
GET /api/tenant/v1/brand-kitsGET /api/tenant/v1/brand-kits/{id}GET /api/tenant/v1/brand-kits/default-facesGET /api/tenant/v1/custom-fontsGET /api/tenant/v1/custom-fonts/{id}
Manage brand kits
Permission brand_kit:manage.
POST /api/tenant/v1/brand-kitsDELETE /api/tenant/v1/brand-kits/{id}PATCH /api/tenant/v1/brand-kits/{id}GET /api/tenant/v1/brand-kits/font-catalogPOST /api/tenant/v1/brand-kits/fonts/googlePOST /api/tenant/v1/custom-fontsDELETE /api/tenant/v1/custom-fonts/{id}PATCH /api/tenant/v1/custom-fonts/{id}
View story checks
Permission story_check:read.
GET /api/tenant/v1/story-checksGET /api/tenant/v1/story-checks/{id}
Manage story checks
Permission story_check:manage.
POST /api/tenant/v1/story-checksDELETE /api/tenant/v1/story-checks/{id}PATCH /api/tenant/v1/story-checks/{id}POST /api/tenant/v1/story-checks/draftPOST /api/tenant/v1/story-checks/preview
Manage MCP settings
Permission mcp:manage.
PATCH /api/tenant/v1/organizations/current/mcp-settings
Manage notifications
Permission notification:manage.
GET /api/tenant/v1/notificationsPOST /api/tenant/v1/notifications/routesDELETE /api/tenant/v1/notifications/routes/{id}PUT /api/tenant/v1/notifications/routes/{id}POST /api/tenant/v1/notifications/test