dotCMS Permissions API

Permission management and access control

Business capability
Identity & Access Management BC-620.20

Operations 11

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /api/v1/permissions/{assetId} Get permissions on an asset · Get asset permissions #
Ask an LLM
“Which roles have access to this folder or page?”
“Can I page through the roles on an asset's permission list?”
Tell an agent
Get permissions for asset {assetId}.
Show page {page} of the roles with access to asset {assetId}.
PUT /api/v1/permissions/{assetId} Replace all permissions on an asset · Update asset permissions #
Ask an LLM
“How do I overwrite every permission on an asset?”
“Can I cascade new asset permissions down to its children?”
Tell an agent
Replace permissions on asset {assetId} with {permissions}.
Set asset {assetId} permissions to {permissions} and cascade them.
GET /api/v1/permissions/_bycontent Get permissions on a contentlet · Get permission for a Contentlet #
Ask an LLM
“Who can read, edit or publish this piece of content?”
“Can I check only the publish permissions on a contentlet?”
Tell an agent
Get permissions for contentlet {contentletId}.
Show {type} permissions on content {contentletId}.
GET /api/v1/permissions/_bycontent/_groupbytype Get contentlet permissions grouped by type · Get permissions roles group by type for a Contentlet #
Ask an LLM
“Can I see a contentlet's roles grouped by READ, WRITE and PUBLISH?”
“Which roles fall under each permission type for this content?”
Tell an agent
Group the permissions on contentlet {contentletId} by type.
Show roles per permission type for content {contentletId}.
GET /api/v1/permissions List available permission levels and scopes · Get permission metadata #
Ask an LLM
“What permission levels and scopes can I assign in dotCMS?”
“Which scopes exist for granting roles access?”
Tell an agent
List the available permission levels and scopes.
Show the permission metadata.
GET /api/v1/permissions/_bypermissiontype Map permissions by permission type for a user · Get permissions by permission type #
Ask an LLM
“Which permissionable types does a user have a given permission on?”
“Can I look up permissions filtered by permission type?”
Tell an agent
Get permissions of type {permissiontype} for user {userid}.
Map {permission} permissions by type for user {userid}.
GET /api/v1/permissions/role/{roleId} Get a role's permissions across sites and folders · Get role permissions #
Ask an LLM
“Where does a role have permissions defined?”
“Which sites and folders can members of a role access?”
Tell an agent
Get the permissions of role {roleId}.
List every host and folder where role {roleId} has permissions.
GET /api/v1/permissions/user/{userId} Get a user's individual permissions · Get user permissions #
Ask an LLM
“What can a specific user access through their own role?”
“Can I page through a user's permissions by site and folder?”
Tell an agent
Get permissions for user {userId}.
Show page {page} of user {userId}'s permissions.
PUT /api/v1/permissions/{assetId}/_reset Reset an asset to inherited permissions · Reset asset permissions to inherited #
Ask an LLM
“How do I make a folder go back to inheriting its parent's permissions?”
“Can I remove all individual permissions from an asset?”
Tell an agent destructive · confirm first
Reset asset {assetId} to inherited permissions.
Remove custom permissions on {assetId} so it inherits again.
PUT /api/v1/permissions/role/{roleId}/asset/{assetId} Set a role's permissions on a site or folder · Update role permissions on asset #
Ask an LLM
“How do I give a role access to a specific folder?”
“Can I change a role's permissions on a host and cascade them?”
Tell an agent
Set role {roleId} permissions on asset {assetId} to {permissions}.
Grant role {roleId} {permissions} on folder {assetId} and cascade.
PUT /api/v1/permissions/user/{userId}/asset/{assetId} Set a user's permissions on a site or folder · Update user permissions on asset #
Ask an LLM
“How do I give one user direct access to a folder?”
“Can I assign permissions to a user's individual role on a host?”
Tell an agent
Set user {userId} permissions on asset {assetId} to {permissions}.
Grant user {userId} {permissions} on folder {assetId}, cascading {cascade}.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/dotcms:dotcms-permissions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

dotcms-permissions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: dotCMS REST Permissions API
  version: '3'
  description: Permission management and access control
servers:
- url: /
  description: dotCMS Server
tags:


# --- truncated at 32 KB (43 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/dotcms/refs/heads/main/openapi/dotcms-permissions-api-openapi.yml