---
title: "Upsert user permissions"
method: POST
path: "/workspaceManagement/users/permissions"
tags: ["Workspace Management - Users"]
---

# Upsert user permissions

`POST /workspaceManagement/users/permissions`

Grant permissions on a resource to users

## Request body

- union
  - object — Request body schema.
    - `userUuids` string[], required
    - `emails` string[]
    - `action` 'ai:*' | 'ai:read' | 'ai:write' | 'ai:agent:*' | 'ai:agent:read' | 'ai:agent:write' | 'ai:mcpServer:*' | 'ai:mcpServer:read' | 'ai:mcpServer:write' | 'billing:*' | 'billing:read' | 'billing:write' | 'connection:*' | 'connection:read' | 'connection:write' | 'context:*' | 'context:read' | 'context:write' | 'domainManagement:*' | 'domainManagement:read' | 'domainManagement:write' | 'hosting:*' | 'hosting:read' | 'hosting:write' | 'hosting:app:*' | 'hosting:app:read' | 'hosting:app:write' | 'hosting:worker:*' | 'hosting:worker:read' | 'hosting:worker:write' | 'orchestration:*' | 'orchestration:read' | 'orchestration:write' | 'orchestration:workflow:*' | 'orchestration:workflow:read' | 'orchestration:workflow:write' | 'revenueOrganization:*' | 'revenueOrganization:read' | 'revenueOrganization:write' | 'segmentation:*' | 'segmentation:read' | 'segmentation:write' | 'storage:*' | 'storage:read' | 'storage:write' | 'content:*' | 'content:read' | 'content:write' | 'content:file:*' | 'content:file:read' | 'content:file:write' | 'systemOfRecordIntegration:*' | 'systemOfRecordIntegration:read' | 'systemOfRecordIntegration:write' | 'workspaceManagement:*' | 'workspaceManagement:read' | 'workspaceManagement:write' | 'workspaceManagement:folder:*' | 'workspaceManagement:folder:read' | 'workspaceManagement:folder:write', required
    - `resourceUuid` string, uuid, required
  - object — Request body schema.
    - `emails` string[], required
    - `userUuids` string[]
    - `action` 'ai:*' | 'ai:read' | 'ai:write' | 'ai:agent:*' | 'ai:agent:read' | 'ai:agent:write' | 'ai:mcpServer:*' | 'ai:mcpServer:read' | 'ai:mcpServer:write' | 'billing:*' | 'billing:read' | 'billing:write' | 'connection:*' | 'connection:read' | 'connection:write' | 'context:*' | 'context:read' | 'context:write' | 'domainManagement:*' | 'domainManagement:read' | 'domainManagement:write' | 'hosting:*' | 'hosting:read' | 'hosting:write' | 'hosting:app:*' | 'hosting:app:read' | 'hosting:app:write' | 'hosting:worker:*' | 'hosting:worker:read' | 'hosting:worker:write' | 'orchestration:*' | 'orchestration:read' | 'orchestration:write' | 'orchestration:workflow:*' | 'orchestration:workflow:read' | 'orchestration:workflow:write' | 'revenueOrganization:*' | 'revenueOrganization:read' | 'revenueOrganization:write' | 'segmentation:*' | 'segmentation:read' | 'segmentation:write' | 'storage:*' | 'storage:read' | 'storage:write' | 'content:*' | 'content:read' | 'content:write' | 'content:file:*' | 'content:file:read' | 'content:file:write' | 'systemOfRecordIntegration:*' | 'systemOfRecordIntegration:read' | 'systemOfRecordIntegration:write' | 'workspaceManagement:*' | 'workspaceManagement:read' | 'workspaceManagement:write' | 'workspaceManagement:folder:*' | 'workspaceManagement:folder:read' | 'workspaceManagement:folder:write', required
    - `resourceUuid` string, uuid, required

## Response `200`

Successful response

- object

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `404` — Not found
- `500` — Internal server error

---

[API](https://skmtc.net/getcargo/apis/cargo-api.md) · [All operations](https://skmtc.net/getcargo/apis/cargo-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/getcargo/cargo-api/revisions/1d5a19e01d83/schema)
