How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

dotCMS REST API

The dotCMS REST API exposes the platform's content management capabilities through HTTP endpoints, allowing developers to create, read, update, and delete content, manage workflows, navigate site hierarchy, perform search queries, and administer users, roles, and permissions. The API is organized into resource groups including Content, Workflow, Search, Navigation, Sites, and User management, and supports authentication via JWT tokens, basic auth, and API keys.

dotCMS REST API is one of 2 APIs that dotCMS publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include CMS, Content, and Content Management. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, and an API reference.

This API exposes 754 operations across 592 paths, organized into 71 resource areas, and defines 606 schemas. It is described by OpenAPI 3.0.1, at version 3.

Requests are made against a single base URL, /.

754 operations 592 paths 606 schemas 98 DELETE336 GET1 OPTIONS11 PATCH170 POST138 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.1
API Version
3
Base URL
https://demo.dotcms.com/api
Resource Areas
71

Paths & Operations 754

Across 592 paths, the API surfaces 754 operations — 98 DELETE, 336 GET, 1 OPTIONS, 11 PATCH, 170 POST, 138 PUT. They span 71 resource areas, including AI, dotAuth, SAML Authentication, Content Type Field, JavaScript, Publishing, Operations, Bundle, and 63 more. Each is listed below with its method, path, parameters, and response codes.

AI 23

AI-powered content generation and analysis endpoints

GET
/api/v1/ai/providers
List dotAI provider configuration metadata
listAiProviders → 200401
POST
/api/v1/ai/providers/test/{capability}
Test a dotAI provider connection
testAiProviderConnection 2 params body → 200400401403
GET
/api/v1/ai/completions/config
Get AI service configuration
getAiConfig 1 param → 200401403500
PUT
/api/v1/ai/completions/config
Save AI provider configuration
saveAiConfig 1 param body → 200400403500
POST
/api/v1/ai/completions/rawPrompt
Generate AI completions from raw prompt
rawPrompt body → 200400401500
POST
/api/v1/ai/completions
Generate AI completions from content
summarizeFromContent body → 200400401500
GET
/api/v1/ai/embeddings/count
count_1 7 params → default
POST
/api/v1/ai/embeddings/count
count body → default
POST
/api/v1/ai/embeddings
embed body → default
DELETE
/api/v1/ai/embeddings
delete body → default
DELETE
/api/v1/ai/embeddings/db
dropAndRecreateTables body → default
GET
/api/v1/ai/embeddings/indexCount
indexCount → default
GET
/api/v1/ai/embeddings/test
textResource → default
GET
/api/v1/ai/image/generate
indexByInode_1 1 param → default
POST
/api/v1/ai/image/generate
handleImageRequest body → default
GET
/api/v1/ai/image/test
indexByInode → default
GET
/api/v1/ai/search/related
relatedByGet 5 params → default
POST
/api/v1/ai/search/related
relatedByPost body → default
GET
/api/v1/ai/search
searchByGet 11 params → default
POST
/api/v1/ai/search
searchByPost body → default
GET
/api/v1/ai/search/test
testResponse → default
GET
/api/v1/ai/text/generate
doGet 1 param → default
POST
/api/v1/ai/text/generate
doPost body → default
dotAuth 15

OAuth/OIDC and SAML authentication: per-site configuration (SYSTEMHOST is the global default) and headless OIDC token exchange

POST
/api/v1/dotauth/oauth/exchange
Exchange an OIDC idtoken for a dotAuth session-ref
exchange body → 200400401403404503
OPTIONS
/api/v1/dotauth/oauth/exchange
exchangePreflight → default
GET
/api/v1/dotauth/sites/{hostId}
Get the dotAuth configuration for a site
getDotAuthConfig 1 param → 200401403404500
PUT
/api/v1/dotauth/sites/{hostId}
Save (upsert) the dotAuth configuration for a site
saveDotAuthConfig 1 param body → 200400401403404500
DELETE
/api/v1/dotauth/sites/{hostId}
Clear the dotAuth configuration for a site
clearDotAuthConfig 1 param → 204401403404500
PUT
/api/v1/dotauth/headless
Save the system-level headless token-exchange configuration
saveDotAuthHeadlessConfig body → 200401403500
DELETE
/api/v1/dotauth/headless
Clear the system-level headless token-exchange configuration
clearDotAuthHeadlessConfig → 204401403500
POST
/api/v1/dotauth/discover/oidc
Fetch and parse an OIDC discovery document
discoverDotAuthOidc body → 200400401500
POST
/api/v1/dotauth/export
Export all dotAuth AppSecrets
exportDotAuthAppSecrets body → 200400401403500
POST
/api/v1/dotauth/fetch/saml-metadata
Fetch SAML IdP metadata XML from a URL
fetchSamlMetadata body → 200400401500
GET
/api/v1/dotauth/saml/metadata/{hostId}
Download SAML SP metadata XML for a site
getSamlSpMetadata 1 param → 200401404500
POST
/api/v1/dotauth/import
Import dotAuth AppSecrets
importDotAuthAppSecrets body → 200400401403500
GET
/api/v1/dotauth/sites
List all sites with their dotAuth status
listDotAuthSites → 200401403500
POST
/api/v1/dotauth/sessionrefs/revoke
Revoke all dotAuth sessionRefs
revokeDotAuthSessionRefs → 200401403500
DELETE
/api/v1/dotauth/oauth/session
Invalidate the caller's dotAuth session-ref
logout → 204
SAML Authentication 5

SAML SSO authentication and integration

GET
/api/v1/dotsaml/login/{idpConfigId}
Initiate SAML login
doLogin 1 param → 200400404500
POST
/api/v1/dotsaml/login/{idpConfigId}
Process SAML login callback
processLogin 1 param body → 200400401404500
GET
/api/v1/dotsaml/logout/{idpConfigId}
Process SAML logout (GET)
logoutGet 1 param → 200404500
POST
/api/v1/dotsaml/logout/{idpConfigId}
Process SAML logout (POST)
logoutPost 1 param → 200404500
GET
/api/v1/dotsaml/metadata/{idpConfigId}
Get SAML metadata
metadata 1 param → 200401403404500
Content Type Field 36

Content type field definitions and configuration

GET
/api/v1/fieldTypes
Get field types
getFieldTypes → 200401
GET
/api/v1/contenttype/{typeId}/fieldsdeprecated
Get content type fields (deprecated)
getContentTypeFieldsV1 1 param → 200401403404500
PUT
/api/v1/contenttype/{typeId}/fieldsdeprecated
Update content type fields (deprecated)
updateContentTypeFieldsV1 1 param body → 200400401403404
POST
/api/v1/contenttype/{typeId}/fieldsdeprecated
Create content type field (deprecated)
createContentTypeFieldV1 1 param body → 200400401403404
DELETE
/api/v1/contenttype/{typeId}/fieldsdeprecated
Delete multiple fields (deprecated)
deleteContentTypeFieldsV1 1 param body → 200400401403404500
GET
/api/v1/contenttype/{typeId}/fields/id/{fieldId}deprecated
Get content type field by ID (deprecated)
getContentTypeFieldByIdV1 2 params → 200401403404500
PUT
/api/v1/contenttype/{typeId}/fields/id/{fieldId}deprecated
Update content type field by ID (deprecated)
updateContentTypeFieldByIdV1 2 params body → 200400401403404500
DELETE
/api/v1/contenttype/{typeId}/fields/id/{fieldId}deprecated
Delete content type field by ID (deprecated)
deleteContentTypeFieldByIdV1 2 params → 200401403404500
GET
/api/v1/contenttype/{typeId}/fields/var/{fieldVar}deprecated
Get content type field by variable name (deprecated)
getContentTypeFieldByVariableV1 2 params → 200401403404500
PUT
/api/v1/contenttype/{typeId}/fields/var/{fieldVar}deprecated
Update content type field by variable name (deprecated)
updateContentTypeFieldByVariableV1 2 params body → 200400401403404500
DELETE
/api/v1/contenttype/{typeId}/fields/var/{fieldVar}deprecated
Delete content type field by variable name (deprecated)
deleteContentTypeFieldByVariableV1 2 params → 200401403404500
GET
/api/v1/contenttype/{typeId}/fields/id/{fieldId}/variables
Get field variables by field ID
getFieldVariablesByFieldId 2 params → 200404
POST
/api/v1/contenttype/{typeId}/fields/id/{fieldId}/variables
Create field variable by field ID
createFieldVariableByFieldId 2 params body → 200400401403404
GET
/api/v1/contenttype/{typeId}/fields/var/{fieldVar}/variables
Get field variables by field variable name
getFieldVariablesByFieldVar 2 params → 200404
POST
/api/v1/contenttype/{typeId}/fields/var/{fieldVar}/variables
Create field variable by field variable name
createFieldVariableByFieldVar 2 params body → 200400401403404
GET
/api/v1/contenttype/{typeId}/fields/id/{fieldId}/variables/id/{fieldVarId}
Get specific field variable by field ID
getFieldVariableByFieldId 3 params → 200404
PUT
/api/v1/contenttype/{typeId}/fields/id/{fieldId}/variables/id/{fieldVarId}
Update field variable by field ID
updateFieldVariableByFieldId 3 params body → 200400401403404
DELETE
/api/v1/contenttype/{typeId}/fields/id/{fieldId}/variables/id/{fieldVarId}
Delete field variable by field ID
deleteFieldVariableByFieldId 3 params → 200401403404
GET
/api/v1/contenttype/{typeId}/fields/var/{fieldVar}/variables/id/{fieldVarId}
Get specific field variable by field variable name
getFieldVariableByFieldVar 3 params → 200404
PUT
/api/v1/contenttype/{typeId}/fields/var/{fieldVar}/variables/id/{fieldVarId}
Update field variable by field variable name
updateFieldVariableByFieldVar 3 params body → 200400401403404
DELETE
/api/v1/contenttype/{typeId}/fields/var/{fieldVar}/variables/id/{fieldVarId}
Delete field variable by field variable name
deleteFieldVariableByFieldVar 3 params → 200401403404
GET
/api/v2/contenttype/{typeIdOrVarName}/fieldsdeprecated
getContentTypeFields 1 param → default
PUT
/api/v2/contenttype/{typeIdOrVarName}/fieldsdeprecated
updateFields 1 param body → default
POST
/api/v2/contenttype/{typeIdOrVarName}/fields
createContentTypeField 1 param body → default
DELETE
/api/v2/contenttype/{typeIdOrVarName}/fieldsdeprecated
deleteFields 1 param body → default
GET
/api/v2/contenttype/{typeIdOrVarName}/fields/id/{fieldId}
getContentTypeFieldById 1 param → default
PUT
/api/v2/contenttype/{typeIdOrVarName}/fields/id/{fieldId}
updateContentTypeFieldById 1 param body → default
DELETE
/api/v2/contenttype/{typeIdOrVarName}/fields/id/{fieldId}
deleteContentTypeFieldById 1 param → default
GET
/api/v2/contenttype/{typeIdOrVarName}/fields/var/{fieldVar}
getContentTypeFieldByVar 2 params → default
PUT
/api/v2/contenttype/{typeIdOrVarName}/fields/var/{fieldVar}
updateContentTypeFieldByVar 2 params body → default
DELETE
/api/v2/contenttype/{typeIdOrVarName}/fields/var/{fieldVar}
deleteContentTypeFieldByVar 2 params → default
GET
/api/v3/contenttype/{typeIdOrVarName}/fields/allfields
Returns filtered Content Type fields
allfields 2 params body → 200400401404500
GET
/api/v3/contenttype/{typeIdOrVarName}/fields
Gets a Content Type's field layout
getContentTypeFieldLayout 1 param → 200401404500
DELETE
/api/v3/contenttype/{typeIdOrVarName}/fields
Deletes fields from a Content Type
deleteContentTypeFields 1 param body → 200401404500
PUT
/api/v3/contenttype/{typeIdOrVarName}/fields/move
Moves or adds a field to a Content Type
moveOrAddContentTypeField 1 param body → 200400401404415500
PUT
/api/v3/contenttype/{typeIdOrVarName}/fields/{id}
Updates a field in a Content Type
updateContentTypeField 2 params body → 200401404500
JavaScript 18

JavaScript execution and server-side scripting

GET
/api/js/{folder}
get 1 param body → default
PUT
/api/js/{folder}
putMultipart 1 param body → default
POST
/api/js/{folder}
postMultipart 1 param body → default
DELETE
/api/js/{folder}
delete_1 1 param body → default
PATCH
/api/js/{folder}
patchMultipart 1 param body → default
GET
/api/js/{folder}/{pathParam}
get_1 2 params body → default
PUT
/api/js/{folder}/{pathParam}
putMultipart_1 2 params body → default
POST
/api/js/{folder}/{pathParam}
postMultipart_1 2 params body → default
DELETE
/api/js/{folder}/{pathParam}
delete_2 2 params body → default
PATCH
/api/js/{folder}/{pathParam}
patchMultipart_1 2 params body → default
GET
/api/js/dynamic/{pathParam}
dynamicGet_1 1 param body → default
PUT
/api/js/dynamic/{pathParam}
dynamicPut_1 1 param body → default
POST
/api/js/dynamic/{pathParam}
dynamicPost_1 1 param body → default
DELETE
/api/js/dynamic/{pathParam}
dynamicDelete 1 param body → default
PATCH
/api/js/dynamic/{pathParam}
dynamicPatch 1 param body → default
GET
/api/js/dynamic
dynamicGet body → default
PUT
/api/js/dynamic
dynamicPut body → default
POST
/api/js/dynamic
dynamicPost body → default
Publishing 16

Push publishing job management endpoints

GET
/api/auditPublishing/get/{bundleId}
get_2 1 param → default
POST
/api/auditPublishing/getAll
getAll body → default
DELETE
/api/v1/publishqueue
deleteAssetsByIdentifiers body → default
POST
/api/v1/bundles/assets
Add assets to a bundle
addAssetsToBundle body → 200400401403404409500
DELETE
/api/v1/bundles/{bundleId}/assets
Remove assets from an unpushed bundle
removeAssetsFromBundle 1 param body → 200400401403404409500
GET
/api/v1/publishing/{bundleId}
Get publishing job details
getPublishingJobDetails 1 param → 200400401403404
DELETE
/api/v1/publishing/{bundleId}
Delete a publishing job
deletePublishingJob 1 param → 200401403404409
GET
/api/v1/publishing
List publishing jobs
listPublishingJobs 4 params → 200400401403
DELETE
/api/v1/publishing/purge
Bulk delete publishing jobs by status
purgePublishingJobs 1 param → 200400401403
POST
/api/v1/publishing/push/{bundleId}
Push bundle to environments
pushBundle 1 param body → 200400401403404
POST
/api/v1/publishing/retry
Retry failed or successful bundles
retryBundles body → 200400401403
GET
/api/v1/pushpublish/filters/{filterKey}
getFilter 1 param → default
DELETE
/api/v1/pushpublish/filters/{filterKey}
deleteFilter 1 param → default
GET
/api/v1/pushpublish/filters
getFilters → default
PUT
/api/v1/pushpublish/filters
updateFromForm body → default
POST
/api/v1/pushpublish/filters
saveFromForm body → default
Operations 6
GET
/api/layout/{params}
getLayout 1 param → default
GET
/api/testResource/testGet/{params}
getDocumentCount 1 param → default
POST
/api/testResource/testPost
saveTest body → default
GET
/api/v1/system/request-draining-test/status
getShutdownStatus → default
GET
/api/v1/system/request-draining-test/long-request
longRunningRequest 1 param → default
GET
/api/v1/system/request-draining-test/simulate-active-requests
simulateActiveRequests 1 param → default
Bundle 16

Content bundle management and deployment

POST
/api/bundlePublisher/publish
publish 4 params → default
DELETE
/api/bundle/all
deleteAll → default
DELETE
/api/bundle/all/fail
deleteAllFail → default
DELETE
/api/bundle/all/success
deleteAllSuccess → default
DELETE
/api/bundle/ids
deleteBundlesByIdentifiers body → default
DELETE
/api/bundle/olderthan/{olderThan}
deleteBundlesOlderThan 1 param → default
GET
/api/bundle/deleteenvironmentpushhistory/{params}
deleteEnvironmentPushHistory 1 param → default
GET
/api/bundle/deletepushhistory/{params}
deletePushHistory 1 param → default
GET
/api/bundle/_download/{bundleId}
downloadBundle 1 param → default
GET
/api/bundle/{bundleId}/manifest
downloadManifest 1 param → default
POST
/api/bundle/_generate
generateBundle body → default
GET
/api/bundle/{bundleId}/assets
getPublishQueueElements 2 params → default
GET
/api/bundle/getunsendbundles/{params}
getUnsendBundles 1 param → default
GET
/api/bundle/updatebundle/{params}
updateBundle 1 param → default
POST
/api/bundle
uploadBundleAsync body → default
POST
/api/bundle/sync
uploadBundleSync body → default
System Configuration 23

System configuration and company settings

POST
/api/config/deleteEndpointdeprecated
deleteEndpoint body → default
POST
/api/config/deleteEnvironment
deleteEnvironment body → default
POST
/api/config/regenerateKey
regenerateKey → default
POST
/api/config/saveCompanyAuthTypeInfo
saveCompanyAuthTypeInfo body → default
POST
/api/config/saveCompanyBasicInfo
saveCompanyBasicInfo body → default
POST
/api/config/saveCompanyLocaleInfo
saveCompanyLocaleInfo body → default
POST
/api/config/saveCompanyLogodeprecated
saveCompanyLogo body → default
GET
/api/v1/configuration/branding
Get company configuration
getCompanyConfig → 200401403
PUT
/api/v1/configuration/branding
Save company basic info and branding
saveBasicInfo body → 200400401403
POST
/api/v1/configuration/_regenerateKey
Regenerate company security key
regenerateKey_1 → 200401403
PUT
/api/v1/configuration/authentication
Save company authentication type
saveAuthType body → 200400401403
PUT
/api/v1/configuration/locale
Save company locale info
saveLocaleInfo body → 200400401403
GET
/api/v1/appconfiguration
list_5 → default
GET
/api/v1/configuration/config
Retrieve whitelisted configuration values
getConfigVariables 1 param → 200401
GET
/api/v1/configuration
list_6 → default
PUT
/api/v1/configuration
set body → default
POST
/api/v1/configuration/_validateCompanyEmail
validateEmail body → default
GET
/api/v1/system-table/{key}
get_4 1 param → default
DELETE
/api/v1/system-table/{key}
delete_9 1 param → default
DELETE
/api/v1/system-table/_delete
deleteWithKey body → default
GET
/api/v1/system-table
getAll_2 → default
PUT
/api/v1/system-table
Updates an existing system table entry
update_8 body → default
POST
/api/v1/system-table
Saves or updates a system table entry
save body → default
Cluster Management 5

Cluster nodes and distributed system management

GET
/api/cluster/getESConfigProperties/{params}
getESConfigProperties 1 param → default
GET
/api/cluster/licenseRepoStatus
getLicenseRepoStatus 1 param → default
GET
/api/cluster/getNodesStatus/{params}
getNodesInfo 1 param → default
POST
/api/cluster/remove/{params}
removeFromCluster 1 param → default
GET
/api/cluster/test
testCluster → default
Content Delivery 8

Content retrieval and manipulation endpoints

PUT
/api/content/canLock/{params}deprecated
Check if a contentlet can be locked (deprecated)
canLockContentLegacy 1 param → 200401403404
GET
/api/content/{params}
Retrieve content by ID, inode, query, or related content
getContentLegacy 1 param → 200400401403404500
PUT
/api/content/{params}deprecated
Create or update content via PUT (deprecated)
singlePutContent 1 param body → 200400401403
POST
/api/content/{params}deprecated
Create content via POST (deprecated)
singlePostContent 1 param body → 200400401403
GET
/api/content/indexcount/{query}
Count content matching a Lucene query
indexCountContent 3 params → 200400401403500
GET
/api/content/indexsearch/{query}/sortby/{sortby}/limit/{limit}/offset/{offset}
Search content index by Lucene query
indexSearchContent 6 params → 200400401403500
PUT
/api/content/lock/{params}deprecated
Lock a contentlet (deprecated)
lockContentLegacy 1 param → 200401403404
PUT
/api/content/unlock/{params}deprecated
Unlock a contentlet (deprecated)
unlockContentLegacy 1 param → 200401403404
Environment 11

Publishing environment management and configuration

GET
/api/v1/environments/endpoints
Returns the endpoints
getEndpoints → 200
POST
/api/v1/environments/endpoints
Creates an endpoint
create body → 200403400
PUT
/api/v1/environments/endpoints/{id}
Updates an endpoint
update 1 param body → 200403400
DELETE
/api/v1/environments/endpoints/{id}
Deletes an endpoint
delete_3 1 param → 200403404
GET
/api/v1/environments/endpoints/{endpointId}
Returns the endpoint by id
getEndpoint 1 param → 200
GET
/api/v1/environments/endpoints/environment/{environmentId}
Returns the endpoints
getEndpointsByEnvironmentId 1 param → 200
GET
/api/environment
Returns the environments
loadAllEnvironments → 200
POST
/api/environment
Creates an environment
create_1 body → 200403400
PUT
/api/environment/{id}
Updates an environment
update_1 1 param body → 200403400
DELETE
/api/environment/{id}
Deletes an environment
delete_4 1 param → 200403404
GET
/api/environment/loadenvironments/{params}
loadEnvironments 1 param → default
Data Integrity 8

Data integrity checking and conflict resolution

GET
/api/integrity/checkintegrity/{params}
checkIntegrity 1 param → default
GET
/api/integrity/checkIntegrityProcessStatus/{params}
checkIntegrityProcessStatus 1 param → default
GET
/api/integrity/discardconflicts/{params}
discardConflicts 1 param → default
GET
/api/integrity/fixconflicts/{params}
fixConflicts 1 param → default
POST
/api/integrity/_fixconflictsfromremote
fixConflictsFromRemote body → default
POST
/api/integrity/_generateintegritydata
generateIntegrityData → default
GET
/api/integrity/{requestId}/integrityData
getIntegrityData 1 param → default
GET
/api/integrity/getIntegrityResult/{params}
getIntegrityResult 1 param → default
Portlets 12

Portlet management and administration

GET
/api/portlet/layout/{params}
getLayout_1 1 param → default
GET
/api/portlet/{params}
layoutGet 1 param → default
POST
/api/portlet/{params}
layoutPost 1 param → default
PUT
/api/v1/portlet/custom/{portletId}/_addtolayout/{layoutId}
addContentPortletToLayout 2 params → default
DELETE
/api/v1/portlet/custom/{portletId}
deleteCustomPortlet 1 param → default
DELETE
/api/v1/portlet/portletId/{portletId}
deletePersonalPortlet 1 param → default
DELETE
/api/v1/portlet/portletId/{portletId}/roleId/{roleId}
deletePortletForRole 2 params → default
GET
/api/v1/portlet/{portletId}/_doesuserhaveaccess
doesUserHaveAccessToPortlet 1 param → default
GET
/api/v1/portlet/{portletId}
findPortlet 1 param → default
GET
/api/v1/portlet/_actionurl/{contentTypeVariable}
getCreateContentURL 2 params → default
PUT
/api/v1/portlet/custom
updatePortlet body → default
POST
/api/v1/portlet/custom
saveNew body → default
License 8

License management and validation

POST
/api/license/applyLicense
applyLicense 2 params → default
DELETE
/api/license/delete/{params}
delete_5 1 param → default
POST
/api/license/free/{params}
freeLicense 1 param → default
GET
/api/license/all/{params}
getAll_1 1 param → default
POST
/api/license/pick/{params}
pickLicense 1 param → default
POST
/api/license/upload/{params}
putZipFile 1 param body → default
POST
/api/license/requestCode/{params}
requestLicense 1 param → default
POST
/api/license/resetLicense/{params}
resetLicense 1 param → default
OSGi Plugins 15

OSGi plugin management and dynamic deployment

GET
/api/osgi/getInstalledBundles/{params}deprecated
getInstalledBundles 1 param → default
GET
/api/osgi/_processExports/{bundle}deprecated
processBundle 1 param → default
POST
/api/osgideprecated
updateBundles body → default
PUT
/api/v1/osgi/jar/{jar}/_deploy
deploys bundle
deploy 1 param → 200404400
GET
/api/v1/osgi/available-plugins
get available plugins
getAvailablePlugis → 200
GET
/api/v1/osgi/extra-packages
get extra packages
getExtraPackages → 200
PUT
/api/v1/osgi/extra-packages
modify extra packages
modifyExtraPackages body → 200
GET
/api/v1/osgi
Returns a list of all bundles installed
getInstalledBundles_1 1 param → 200
POST
/api/v1/osgi
Upload bundles to the OSGI framework
uploadBundles body → 200403
GET
/api/v1/osgi/dotsystem
Returns the dot system list of all bundles installed
getSystemInstalledBundles 1 param → 200
GET
/api/v1/osgi/_processExports/{bundle}
Process exports
processBundle_1 1 param → 200
PUT
/api/v1/osgi/_restart
restarts the OSGI framework
restart → 200
PUT
/api/v1/osgi/jar/{jar}/_start
starts bundle
start_1 1 param → 200404400
PUT
/api/v1/osgi/jar/{jar}/_stop
stops bundle
stop 1 param → 200404400
DELETE
/api/v1/osgi/jar/{jar}
Undeploys bundle
undeploy 1 param → 200404400
Administration 10

System administration and management tools

GET
/api/restexample/layout/{params}
getLayout_2 1 param → default
GET
/api/restexample/test/{params}
loadJson 1 param → default
GET
/api/util/encodeQueryParamValue/{params}
getLoggedInUser 1 param → default
GET
/api/ws/v1/system/events
getEvents 1 param → default
GET
/api/ws/v1/system/syncevents
getSyncEvents 1 param → default
GET
/api/v1/jvm
getJvmInfo → default
PUT
/api/v1/toolgroups/{layoutId}/_addtouser
addToolGroupToUser 2 params → default
PUT
/api/v1/toolgroups/{layoutId}/_removefromuser
deleteToolGroupFromUser 2 params → default
GET
/api/v1/toolgroups/{layoutId}/_userHasLayout
userHasLayout 2 params → default
GET
/api/v1/telemetry/stats
Retrieves dotCMS usage data
getData 3 params → 200
Roles 19

User role and permission management

GET
/api/role/loadbyid/{params}deprecated
Load role by ID (deprecated)
loadRoleByIdLegacy 1 param → 200401500
GET
/api/role/loadbyname/{params}deprecated
Load roles by name filter (deprecated)
loadRolesByNameLegacy 1 param → 200401500
GET
/api/role/loadchildren/{params}deprecated
Load role children (deprecated)
loadRoleChildrenLegacy 1 param → 200401403500
GET
/api/v1/roles
Load root roles
loadRootRoles 1 param → 200401403
POST
/api/v1/roles
Create new role
createRole body → 200400401403
POST
/api/v1/roles/{roleid}/users/{userId}
Grant a role to a user
addUserToRole 2 params → 200401403404
GET
/api/v1/roles/checkuserroles/userid/{userId}/roleids/{roleIds}
Check user roles
checkUserRoles 2 params → 200401403500
GET
/api/v1/roles/{roleid}
Load role by role ID
loadRoleByRoleId 2 params → 200400401403404
PUT
/api/v1/roles/{roleid}
Update a role
updateRole 1 param body → 200400401403404409
DELETE
/api/v1/roles/{roleid}
Delete a role
deleteRole 1 param → 200401403404409
GET
/api/v1/roles/layouts
Get all layouts
getAllLayouts → 200401500
POST
/api/v1/roles/layouts
Save role layouts
saveRoleLayouts body → 200400401403
DELETE
/api/v1/roles/layouts
Delete role layouts
deleteRoleLayouts body → 200400401403
GET
/api/v1/roles/{roleId}/layouts
Find role layouts
findRoleLayouts 1 param → 200400401403
GET
/api/v1/roles/users/{userIdOrEmail}
Load user roles
loadUserRoles 1 param → 200401403
GET
/api/v1/roles/{roleid}/rolehierarchyanduserroles
Load users and roles by role ID
loadUsersAndRolesByRoleId 3 params → 200400401403404
GET
/api/v1/roles/{roleid}/users
Get the users directly granted a role
loadUsersByRoleId 6 params → 200400401403404
DELETE
/api/v1/roles/{roleid}/users
Remove users from a role
removeUsersFromRole 1 param body → 200400401403404
GET
/api/v1/roles/_search
Search Roles
searchRoles 7 params → 200
Rules Engine 26

Business rules and conditional logic management

GET
/api/rulesengine/layout/{params}
getLayout_3 1 param → default
GET
/api/v1/sites/{siteId}/ruleengine/rules
list_2 1 param → default
POST
/api/v1/sites/{siteId}/ruleengine/rules
add 1 param body → default
GET
/api/v1/sites/{siteId}/ruleengine/rules/{ruleId}
self_1 2 params → default
PUT
/api/v1/sites/{siteId}/ruleengine/rules/{ruleId}
update_3 2 params body → default
DELETE
/api/v1/sites/{siteId}/ruleengine/rules/{ruleId}
remove 2 params → default
POST
/api/v1/sites/{siteId}/ruleengine/actions
add_1 1 param body → default
GET
/api/v1/sites/{siteId}/ruleengine/actions/{actionId}
self_2 2 params → default
PUT
/api/v1/sites/{siteId}/ruleengine/actions/{actionId}
update_4 2 params body → default
DELETE
/api/v1/sites/{siteId}/ruleengine/actions/{actionId}
remove_1 2 params → default
GET
/api/v1/sites/{siteId}/ruleengine/rules/{ruleId}/conditionGroups
list_3 2 params → default
POST
/api/v1/sites/{siteId}/ruleengine/rules/{ruleId}/conditionGroups
add_2 2 params body → default
DELETE
/api/v1/sites/{siteId}/ruleengine/rules/{ruleId}/conditionGroups/{conditionGroupId}
remove_2 3 params → default
GET
/api/v1/sites/{siteId}/ruleengine/rules/{ruleId}/conditionGroups/{groupId}
self_3 3 params → default
PUT
/api/v1/sites/{siteId}/ruleengine/rules/{ruleId}/conditionGroups/{groupId}
update_5 3 params body → default
POST
/api/v1/sites/{siteId}/ruleengine/conditions
add_3 1 param body → default
GET
/api/v1/sites/{siteId}/ruleengine/conditions/{conditionId}
self_4 2 params → default
PUT
/api/v1/sites/{siteId}/ruleengine/conditions/{conditionId}
update_6 2 params body → default
DELETE
/api/v1/sites/{siteId}/ruleengine/conditions/{conditionId}
remove_3 2 params → default
GET
/api/v1/sites/{siteId}/ruleengine/conditions/{conditionId}/conditionValues
list_4 2 params → default
POST
/api/v1/sites/{siteId}/ruleengine/conditions/{conditionId}/conditionValues
add_4 2 params body → default
GET
/api/v1/sites/{siteId}/ruleengine/conditions/{conditionId}/conditionValues/{valueId}
self_5 3 params → default
PUT
/api/v1/sites/{siteId}/ruleengine/conditions/{conditionId}/conditionValues/{valueId}
update_7 3 params body → default
DELETE
/api/v1/sites/{siteId}/ruleengine/conditions/{conditionId}/conditionValues/{valueId}
remove_4 3 params → default
GET
/api/v1/system/ruleengine/actionlets
list_8 → default
GET
/api/v1/system/ruleengine/conditionlets
list_9 → default
Content Type 11

Content type definitions and schema management

GET
/api/structure/{path}
getStructuresWithWYSIWYGFields 4 params → default
POST
/api/v1/contenttype/{baseVariableName}/_copy
Copies a content type
postContentTypeCopy 1 param body → 200400403415500
GET
/api/v1/contenttype
Retrieves a list of content types
getContentType 10 params → 200403500
POST
/api/v1/contenttype
Creates one or more content types
postContentTypeCreate body → 200400403415500
GET
/api/v1/contenttype/id/{idOrVar}
Retrieves a single content type
getContentTypeIdVar 3 params → 200403404500
PUT
/api/v1/contenttype/id/{idOrVar}
Updates a content type
putContentTypeUpdate 1 param body → 200400403404415500
DELETE
/api/v1/contenttype/id/{idOrVar}
Deletes a content type
deleteContentType 1 param → 200403404500
POST
/api/v1/contenttype/_filter
Filters content types
postContentTypeFilter body → 200400403415500
GET
/api/v1/contenttype/basetypes
Retrieves base content types
getContentTypeBaseTypes → 200500
GET
/api/v1/contenttype/render/id/{idOrVar}
Retrieves a single content type with their rendered custom fields
getContentTypeRenderedCustomFieldIdVar 4 params → 200403404500
PATCH
/api/v1/contenttype/id/{idOrVar}/metadata
Updates the metadata of a Content Type
updateContentTypeMetadata 1 param body → 200400401403404500
Tag (v1) 10

Legacy tag management endpoints (deprecated - use v2 TagResource instead)

GET
/api/v1/tagsdeprecated
List or search tags (deprecated)
getTagsV1 2 params → 200401
PUT
/api/v1/tagsdeprecated
Update a tag (deprecated)
updateTagV1 body → 200400401403404
POST
/api/v1/tagsdeprecated
Create tags (deprecated)
addTagV1 body → 200400401403
DELETE
/api/v1/tags/{tagId}deprecated
Delete a tag by ID (deprecated)
deleteTagV1 1 param → 200401403404
GET
/api/v1/tags/inode/{inode}deprecated
Get tags by inode (deprecated)
findTagsByInodeV1 1 param → 200401403404
DELETE
/api/v1/tags/inode/{inode}deprecated
Remove all tag-inode links for an inode (deprecated)
deleteTagInodesByInodeV1 1 param → 200400401403404
GET
/api/v1/tags/{nameOrId}deprecated
Get tags by name or ID (deprecated)
getTagsByNameOrIdV1 1 param → 200401403404
GET
/api/v1/tags/user/{userId}deprecated
Get tags by user ID (deprecated)
getTagsByUserIdV1 1 param → 200401403404
POST
/api/v1/tags/importdeprecated
Import tags from file (deprecated)
importTagsV1 body → 200400401403
PUT
/api/v1/tags/tag/{nameOrId}/inode/{inode}deprecated
Link tags to an inode (deprecated)
linkTagsAndInodeV1 2 params → 200400401403404
Users 13

User account management and administration

GET
/api/user/getloggedinuser/{params}deprecated
Get logged in user (deprecated)
getLoggedInUserLegacy 1 param → 200401500
PATCH
/api/v1/users/activate/{userId}
Active an existing user.
activateUser 1 param → 200403404400
PUT
/api/v1/users
Update an existing user.
updateUser body → 200403404400
POST
/api/v1/users
Create user
createUser body → 200400401403409500
PATCH
/api/v1/users/deactivate/{userId}
Deactivate an existing user.
deactivateUser 1 param → 200403404400
GET
/api/v1/users/{userId}
Find an user
findUser 1 param → 200401403
DELETE
/api/v1/users/{userId}
Deletes an existing user.
deleteUser 2 params → 200403404400
GET
/api/v1/users/filter
Filter users
filterUsers 10 params → 200400401403
POST
/api/v1/users/loginas
Login as user
loginAsUser body → 200400401403500
GET
/api/v1/users/loginAsData
Get login as data
getLoginAsData 3 params → 200401403500
PUT
/api/v1/users/logoutas
Logout as user
logoutAsUser → 200400401500
GET
/api/v1/users/current
Get current user
getCurrentUser → 200401400
PUT
/api/v1/users/current
Update current user
updateCurrentUser body → 200400401500
Widgets 1

Widget development and rendering

GET
/api/widget/{params}
getWidget 1 param → default
Accessibility Agent 3

Streaming a11y-fix agent proxy

POST
/api/v1/agents/a11y/fix
Run the accessibility fix agent on a page
runA11yAgentFix body → 200400401500
POST
/api/v1/agents/a11y/fix/stream
Run the accessibility fix agent, streaming progress over SSE
streamA11yAgentFix body → 200401
POST
/api/v1/agents/a11y/stop
Stop an in-flight accessibility fix run
stopA11yAgentRun body → 202400401
Accessibility Checker 4

Endpoints that perform operations related to validating accessibility in content.

GET
/api/v1/achecker/guidelines
Retrieves Accessibility Guidelines
getAccessibilityGuidelines → 200500
POST
/api/v1/achecker/_validate
Validates content
postValidateContent body → 200400415500
POST
/api/v1/page-scanner/a11y/check
a11yCheck body → default
POST
/api/v1/page-scanner/geo/check
geoCheck body → default
Content Analytics 3

Proxy endpoints that forward analytics requests to the dot-ca-event-manager service.

GET
/api/v1/analytics/content/siteauth/generate/{siteId}
Generate Site Auth
generateSiteAuth 1 param → 200400401404405500
POST
/api/v1/analytics/content/event
Proxy analytics event ingest with site auth validation
proxyAnalyticsEventRequest body → 200400500
GET
/api/v1/analytics/{path}
Proxy any analytics GET request
proxyAnalyticsGetRequest 1 param → 200400401403500
Announcements 1

System announcements and notifications

GET
/api/v1/announcements
announcements 2 params → default
Apps 12

Third-party application integration and configuration

GET
/api/v1/apps
listAvailableApps 1 param → default
POST
/api/v1/apps
createApp body → default
DELETE
/api/v1/apps
deleteIndividualAppSecret body → default
GET
/api/v1/apps/{key}/{siteId}
getAppDetail 2 params → default
PUT
/api/v1/apps/{key}/{siteId}
updateAppIndividualSecret 2 params body → default
POST
/api/v1/apps/{key}/{siteId}
createAppSecrets 2 params body → default
DELETE
/api/v1/apps/{key}/{siteId}
deleteAllAppSecrets 2 params → default
GET
/api/v1/apps/{key}
getAppByKey 1 param → default
DELETE
/api/v1/apps/{key}
deleteApp 2 params → default
POST
/api/v1/apps/export
exportSecrets body → default
POST
/api/v1/apps/import
importSecrets body → default
GET
/api/v1/ema
getDetails → default
Web Assets 8

Web asset management and operations

POST
/api/v1/assets/_archive
Archive asset
archiveAsset body → 200401404403
PUT
/api/v1/assets/folders
Update existing folder
updateFolder body → 200400401404403
POST
/api/v1/assets/folders
Create new folder
createFolder body → 200400401409
POST
/api/v1/assets/_delete
Delete asset permanently
deleteAsset body → 200401404403
POST
/api/v1/assets/folders/_delete
Delete folder permanently
deleteFolder body → 200401404403
POST
/api/v1/assets/_download
Download asset file
download body → 200401404
PUT
/api/v1/assets
Upload or update asset file
saveUpdateAsset body → 200400401
POST
/api/v1/assets
Get asset information by path
getAssetsInfo body → 200401
API Token 7

API token management and authentication

DELETE
/api/v1/apitoken/{tokenId}
Deletes an API token
deleteApiTokenByIdV1 1 param → 200400401404500
GET
/api/v1/apitoken/{userId}/tokens
Retrieves API tokens based on a user ID
getApiTokensByUserIdV1 2 params → 200400401403404500
GET
/api/v1/apitoken/expiring
Retrieves API tokens that are about to expire
getExpiringApiTokensV1 → 200401403500
GET
/api/v1/apitoken/{tokenId}/jwt
Generates a new JWT for an existing token
getJwtFromApiTokenV1 1 param → 200400401403404500
PUT
/api/v1/apitoken/remote
Generates a remote API token
putGetRemoteTokenV1 body → 200400401403415500
POST
/api/v1/apitoken
Issues an API token
postIssueApiTokenV1 body → 200400401403415500
PUT
/api/v1/apitoken/{tokenId}/revoke
Revokes an API token
putRevokeTokenByIdV1 1 param → 200400401403404500
Authentication 6
POST
/api/v1/authentication
Verifies user or application authentication
postAuthenticationV1 body → 200401403415500
GET
/api/v1/authentication/logInUser
Retrieves user data
getLogInUserV1 → 200400401404
POST
/api/v1/forgotpassword
Send password reset email
forgotPassword body → 200400500
POST
/api/v1/loginform
Get login form configuration
loginForm body → 200403500
GET
/api/v1/logout
Logout user
logoutUser → 200403500
POST
/api/v1/changePassword
Reset user password
resetPassword body → 200400403500
Browser Tree 5

File and folder browser tree operations

POST
/api/v1/browser
getFolderContent body → default
GET
/api/v1/browser/selectedfolder
getSelectFolder → default
PUT
/api/v1/browser/selectedfolder
selectFolder body → default
GET
/api/v1/browsertree/sitename/{sitename}/urideprecated
loadAssetsUnder 1 param → default
GET
/api/v1/browsertree/sitename/{sitename}/uri/{uri}deprecated
loadAssetsUnder_1 2 params → default
Categories 10

Content categorization and taxonomy

GET
/api/v1/categories
Get paginated list of categories
getCategories 6 params → 200401403
PUT
/api/v1/categories
Update an existing category
updateCategory body → 200400401403404
POST
/api/v1/categories
Create a new category
createCategory body → 200400401403
DELETE
/api/v1/categories
Delete categories by inodes
deleteCategories body → 200400401403
GET
/api/v1/categories/_export
Export categories as CSV
exportCategories 2 params → 200401403404
GET
/api/v1/categories/{idOrKey}
Get a category by ID or key
getCategoryByIdOrKey 2 params → 200400401404
GET
/api/v1/categories/children
Get children of a category
getCategoryChildren 9 params → 200400401403404
POST
/api/v1/categories/hierarchy
Get category hierarchy for multiple categories
getCategoryHierarchy body → 200400401
POST
/api/v1/categories/_import
Import categories from a CSV file
importCategories body → 200400401403
PUT
/api/v1/categories/_sort
Update category sort order
updateCategorySortOrder body → 200400403401
Containers 21

Endpoints for managing Container objects and their content

PUT
/api/v1/containers/_archive
Archives a container
archiveContainer 1 param → 200400401403404
PUT
/api/v1/containers/_bulkarchive
Archives multiple containers
bulkArchiveContainers body → 200400401403
DELETE
/api/v1/containers/_bulkdelete
Deletes multiple containers
bulkDeleteContainers body → 200400401403
PUT
/api/v1/containers/_bulkpublish
Publishes multiple containers
bulkPublishContainers body → 200400401403
PUT
/api/v1/containers/_bulkunarchive
Unarchives multiple containers
bulkUnarchiveContainers body → 200400401403
PUT
/api/v1/containers/_bulkunpublish
Unpublishes multiple containers
bulkUnpublishContainers body → 200400401403
GET
/api/v1/containers/{containerId}/content/{contentletId}
Renders content HTML within a container
getContainerContentById 3 params → 200400401403404
GET
/api/v1/containers/content/{contentletId}
Renders content HTML with container ID as query param
getContainerContentByQueryParam 3 params → 200400401403404
GET
/api/v1/containers/{containerId}/form/{formId}
Renders a form within a container
containerForm 2 params → 200400401403404500
GET
/api/v1/containers/form/{formId}
Renders a form with container ID as query param
getContainerFormByQueryParam 2 params → 200400401403404
POST
/api/v1/containers/{id}/_copy
Copies a container to the current host
copyContainer 1 param → 200400401403404
GET
/api/v1/containers
Retrieves a paginated list of Containers
getContainers 9 params → 200400401403500
PUT
/api/v1/containers
Updates an existing container
updateContainer body → 200400401403404500
POST
/api/v1/containers
Creates a new container
saveContainer body → 200400401403500
DELETE
/api/v1/containers
Deletes a container
deleteContainer 1 param → 200400401403404
GET
/api/v1/containers/live
Retrieves a live container by ID
getLiveContainer 2 params → 200400401403404500
GET
/api/v1/containers/working
Retrieves a working container by ID
getWorkingContainer 2 params → 200400401403404500
PUT
/api/v1/containers/_publish
Publishes a container
publishContainer 1 param → 200400401403404500
DELETE
/api/v1/containers/delete/{containerId}/content/{contentletId}/uid/{uid}
Removes content from a container
removeContentletFromContainer 4 params → 200400401403404500
PUT
/api/v1/containers/_unarchive
Unarchives a container
unarchiveContainer 1 param → 200400401403404
PUT
/api/v1/containers/_unpublish
Unpublishes a container
unpublishContainer 1 param → 200400401403404500
Content 20

Endpoints for managing content and contentlets - the core data objects in dotCMS

GET
/api/v1/contentrelationships/{params}deprecated
Get content with relationships (deprecated)
getContentRelationships 1 param → 200401500
GET
/api/v1/content/_canlock/{inodeOrIdentifier}
Check if a contentlet can be locked
canLockContent 2 params → 200400401403404500
GET
/api/v1/content/{identifier}/languages
Check content language versions
checkContentLanguageVersions 1 param → 200401404
GET
/api/v1/content/{identifier}/references/count
Get contentlet references count
getContentletReferencesCount 1 param → 200401404
GET
/api/v1/content/{inodeOrIdentifier}
Retrieves a contentlet by identifier or inode
getContent 4 params → 200400401403404500
GET
/api/v1/content/{inodeOrIdentifier}/references
Get contentlet references
getContentletReferences 2 params → 200401403404
GET
/api/v1/content/{identifier}/push/history
Contentlet Push History
getContentletPushHistory 3 params → 200401404500
PUT
/api/v1/content/_lock/{inodeOrIdentifier}
Lock a given contentlet by the current user
lockContent 2 params → 200400401403404500
POST
/api/v1/content/related
Pull Related Content
pullRelatedContent body → 200400401404
PUT
/api/v1/content/_refresh/{identifierOrInode}
Refresh a contentlet
refreshContent 2 params → 200400401403404500
PUT
/api/v1/content/_draft
Saves a content draft
saveDraft 4 params body → 200400401403404500
POST
/api/v1/content/search
Retrieves content from the dotCMS repository
search body → 200400401403500
PUT
/api/v1/content/_unlock/{inodeOrIdentifier}
Unlock a given contentlet by the current user
unlockContent 2 params → 200400401403404500
POST
/api/v1/content/_search
Search content with Lucene syntax
wrapperLuceneSearch 1 param body → 200400401403500
GET
/api/v1/content/versions/{inode}
Find content by inode
findByInode 1 param → 200400401404
GET
/api/v1/content/versions
Find content versions
findVersions 4 params → 200400401404
GET
/api/v1/content/versions/id/{identifier}/history
Contentlet History
history 7 params → 200400401404500
GET
/api/v1/content/resourcelinks/field/{field}
Get resource link for specific field
findResourceLink 4 params → 200400401403404
GET
/api/v1/content/resourcelinks
Get all resource links for contentlet
findResourceLinks 3 params → 200400401403
POST
/api/v1/content/_bulkrefresh
Reindex a selection of contentlets
bulkRefreshContent body → 202400401403415500
Content Report 2

Content reporting and analytics

GET
/api/v1/contentreport/folder/{folder}
Generate folder content report
getFolderContentReport 6 params → 200
GET
/api/v1/contentreport/site/{site}
Generate site content report
getSiteContentReport 5 params → 200
Content Import 12
GET
/api/v1/content/_import/abandoned
Retrieves abandoned content import jobs
getAbandonedContentImportJobs 2 params → 200401403500
GET
/api/v1/content/_import/active
Retrieves active content import jobs
getActiveContentImportJobs 2 params → 200401403500
POST
/api/v1/content/_import/{jobId}/cancel
Cancel a content import job
cancelContentImportJob 1 param → 200401403404500
GET
/api/v1/content/_import/canceled
Retrieves canceled content import jobs
getCanceledContentImportJobs 2 params → 200401403500
GET
/api/v1/content/_import/completed
Retrieves completed content import jobs
getCompletedContentImportJobs 2 params → 200401403500
GET
/api/v1/content/_import/failed
Retrieves failed content import jobs
getFailedContentImportJobs 2 params → 200401403500
GET
/api/v1/content/_import/{jobId}
Retrieves the status of a content import job
getJobStatus 1 param → 200401403404500
GET
/api/v1/content/_import
Retrieves content import jobs
getContentImportJobs 2 params → 200401403500
POST
/api/v1/content/_import
Imports content from a CSV file
importContent body → 200400401403404500
GET
/api/v1/content/_import/{jobId}/monitor
Monitor a content import job in real-time
monitorContentImportJobs 1 param → 200401403404500
GET
/api/v1/content/_import/successful
Retrieves successful content import jobs
getSuccessfulContentImportJobs 2 params → 200401403500
POST
/api/v1/content/_import/_validate
Validates content import from a CSV file
validateContentImport body → 200400401403404500
getPagesContentTypes 1

Returns the content types valid for a page based on the container/types on the layout

GET
/api/v1/contenttype/page
Retrieves a list of content types for a page
getPagesContentTypes 9 params → 200403500
Experiment 18
POST
/api/v1/experiments/{experimentId}/variants
addVariant 1 param body → default
PUT
/api/v1/experiments/{experimentId}/_archive
archive 1 param → default
POST
/api/v1/experiments/scheduled/{experimentId}/_cancel
cancel 1 param → default
GET
/api/v1/experiments
list 3 params → default
POST
/api/v1/experiments
create_2 body → default
DELETE
/api/v1/experiments/{experimentId}
delete_6 1 param → default
PATCH
/api/v1/experiments/{experimentId}
update_2 1 param body → default
DELETE
/api/v1/experiments/{experimentId}/goals/primary
deleteGoal 1 param → default
DELETE
/api/v1/experiments/{experimentId}/targetingConditions/{id}
deleteTargetingCondition 2 params → default
PUT
/api/v1/experiments/{experimentId}/variants/{name}
updateVariant 2 params body → default
DELETE
/api/v1/experiments/{experimentId}/variants/{name}
deleteVariant 2 params → default
POST
/api/v1/experiments/{experimentId}/_end
end 1 param → default
GET
/api/v1/experiments/{id}
get_3 1 param → default
GET
/api/v1/experiments/{id}/results
getResult 1 param → default
GET
/api/v1/experiments/health
healthcheck → default
POST
/api/v1/experiments/isUserIncluded
isUserIncluded body → default
PUT
/api/v1/experiments/{experimentId}/variants/{name}/_promote
promoteVariant 2 params body → default
POST
/api/v1/experiments/{experimentId}/_start
start 1 param → default
File Assets 5

File asset management and download operations

GET
/api/v1/content/fileassets/{inode}/resourcelink
findResourceLink_1 1 param → default
GET
/api/v2/assets/{identifier}
Get raw file-asset content by identifier
getFileAssetById 3 params → 200400401403404
GET
/api/v2/assets
Get raw file-asset content by path
getFileAssetByPath 3 params → 200400401403404
PUT
/api/v2/assets/publish
Publish file asset (working + live)
publishFileAsset body → 200400401403404
PUT
/api/v2/assets/save
Save file asset (working version)
saveFileAsset body → 200400401403404
Folders 8

Endpoints for managing folder structure and organization

POST
/api/v1/folder/createfolders/{siteName}
Create folders by paths on a site
createFoldersBySiteName 1 param body → 200401403404
DELETE
/api/v1/folder/{siteName}
Delete one or more path for a site
deleteFoldersBySiteName 1 param body → 200401404403
GET
/api/v1/folder/{folderId}
Find a folder by ID
findFolderById 1 param → 200401403404
POST
/api/v1/folder/byPathdeprecated
Find subfolders by path (deprecated)
findSubFoldersByPath 2 params body → 200400401403404
GET
/api/v1/folder/siteId/{siteId}/path/{path}
Load folder and subfolders by path
loadFolderAndSubFoldersByPath 2 params → 200401403404
GET
/api/v1/folder/sitename/{siteName}/uri/{uri}
Load a folder by site name and URI
loadFolderByURI 2 params → 200401403404
GET
/api/v1/folder/search
Search folders
searchFolders 9 params → 200400401500
PUT
/api/v1/folder/{id}/file-browser-selected
Select folder in file browser
selectFolderInFileBrowser 1 param → 200401
Forms 1

Form management and processing

GET
/api/v1/form/{idOrVar}/successCallback
getSuccessCallbackFunction 1 param → default
Health 8

Health management and monitoring endpoints for administrative dashboards

GET
/api/v1/health/check/{checkName}
Get specific health check result
getHealthCheck 1 param → 200403404500
GET
/api/v1/health/checks
Get all health check names
getHealthCheckNames → 200403500
GET
/api/v1/health/liveness
Get liveness health status
getLivenessHealth → 200403500
GET
/api/v1/health
Get overall health status
getOverallHealth → 200403500
GET
/api/v1/health/readiness
Get readiness health status
getReadinessHealth → 200500
GET
/api/v1/health/status
Get system status summary
getSystemStatus → 200403500
POST
/api/v1/health/refresh/{checkName}
Force refresh a specific health check
refreshHealthCheck 1 param → 200403404500
POST
/api/v1/health/refresh
Force refresh all health checks
refreshHealthChecks → 200403500
Search Index 19

Elasticsearch index management and operations

PUT
/api/v1/esindex/activate/{params}deprecated
activateIndex 1 param → default
PUT
/api/v1/esindex/clear/{params}deprecated
clearIndex 1 param → default
PUT
/api/v1/esindex/close/{params}deprecated
closeIndex 1 param → default
PUT
/api/v1/esindex/create/{params}deprecated
createIndex 1 param → default
PUT
/api/v1/esindex/deactivate/{params}deprecated
deactivateIndex 1 param → default
GET
/api/v1/esindex/failed
downloadRemainingRecordsAsCsv → default
DELETE
/api/v1/esindex/failed
deleteFailedRecords → default
PUT
/api/v1/esindex/{indexName}
modIndex 2 params → default
DELETE
/api/v1/esindex/{indexName}
deleteIndex 1 param → default
DELETE
/api/v1/esindex/cache
flushIndiciesCache → default
GET
/api/v1/esindex/active/{params}deprecated
getActive 1 param → default
GET
/api/v1/esindex/cluster
getClusterStats → default
GET
/api/v1/esindex
getIndexStatus → default
GET
/api/v1/esindex/reindex
getReindexationProgress → default
POST
/api/v1/esindex/reindex
startReindex 1 param → default
DELETE
/api/v1/esindex/reindex
stopReindexation 1 param → default
GET
/api/v1/esindex/indexlist/{params}
indexList 1 param → default
PUT
/api/v1/esindex/open/{params}deprecated
openIndex 1 param → default
POST
/api/v1/esindex/optimize
optimizeIndices → default
Job Queue 14

Endpoints for managing background jobs and job queues

GET
/api/v1/jobs/abandoned
Retrieves abandoned jobs
getAbandonedJobs 2 params → 200401403500
GET
/api/v1/jobs/active
Retrieves active jobs
getActiveJobs 2 params → 200401403500
GET
/api/v1/jobs/{queueName}/active
Retrieves active jobs in a queue
getActiveJobsByQueue 3 params → 200401403404500
POST
/api/v1/jobs/{jobId}/cancel
Cancel a job
cancelJobQueueJob 1 param → 200401403404500
GET
/api/v1/jobs/canceled
Retrieves canceled jobs
getCanceledJobs 2 params → 200401403500
GET
/api/v1/jobs/completed
Retrieves completed jobs
getCompletedJobs 2 params → 200401403500
POST
/api/v1/jobs/{queueName}/upload
Creates a new job with form data
createJobWithFormData 1 param body → 200400401403404500
POST
/api/v1/jobs/{queueName}
Creates a new job with JSON parameters
createJobWithJson 1 param body → 200400401403404500
GET
/api/v1/jobs/failed
Retrieves failed jobs
getFailedJobs 2 params → 200401403500
GET
/api/v1/jobs/{jobId}/status
Retrieves job status information
getJobStatus_1 1 param → 200400401403404500
GET
/api/v1/jobs/queues
Retrieves available job queues
getQueues → 200401403500
GET
/api/v1/jobs
Retrieves jobs
listJobs 2 params → 200401403500
GET
/api/v1/jobs/{jobId}/monitor
Monitor a job in real time
monitorJob 1 param → 200401403404500
GET
/api/v1/jobs/successful
Retrieves successful jobs
getSuccessfulJobs 2 params → 200401403500
Language 2

Language configuration and management

POST
/api/v1/languages/i18n
Get internationalized messages
getI18nMessages body → 200400401500
GET
/api/v1/languages
List all available languages
listLanguages → 200401
Maintenance 26

System maintenance and administration operations

DELETE
/api/v1/maintenance/_contentlets
Bulk delete contentlets by identifier
deleteContentlets body → 200400401403
DELETE
/api/v1/maintenance/_pushedAssets
Delete all pushed assets records
deletePushedAssets → 200401403
DELETE
/api/v1/maintenance/_systemJobs/{group}/{name}
Delete a Quartz scheduler job
deleteSystemJob 2 params → 200401403404
GET
/api/v1/maintenance/_downloadAssets
downloadAssets 2 params → default
GET
/api/v1/maintenance/_downloadClusterLog/{fileName}
downloadClusterLogFile 1 param → default
GET
/api/v1/maintenance/_downloadDb
downloadDb → default
GET
/api/v1/maintenance/_downloadLog/{fileName}
downloadLogFile 1 param → default
GET
/api/v1/maintenance/_downloadStarter
downloadStarter 1 param → default
GET
/api/v1/maintenance/_downloadStarterWithAssets
downloadStarterWithAssets 2 params → default
DELETE
/api/v1/maintenance/_oldVersions
Drop old asset versions
dropOldVersions 1 param → 200400401403
GET
/api/v1/maintenance/assets/_clean
Get latest clean-assets job
getLatestCleanAssetsJob → 200401403
POST
/api/v1/maintenance/assets/_clean
Request a clean-assets job
requestCleanAssetsJob → 200401403409
GET
/api/v1/maintenance/assets/_fix
Get latest fix-assets job
getLatestFixAssetsJob → 200401403
POST
/api/v1/maintenance/assets/_fix
Request a fix-assets job
requestFixAssetsJob → 200401403409
GET
/api/v1/maintenance/_threads
JVM thread dump
getThreadDump 1 param → 200401403
GET
/api/v1/maintenance/_threads/info
JVM thread info
getThreadInfo → 200401403
GET
/api/v1/maintenance/_pgDumpAvailable
isPgDumpAvailable → default
GET
/api/v1/maintenance/_sessions
List active HTTP sessions
listSessions → 200401403
DELETE
/api/v1/maintenance/_sessions
Invalidate all sessions except the caller's
killAllSessions → 200401403
DELETE
/api/v1/maintenance/_sessions/{token}
Invalidate a single session
killSession 1 param → 200400401403404
GET
/api/v1/maintenance/_systemJobs
List Quartz scheduler jobs
listSystemJobs → 200401403
POST
/api/v1/maintenance/_searchAndReplace
Database-wide search and replace
searchAndReplace body → 200400401403
DELETE
/api/v1/maintenance/_shutdown
shutdown → default
DELETE
/api/v1/maintenance/_shutdownCluster
shutdownCluster 1 param → default
POST
/api/v1/upgradetask
upgrade body → default
DELETE
/api/v1/caches/menucache
Deletes the menu cache
deleteMenuCache → 200500
Navigation 2

Site navigation tree endpoints

GET
/api/v1/menu
getMenus → default
GET
/api/v1/nav/{uri}
Get site navigation tree
getNavigationTree 3 params → 200400401403404
Notifications 5

User notifications and alerts management

PUT
/api/v1/notification/delete
delete_7 body → default
DELETE
/api/v1/notification/id/{id}
delete_8 1 param → default
GET
/api/v1/notification/getNewNotificationsCount
getNewNotificationsCount 1 param → default
GET
/api/v1/notification/getNotifications/{params}
getNotifications 2 params → default
PUT
/api/v1/notification/markAsRead
markAsRead → default
Page 18

Page rendering, layout management, and content operations

POST
/api/v1/page/{pageId}/content
Replace the content mapping of a page
addContentToPage 2 params body → 200400409
GET
/api/v1/page/{pageId}/languagesdeprecated
Check page availability by language (deprecated)
checkPageLanguageVersions 1 param → 200401404
POST
/api/v1/page/_check-permission
Check user permission on a page
checkPagePermission body → 200401404
PUT
/api/v1/page/copyContent
Copy a contentlet on a page
copyPageContent body → 200400401403
PUT
/api/v1/page/{pageId}/_deepcopy
Deep copy a page and all its content
deepCopyPage 1 param → 200401403404
POST
/api/v1/page/actions
Find available workflow actions for a page
findAvailablePageActions body → 200401404
GET
/api/v1/page/{pageId}/content/tree
Get the multi-tree content structure of a page
getPageContentTree 1 param → 200401403404
GET
/api/v1/page/{pageId}/render/versions
Get live and preview render versions of a page
getPageRenderVersions 2 params → 200401403404
GET
/api/v1/page/types
Get content types associated with pages
getPageContentTypes 5 params → 200401403
GET
/api/v1/page/{pageId}/personas
Get personalized personas for a page
getPersonalizedPersonasOnPage 8 params → 200401403404
GET
/api/v1/page/_render-sources/{uri}
Get render sources for a page
getPageRenderSources 6 params → 200400403404
GET
/api/v1/page/json/{uri}
Get page metadata as JSON by URI
getPageJsonByUri 7 params → 200400401403404
GET
/api/v1/page/render/{uri}
Get rendered page metadata by URI
getPageRenderByUri 7 params → 200400401403404
GET
/api/v1/page/renderHTML/{uri}
Render page as raw HTML
renderPageHtmlOnly 3 params → 200401404
POST
/api/v1/page/layout
Saves a page template
postPageLayout body → 200400404
POST
/api/v1/page/{pageId}/layout
Links template and page
postPageLayoutHTMLLink 2 params body → 200400404
GET
/api/v1/page/search
Search pages by path
searchPages 3 params → 200401403
PUT
/api/v1/page/{pageId}/styles
Update contentlet styles in a page
updateStyles 1 param body → 200400401403404
Personalization 4

Content personalization and persona management

POST
/api/v1/personalization/pagepersonas
Personalize page containers
personalizePageContainers body → 200400401403404500
DELETE
/api/v1/personalization/pagepersonas/page/{pageId}/personalization/{personalization}
Delete page personalization
personalizePageContainers_1 2 params → 200400401403404500
GET
/api/personas/layout/{params}
getLayout_5 1 param → default
GET
/api/personas/sites/{id}
list_11 1 param → default
Personas 2

Content persona management and targeting

GET
/api/v1/personas
List personas
list_1 → 200400401403500
GET
/api/v1/personas/{id}
Get persona by ID
self 2 params → 200400401403404500
Relationships 2

Content relationship management

GET
/api/v1/relationships/cardinalities
getCardinality → default
GET
/api/v1/relationships
getOneSidedRelationships 3 params → default
Workflow 57

Endpoints that perform operations related to workflows.

POST
/api/v1/report-issue
Report a dotCMS UI issue
reportIssue body → 200400502
POST
/api/v1/workflow/actions/separator
Creates workflow action separator
addSeparatorAction body → 401403406500200400415
POST
/api/v1/workflow/steps
Add a new workflow step
postAddWorkflowStep body → 401403406500200400415
POST
/api/v1/workflow/schemes/{schemeId}/copy
Copy a workflow scheme
postCopyScheme 2 params body → 401403406500200400404415
GET
/api/v1/workflow/actions/{actionId}
Find action by ID
getWorkflowActionByActionId 1 param → 401403406500200404
PUT
/api/v1/workflow/actions/{actionId}
Update an existing workflow action
putSaveActionsByWorkflowActionForm 1 param body → 401403406500200400415
DELETE
/api/v1/workflow/actions/{actionId}
Delete a workflow action
deleteWorkflowActionByActionId 1 param → 401403406500200404
GET
/api/v1/workflow/steps/{stepId}/actions/{actionId}
Find a workflow action within a step
getWorkflowActionByStepActionId 2 params → 401403406500200404
DELETE
/api/v1/workflow/steps/{stepId}/actions/{actionId}
Remove a workflow action from a step
deleteWorkflowActionFromStepByActionId 2 params → 401403406500200404
DELETE
/api/v1/workflow/actionlets/{actionletId}
Remove an actionlet from a workflow action
deleteWorkflowActionletFromAction 1 param → 401403406500200404
PUT
/api/v1/workflow/schemes/{schemeId}
Update a workflow scheme
putUpdateWorkflowScheme 1 param body → 401403406500200400404415
DELETE
/api/v1/workflow/schemes/{schemeId}
Delete a workflow scheme
deleteWorkflowSchemeById 1 param → 401403406500200404
GET
/api/v1/workflow/steps/{stepId}
Retrieves a workflow step
getFindWorkflowStepById 1 param → 401403406500200400404
PUT
/api/v1/workflow/steps/{stepId}
Update an existing workflow step
putUpdateWorkflowStepById 1 param body → 401403406500200400415
DELETE
/api/v1/workflow/steps/{stepId}
Delete a workflow step
deleteWorkflowStepById 1 param → 401403406500200404
DELETE
/api/v1/workflow/system/actions/{identifier}
Delete default system action binding by action id
deleteSystemActionByActionId 1 param → 401403406500200404
GET
/api/v1/workflow/actions/{actionId}/condition
Find condition by action ID
getWorkflowConditionByActionId 1 param → 401403406500200404
GET
/api/v1/workflow/schemes/{schemeIdOrVariable}/export
Export a workflow scheme
getExportScheme 1 param → 401403406500200400404
GET
/api/v1/workflow/actionlets
Find all workflow actionlets
getWorkflowActionlets → 401403406500200
GET
/api/v1/workflow/actions/{actionId}/actionlets
Find workflow actionlets by workflow action
getWorkflowActionletsByActionId 1 param → 401403406500200404
POST
/api/v1/workflow/actions/{actionId}/actionlets
Adds an actionlet to a workflow action
postAddActionletToActionById 1 param body → 401403406500200400415
GET
/api/v1/workflow/schemes/{schemeId}/actions
Find all actions in a workflow scheme
getWorkflowActionsBySchemeId 1 param → 401403406500200404
POST
/api/v1/workflow/schemes/actions/{systemAction}
Finds workflow actions by schemes and system action
postFindActionsBySchemesAndSystemAction 1 param body → 401403406500200400415
GET
/api/v1/workflow/steps/{stepId}/actions
Find all actions in a workflow step
getWorkflowActionsByStepId 1 param → 401403406500200404
POST
/api/v1/workflow/steps/{stepId}/actions
Adds a workflow action to a workflow step
postActionToStepById 1 param body → 401403406500200400415
GET
/api/v1/workflow/schemes/schemescontenttypes/{contentTypeId}
Find workflow schemes by content type id
getWorkflowSchemesByContentTypeId 1 param → 401403406500200404
GET
/api/v1/workflow/contenttypes/schemes
Find workflow schemes for multiple content types
getWorkflowSchemesByContentTypeList 1 param → 401403406500200400
GET
/api/v1/workflow/contentlet/{inode}/actions
Finds workflow actions by content inode
getWorkflowActionsByContentletInode 2 params → 401403406500200404
GET
/api/v1/workflow/defaultactions/contenttype/{contentTypeId}
Find possible default actions by content type
getDefaultActionsByContentTypeId 1 param → 401403406500200404
GET
/api/v1/workflow/defaultactions/schemes
Find possible default actions by scheme(s)
getDefaultActionsBySchemeIds 1 param → 401403406500200404
GET
/api/v1/workflow/initialactions/contenttype/{contentTypeId}
Find initial actions by content type
getInitialActionsByContentTypeId 1 param → 401403406500200404
GET
/api/v1/workflow/schemes
Find workflow schemes
getWorkflowSchemes 2 params → 401403406500200404
POST
/api/v1/workflow/schemes
Create a workflow scheme
postSaveScheme body → 401403406500200400415
GET
/api/v1/workflow/schemes/{schemeId}/steps
Find steps by workflow scheme ID
getWorkflowStepsBySchemeId 1 param → 401403406500200404
GET
/api/v1/workflow/contenttypes/{contentTypeVarOrId}/system/actions
Find default system actions mapped to a content type
getSystemActionMappingsByContentType 1 param → 401403406500200404
GET
/api/v1/workflow/schemes/{schemeId}/system/actions
Find default system actions mapped to a workflow scheme
getSystemActionMappingsBySchemeId 1 param → 401403406500200404
PUT
/api/v1/workflow/actions/firemultipart
Fire action by name (multipart form)
putFireActionByNameMultipart 4 params body → 401403406500200400404415
PUT
/api/v1/workflow/actions/fire
Fire workflow action by name
putFireActionByName 4 params body → 401403406500200400404415
PUT
/api/v1/workflow/actions/default/firemultipart/{systemAction}
Fire default action (multipart form)
putFireDefaultActionMultipart 5 params body → 401403406500200400404415
PUT
/api/v1/workflow/actions/default/fire/{systemAction}
Fire system action by name
putFireDefaultSystemAction 6 params body → 401403406500200400404415
POST
/api/v1/workflow/actions/default/fire/{systemAction}
Fire system action by name over multiple contentlets
postFireSystemActionByNameMulti 1 param body → 401403406500200400404415
PATCH
/api/v1/workflow/actions/default/fire/{systemAction}
Modify specific fields on multiple contentlets
patchFireMergeSystemAction 5 params body → 401403406500200404415
PUT
/api/v1/workflow/actions/{actionId}/firemultipart
Fire action by ID (multipart form)
putFireActionByIdMultipart 5 params body → 401403406500200400404415
PUT
/api/v1/workflow/actions/{actionId}/fire
Fire action by ID
putFireActionById 5 params body → 401403406500200400404415
POST
/api/v1/workflow/contentlet/actions/_bulkfire
Perform workflow actions on bulk content
postBulkActionsFire body → 401403406500200400415
PUT
/api/v1/workflow/contentlet/actions/bulk/fire
Perform workflow actions on bulk content
putBulkActionsFire body → 401403406500200400415422
POST
/api/v1/workflow/contentlet/actions/bulk
Finds available bulk workflow actions for content
postBulkActions body → 401403406500200400415
GET
/api/v1/workflow/status/{contentletInode}
Find workflow status of content
getContentWorkflowStatusByInode 1 param → 401403406500200400
GET
/api/v1/workflow/system/actions/{workflowActionId}
Find default system actions by workflow action id
getSystemActionsByActionId 1 param → 401403406500200404
POST
/api/v1/workflow/tasks
Find workflow tasks based on filter parameters
getWorkflowTasks body → 401403406500200400
GET
/api/v1/workflow/tasks/history/comments/{contentletIdentifier}
Find workflow tasks history and comments of content
getWorkflowTasksHistoryComments 2 params → 401403406500200400
POST
/api/v1/workflow/schemes/import
Import a workflow scheme
postImportScheme body → 401403406500200400415
PUT
/api/v1/workflow/reorder/steps/{stepId}/actions/{actionId}
Change the order of actions within a workflow step
putReorderWorkflowActionsInStep 2 params body → 401403406500200400404415
PUT
/api/v1/workflow/reorder/step/{stepId}/order/{order}
Change the order of steps within a scheme
putReorderWorkflowStepsInScheme 2 params → 401403406500200400415
POST
/api/v1/workflow/actions
Creates/saves a workflow action
postActionsByWorkflowActionForm body → 401403406500200400415
POST
/api/v1/workflow/{contentletId}/comments
Create a workflow comment
postSaveComment 2 params body → 401403406500200400415
PUT
/api/v1/workflow/system/actions
Save a default system action mapping
putSaveSystemActions body → 401403406500200400415
Site 20

Site management, lifecycle, and configuration endpoints

PUT
/api/v1/site/{siteId}/_archive
Archive a site
archiveSite 1 param → 200400401403404
PUT
/api/v1/site/_copy
Copy a site
copySite body → 200400401403404
GET
/api/v1/site
List sites with pagination
getSites 6 params → 200403500
PUT
/api/v1/site
Update an existing site
updateSite 1 param body → 200400401403404
POST
/api/v1/site
Create a new site
createSite body → 200400401403409
GET
/api/v1/site/currentSite
Get the current site for the logged-in user
getCurrentSite → 200403500
GET
/api/v1/site/defaultSite
Get the default site
getDefaultSite → 200403500
GET
/api/v1/site/{siteId}
Get a site by its identifier
getSiteById 1 param → 200401403404
DELETE
/api/v1/site/{siteId}
Delete a site
deleteSite 1 param → 200400401403
GET
/api/v1/site/thumbnails
Get thumbnails for all sites
findAllSiteThumbnails → 200403500
POST
/api/v1/site/_byname
Find a site by name
findSiteByName body → 200400401403404
GET
/api/v1/site/{siteId}/setup_progress
Get site setup progress
getSiteSetupProgress 1 param → 200401403
GET
/api/v1/site/variable/{siteId}
Retrieve the Site Variables for a site
getSiteVariables 1 param → 200401403404
PUT
/api/v1/site/{siteId}/_makedefault
Mark a site as the default
makeDefaultSite 1 param → 200400401403
PUT
/api/v1/site/{siteId}/_publish
Publish a site
publishSite 1 param → 200400401403
PUT
/api/v1/site/variable
Save a Site Variable
saveSiteVariable body → 200400401403
PUT
/api/v1/site/switch
Switch to the user's default site
switchToDefaultSite → 200403500
PUT
/api/v1/site/switch/{id}
Switch to a specific site
switchSiteById 1 param → 200403404500
PUT
/api/v1/site/{siteId}/_unarchive
Unarchive a site
unarchiveSite 1 param → 200400401403
PUT
/api/v1/site/{siteId}/_unpublish
Unpublish a site
unpublishSite 1 param → 200401403404
Cache Management 11

Cache provider management and operations

DELETE
/api/v1/caches/provider/{provider}/flush
Flush all caches
flushAll 1 param → 200401403
DELETE
/api/v1/caches/provider/{provider}/flush/{group}
flushGroup 2 params → default
DELETE
/api/v1/caches/provider/{provider}/flush/{group}/{id}
flushObject 3 params → default
DELETE
/api/v1/caches/region/{regionName}
Flush a cache region
flushRegion 1 param → 200400401403
GET
/api/v1/caches/stats
Get cache statistics
getCacheStats → 200401403
GET
/api/v1/caches/provider/{provider}/keys/{group}
getKeys 2 params → default
GET
/api/v1/caches
List cache region names
listRegions → 200401403
GET
/api/v1/caches/provider/{provider}/object/{group}/{id}
showObject 3 params → default
GET
/api/v1/caches/provider/{provider}/objects/{group}
showObjects 2 params → default
GET
/api/v1/caches/providers/{group}
showProviders 1 param → default
GET
/api/v1/caches/provider/{provider}/{group}
showProviders_1 2 params → default
Internationalization 14

Language management and localization

GET
/api/v1/system/i18n/{lang}/{rsrc}
list_7 2 params → default
PUT
/api/v2/languages/{languageId}
updateLanguage 1 param body → default
DELETE
/api/v2/languages/{languageId}
deleteLanguage 1 param → default
GET
/api/v2/languages/id/{languageid}
get_8 1 param → default
GET
/api/v2/languages/{language}/keys
getAllMessages 1 param → default
GET
/api/v2/languages/_getdefault
getDefaultLanguage → default
GET
/api/v2/languages/{languageTag}
getFromLanguageTag 2 params → default
POST
/api/v2/languages/{languageTag}
saveFromLanguageTag 2 params → default
GET
/api/v2/languages/iso
getIsoLanguagesAndCountries → default
POST
/api/v2/languages/i18n
getMessages body → default
GET
/api/v2/languages/variables
getVariables 1 param → default
GET
/api/v2/languages
list_10 2 params → default
POST
/api/v2/languages
saveLanguage body → default
PUT
/api/v2/languages/{language}/_makedefault
makeDefault 1 param body → default
System Logging 3

System logging configuration and management

GET
/api/v1/logger
getLoggers → default
PUT
/api/v1/logger
changeLoggerLevel body → default
GET
/api/v1/logger/{loggerName}
getLogger 1 param → default
System Monitoring 2

System monitoring and health checks

GET
/api/v1/{a}
heavyCheck → default
GET
/api/v1/{a}/{a}
ready → default
Permissions 11

Permission management and access control

GET
/api/v1/permissions/{assetId}
Get asset permissions
getAssetPermissions 3 params → 200400401403404
PUT
/api/v1/permissions/{assetId}
Update asset permissions
updateAssetPermissions 2 params body → 200400401403404500
GET
/api/v1/permissions/_bycontent
Get permission for a Contentlet
getByContentlet 2 params → 200403
GET
/api/v1/permissions/_bycontent/_groupbytype
Get permissions roles group by type for a Contentlet
getByContentletGroupByType 1 param → 200403
GET
/api/v1/permissions
Get permission metadata
getPermissionMetadata → 200401403
GET
/api/v1/permissions/_bypermissiontype
Get permissions by permission type
getPermissionsByPermissionType 3 params → 200400401403
GET
/api/v1/permissions/role/{roleId}
Get role permissions
getRolePermissions 1 param → 200400403
GET
/api/v1/permissions/user/{userId}
Get user permissions
getUserPermissions 3 params → 200401403404
PUT
/api/v1/permissions/{assetId}/_reset
Reset asset permissions to inherited
resetAssetPermissions 1 param → 200400401403404409
PUT
/api/v1/permissions/role/{roleId}/asset/{assetId}
Update role permissions on asset
updateRolePermissions 3 params body → 200400401403404500
PUT
/api/v1/permissions/user/{userId}/asset/{assetId}
Update user permissions on asset
updateUserPermissions 2 params body → 200400401403404
System 10

System-level operations and Redis management

GET
/api/v1/redis/{key}
get_5 1 param → default
DELETE
/api/v1/redis/{key}
delete_10 1 param → default
GET
/api/v1/redis/hash/{key}
getHash 1 param → default
DELETE
/api/v1/redis/hash/{key}
deleteHash 1 param → default
GET
/api/v1/redis/echo/{message}
echo 1 param → default
GET
/api/v1/redis/incr/{key}
getIncrement 1 param → default
PUT
/api/v1/redis/incr/{key}
incrementAsync 1 param → default
GET
/api/v1/redis/ping
ping → default
PUT
/api/v1/redis
set_1 body → default
PUT
/api/v1/redis/hash
setHash body → default
System Storage 2

Storage providers and data replication management

GET
/api/v1/storages/hello
hello → default
GET
/api/v1/storages/chain/_replicate/{from}/to/{to}
replicateStorages 2 params → default
TailLog 2

Server log file monitoring and real-time viewing

GET
/api/v1/logs/{fileName}/_tail
getLogs 2 params → default
GET
/api/v1/logs
List available log files
listLogFiles → 200401403
Temporary Files 2

Temporary file upload and management for content creation

POST
/api/v1/temp/byUrl
Create temporary file from a remote URL
createTempFileFromUrl body → 200400401404
POST
/api/v1/temp
Upload temporary files via multipart form
uploadTempFileMultipart 1 param body → 200400401404
Template 14

Template CRUD, publish, archive, and layout management endpoints

PUT
/api/v1/templates/_archive
Archive templates in bulk
archiveTemplates body → 200400401
PUT
/api/v1/templates/{templateId}/_copy
Copy a template
copyTemplate 1 param → 200401404
GET
/api/v1/templates
List templates
listTemplates 7 params → 200401
PUT
/api/v1/templates
Update an existing template
updateTemplate body → 200400401404
POST
/api/v1/templates
Create a new template
createTemplate body → 200400401
DELETE
/api/v1/templates
Delete templates in bulk
deleteTemplates body → 200400401
POST
/api/v1/templates/image
Get the image associated with a template
fetchTemplateImage body → 200401404
GET
/api/v1/templates/{templateId}/live
Get live version of a template
getLiveTemplateById 1 param → 200401404
GET
/api/v1/templates/{templateId}/working
Get working version of a template
getWorkingTemplateById 1 param → 200401404
PUT
/api/v1/templates/_publish
Publish templates in bulk
publishTemplates body → 200400401
PUT
/api/v1/templates/_savepublish
Save and publish a template
saveAndPublishTemplate body → 200400401403
PUT
/api/v1/templates/draft
Save a template as draft
saveTemplateDraft body → 200400401404
PUT
/api/v1/templates/_unarchive
Unarchive templates in bulk
unarchiveTemplates body → 200400401
PUT
/api/v1/templates/_unpublish
Unpublish templates in bulk
unpublishTemplates body → 200400401
Theme 2

Theme browsing and management

GET
/api/v1/themes/id/{id}
Get theme by ID
findThemeById 1 param → 200401404
GET
/api/v1/themes
List themes with pagination
findThemes 5 params → 200400401
Usage 1

Provides business intelligence metrics for dashboard usage

GET
/api/v1/usage/summary
Get usage dashboard summary
getSummary 1 param → 200400401403500
Variants 5

Endpoints for managing content variants

POST
/api/v1/variants
Creates a new content variant
addVariant_1 body → 200400401403500
PUT
/api/v1/variants/{variantName}/_promote
Promotes a variant to become the default
promoteVariant_1 1 param → 200400401403404500
PUT
/api/v1/versionables/{versionableInode}/_bringback
bringBack 1 param → default
DELETE
/api/v1/versionables/{versionableInode}
deleteVersion 1 param → default
GET
/api/v1/versionables/{versionableInodeOrIdentifier}
findVersionable 1 param → default
Templates 18

Template design and management

GET
/api/vtl/{folder}
get_6 1 param body → default
PUT
/api/vtl/{folder}
putMultipart_2 1 param body → default
POST
/api/vtl/{folder}
postMultipart_2 1 param body → default
DELETE
/api/vtl/{folder}
delete_11 1 param body → default
PATCH
/api/vtl/{folder}
patchMultipart_2 1 param body → default
GET
/api/vtl/{folder}/{pathParam}
get_7 2 params body → default
PUT
/api/vtl/{folder}/{pathParam}
putMultipart_3 2 params body → default
POST
/api/vtl/{folder}/{pathParam}
postMultipart_3 2 params body → default
DELETE
/api/vtl/{folder}/{pathParam}
delete_12 2 params body → default
PATCH
/api/vtl/{folder}/{pathParam}
patchMultipart_3 2 params body → default
GET
/api/vtl/dynamic/{pathParam}
Evaluate inline Velocity code (GET)
dynamicGet_2 1 param body → 200400403
PUT
/api/vtl/dynamic/{pathParam}
Evaluate inline Velocity code (PUT)
dynamicPut_2 1 param body → 200400403
POST
/api/vtl/dynamic/{pathParam}
Evaluate inline Velocity code (POST)
dynamicPost_2 1 param body → 200400403
DELETE
/api/vtl/dynamic/{pathParam}
Evaluate inline Velocity code (DELETE)
dynamicDelete_1 1 param body → 200400403
PATCH
/api/vtl/dynamic/{pathParam}
Evaluate inline Velocity code (PATCH)
dynamicPatch_1 1 param body → 200400403
GET
/api/vtl/dynamic
Evaluate inline Velocity code (GET)
dynamicGetNoPath body → 200400403
PUT
/api/vtl/dynamic
Evaluate inline Velocity code (PUT)
dynamicPutNoPath body → 200400403
POST
/api/vtl/dynamic
Evaluate inline Velocity code (POST)
dynamicPostNoPath body → 200400403
Tags 13

Content tagging and labeling

GET
/api/v2/tags
List/Search Tags
listTags 7 params → 200400401403500
POST
/api/v2/tags
Create tags
createTags body → 200201400401403500
DELETE
/api/v2/tags
Bulk delete tags
bulkDeleteTags body → 200400401403500
DELETE
/api/v2/tags/{tagId}
Delete tag
deleteTag 1 param → 200401403404500
GET
/api/v2/tags/inode/{inode}
Get tags by inode
getTagsByInode 1 param → 200401403404500
DELETE
/api/v2/tags/inode/{inode}
Delete tag-inode associations
deleteTagInodeAssociations 1 param → 200401403404500
GET
/api/v2/tags/export/template
Download tag import template
downloadTagImportTemplate → 200401403500
GET
/api/v2/tags/export
Export tags
exportTags 4 params → 200400401403500
GET
/api/v2/tags/{nameOrId}
Get tag by name or ID
getTagByNameOrId 2 params → 200401403404500
GET
/api/v2/tags/user/{userId}
Get tags by user ID
getTagsByUserId 1 param → 200401403404500
POST
/api/v2/tags/import
Import tags from CSV file
importTags body → 200400401403500
PUT
/api/v2/tags/tag/{nameOrId}/inode/{inode}
Link tags to inode
linkTagsToInode 2 params → 200400401403404500
PUT
/api/v2/tags/{idOrName}
Update tag
updateTag 2 params body → 200400401403404409500
Elasticsearch Content Search 3

Backend Elasticsearch search endpoints for portlet context

GET
/api/es/layout/{params}
getLayout_4 1 param → default
POST
/api/es/search
Search content using a search query (POST)
searchContentByESPost 4 params body → 200400401
POST
/api/es/raw
Execute raw search query (POST)
rawSearchContentByESPost → 200400401

Schemas 606

The contract defines 606 schemas that model the data the API accepts and returns. The most detailed are User (61 properties), HTMLPageAsset (51 properties), Host (43 properties), WorkflowActionView (42 properties). Each schema is shown below with its type and property counts.

ErrorEntity
object
3 properties
MessageEntity
object
1 property
Pagination
object
3 properties
ProviderField
object
5 properties
ProviderMetadata
object
3 properties
ResponseEntityAiProviderListView
object
6 properties
ResponseEntityAiTestConnectionView
object
6 properties
TestConnectionResult
object
2 properties
CompletionsForm
object
16 properties
Role
object
14 properties
User
object
61 properties
JSONObject
object
2 properties
EmbeddingsForm
object
9 properties
AIImageRequestDTO
object
4 properties
OAuthExchangeView
object
4 properties
ResponseEntityOAuthExchangeView
object
6 properties
UserSummary
object
6 properties
OAuthExchangeForm
object
3 properties 2 required
DotAuthConfigView
object
6 properties
ResponseEntityDotAuthConfigView
object
6 properties
BodyPart
object
8 properties
ContentDisposition
object
7 properties
FormDataBodyPart
object
12 properties
FormDataContentDisposition
object
8 properties
FormDataMultiPart
object
10 properties
MessageBodyWorkers
object
MultiPart
object
9 properties
ParameterizedHeader
object
2 properties
DotAuthSitesView
object
2 properties
ResponseEntityDotAuthSitesView
object
6 properties
SiteRowView
object
4 properties
SystemView
object
3 properties
ResponseEntityStringView
object
6 properties
DotAuthConfigForm
object
2 properties 1 required
ResponseEntityFieldTypeListView
object
6 properties
DeleteBundlesByIdentifierForm
object
1 property
GenerateBundleForm
object
3 properties
PublishingEndPoint
object
11 properties
ResponseEntityEndpointView
object
6 properties
ForbiddenException
object
6 properties
EndpointForm
object
8 properties 5 required
ResponseEntityBooleanView
object
6 properties
DoesNotExistException
object
5 properties
ResponseEntityEndpointsView
object
6 properties
Environment
object
5 properties
ResponseEntityEnvironmentView
object
6 properties
EnvironmentForm
object
3 properties 2 required
ResponseEntityEnvironmentsView
object
6 properties
DeletePPQueueElementsByIdentifierForm
object
1 property
ResponseEntityTagOperationView
object
6 properties
RestTag
object
5 properties
TagForm
object
4 properties 1 required
ResponseEntityTagInodesView
object
6 properties
TagInode
object
4 properties
ResponseEntityTagsView
object
6 properties
ResponseEntityTagInodeOperationView
object
6 properties
UpdateTagForm
object
4 properties 2 required
ResponseEntityView
object
6 properties
A11yAgentFixForm
object
3 properties 1 required
EventOutput
object
2 properties
A11yAgentStopForm
object
1 property 1 required
AccessibilityForm
object
1 property
Announcement
object
11 properties
ResponseEntityViewListAnnouncement
object
6 properties
SecretForm
object
DeleteSecretForm
object
3 properties 3 required
ExportSecretForm
object
4 properties 3 required
AssetArchiveRequestForm
object
1 property 1 required
FolderDetail
object
Folder configuration details
6 properties 1 required
ImmutableListString
array
Ordered list of stat column names reported by this provider
3 properties
NewFolderForm
object
2 properties 2 required
AssetDeletionRequestForm
object
1 property 1 required
FolderDeletionRequestForm
object
1 property 1 required
AssetsRequestForm
object
3 properties 1 required
WebAssetEntityView
object
6 properties
WebAssetView
object
AssetLookupRequestForm
object
1 property 1 required
FileUploadDetail
object
4 properties
UpdateFolderDetail
object
Folder configuration details
7 properties 2 required
UpdateFolderForm
object
2 properties 2 required
ResponseEntityMapView
object
6 properties
ResponseEntityJwtView
object
6 properties
ResponseEntityApiTokenWithJwtView
object
6 properties
RemoteAPITokenForm
object
1 property
ApiTokenForm
object
5 properties
AuthenticationForm
object
6 properties 2 required
ResponseEntityMapMapView
object
6 properties
ResponseEntityForgotPasswordView
object
6 properties
ForgotPasswordForm
object
1 property 1 required
LanguageView
object
3 properties
LoginFormResultView
object
11 properties
ResponseEntityLoginFormView
object
6 properties
I18NForm
object
3 properties
ResponseEntityPasswordResetView
object
6 properties
ResetPasswordForm
object
2 properties 2 required
BrowserQueryForm
object
16 properties
OpenFolderForm
object
1 property
CategoryBulkDeleteResultView
object
4 properties
FailedResultView
object
2 properties
ResponseEntityCategoryBulkDeleteResultView
object
6 properties
CategoryView
object
10 properties
ResponseEntityCategoryView
object
6 properties
CategoryWithChildCountView
object
11 properties
ResponseEntityCategoryWithChildCountView
object
6 properties
HierarchyShortCategoriesResponseView
object
6 properties
HierarchyShortCategory
object
4 properties
ShortCategory
object
3 properties
CategoryKeysForm
object
1 property
CategoryImportFormSchema
object
Category import form data with CSV file and processing parameters
4 properties
BulkResultView
object
3 properties
ResponseEntityBulkResultView
object
6 properties
file
object
CSV file containing categories to import
CategoryEditForm
object
8 properties
CategoryForm
object
10 properties 1 required
CompanyConfigView
object
15 properties 6 required
ResponseEntityCompanyConfigView
object
6 properties
CompanyAuthTypeForm
object
Company authentication type setting
1 property 1 required
CompanyBasicInfoForm
object
Company basic information and branding settings
9 properties 4 required
CompanyLocaleForm
object
Company locale settings (language and timezone)
2 properties 2 required
Container
object
35 properties
ContainerView
object
2 properties
ResponseEntitySingleContainerView
object
6 properties
ResponseEntityContainerObjectMapView
object
6 properties
ResponseEntityContainerView
object
6 properties
PaginatedArrayListMapStringObject
array
5 properties
ResponseEntityPaginatedArrayListMapView
object
6 properties
ContainerForm
object
Form used to create or update a Container in dotCMS
18 properties 1 required
ContainerStructure
object
6 properties
ContentReportView
object
2 properties
ResponseSiteVariablesEntityView
object
6 properties
SiteVariableView
object
8 properties
ResponseEntityViewMapStringObject
object
6 properties
ExistingLanguagesForContentletView
object
1 property
ResponseEntityViewListExistingLanguagesForContentletView
object
6 properties
CountView
object
1 property
ResponseEntityCountView
object
6 properties
ContentReferenceView
object
3 properties
IHTMLPage
object
33 properties
Permissionable
object
4 properties
ResponseEntityContentReferenceListView
object
6 properties
ResponseEntityPaginatedDataView
object
6 properties
ResponseEntityListMapView
object
6 properties
PullRelatedForm
object
6 properties 5 required
ResponseEntityContentletView
object
6 properties
ContentForm
object
1 property
JsonObjectView
object
1 property
SearchView
object
4 properties
ResponseEntityViewSearchView
object
6 properties
ContentSearchForm
object
Form for searching content with support for global search, content type specific fields, and system filters
9 properties
ResponseEntitySearchView
object
6 properties
SearchForm
object
Content search request. query is a Lucene expression; the remaining fields control paging, sorting, language, and how results are rendered.
9 properties
ResponseEntityMapStringObjectView
object
6 properties
BulkRefreshSubmitResponse
object
2 properties
ResponseEntityBulkRefreshSubmitView
object
6 properties
BulkRefreshForm
object
3 properties 1 required
ErrorDetail
object
5 properties
ImmutableListJob
array
3 properties
ImmutableMapStringObject
object
Styles defined for the Contentlet
1 property
Job
object
12 properties
JobPaginatedResult
object
4 properties
JobResult
object
2 properties
ResponseEntityJobPaginatedResultView
object
6 properties
ImmutableListJobView
array
3 properties
JobView
object
12 properties
JobViewPaginatedResult
object
4 properties
ResponseEntityViewJobViewPaginatedResult
object
6 properties
ResponseEntityViewString
object
6 properties
ResponseEntityJobView
object
6 properties
ResponseEntityViewJobView
object
6 properties
JobStatusResponse
object
2 properties
ResponseEntityJobStatusView
object
6 properties
ContentImportParamsSchema
object
Schema for content import parameters.
2 properties 2 required
ContentImportForm
object
6 properties 2 required
ImmutableMapObjectObject
object
1 property
ResponseEntityContentTypeOperationView
object
6 properties
CopyContentTypeForm
object
5 properties 1 required
ContentType
object
2 properties 1 required
ContentTypeForm
object
5 properties
DotAssetContentType
object
FileAssetContentType
object
FormContentType
object
KeyValueContentType
object
PageContentType
object
PersonaContentType
object
SimpleContentType
object
Tuple2SystemActionString
object
2 properties
VanityUrlContentType
object
WidgetContentType
object
WorkflowFormEntry
object
2 properties
ContentTypeFieldView
object
A single field within a content type's 'fields[]' array. The 'clazz' property is the discriminator that selects the concrete field type; the remaining properti…
15 properties 2 required
ContentTypeRequestView
object
A content-type object, posted directly (NOT wrapped in a 'contentType' envelope). The endpoint also accepts an array of these objects to create several types i…
13 properties 2 required
ResponseEntityContentTypeJsonView
object
6 properties
ResponseEntityListContentTypeView
object
6 properties
FilteredContentTypesForm
object
5 properties
BaseContentTypesView
object
4 properties
ContentTypeView
object
5 properties
ResponseEntityBaseContentTypesView
object
6 properties
ResponseEntityContentTypeDetailView
object
6 properties
Condition
object
3 properties
Experiment
object
16 properties
ExperimentVariant
object
5 properties
Goal
object
2 properties
Goals
object
1 property
ImmutableListCondition
array
3 properties
ImmutableMapStringString
object
1 property
Metric
object
4 properties
ResponseEntitySingleExperimentView
object
6 properties
RunningId
object
3 properties
RunningIds
object
1 property
Scheduling
object
2 properties
TargetingCondition
object
4 properties
TrafficProportion
object
2 properties
AddVariantForm
object
1 property
ResponseEntityExperimentView
object
6 properties
ExperimentForm
object
9 properties
BayesianResult
object
6 properties
CredibilityInterval
object
2 properties
DifferenceData
object
4 properties
ExperimentResults
object
3 properties
GoalResults
object
2 properties
ImmutableListVariantResult
array
3 properties
ImmutableMapDoubleQuantilePair
object
1 property
ImmutableMapStringListSampleData
object
1 property
QuantilePair
object
2 properties
ResponseEntityExperimentResults
object
6 properties
ResultResumeItem
object
3 properties
SampleData
object
2 properties
SampleGroup
object
1 property
TotalSession
object
2 properties
UniqueBySessionResume
object
2 properties
VariantResult
object
8 properties
VariantResults
object
5 properties
LookBackWindow
object
2 properties
ResponseEntityExperimentSelectedView
object
6 properties
SelectedExperiment
object
7 properties
SelectedExperiments
object
4 properties
SelectedVariant
object
2 properties
ExcludedExperimentListForm
object
1 property
ExperimentVariantForm
object
1 property
ResponseEntityListView
object
6 properties
BinaryField
object
CategoryField
object
CheckboxField
object
ColumnField
object
ConstantField
object
CustomField
object
DateField
object
DateTimeField
object
EmptyField
object
Field
object
2 properties 1 required
FileField
object
Folder
object
20 properties
HiddenField
object
Host
object
43 properties
HostFolderField
object
ImageField
object
KeyValueField
object
LineDividerField
object
MultiSelectField
object
PermissionTabField
object
RadioField
object
RelationshipField
object
RelationshipsTabField
object
ResponseEntityFolderView
object
6 properties
RowField
object
SelectField
object
StoryBlockField
object
TabDividerField
object
TagField
object
TextAreaField
object
TextField
object
TimeField
object
UserAPI
object
5 properties
WysiwygField
object
FolderSearchResultView
object
5 properties
ResponseEntityFolderSearchResultView
object
6 properties
SearchByPathForm
object
1 property
FolderView
object
14 properties
ResponseEntityFolderWithSubfoldersView
object
6 properties
FolderSearchView
object
13 properties
PaginatedArrayListFolderSearchView
array
5 properties
ResponseEntityFolderSearchView
object
6 properties
ResponseEntityViewJobPaginatedResult
object
6 properties
JobParamsSchema
object
Schema for multipart job queue parameters.
2 properties
ResponseEntityViewJob
object
6 properties
ResponseEntityViewSetString
object
6 properties
ResponseEntityMapStringStringView
object
6 properties
RestLanguage
object
1 property
DeleteContentletsResultView
object
2 properties 2 required
ResponseEntityDeleteContentletsResultView
object
6 properties
DeleteContentletsForm
object
List of contentlet identifiers to permanently destroy
1 property 1 required
ResponseEntitySystemJobDeleteView
object
6 properties
DropOldVersionsResultView
object
2 properties 2 required
ResponseEntityDropOldVersionsResultView
object
6 properties
ImmutableListThreadDescriptorView
array
Per-thread descriptors
3 properties
ResponseEntityThreadDumpView
object
6 properties
ThreadDescriptorView
object
12 properties 9 required
ThreadDumpView
object
7 properties 6 required
ResponseEntityThreadSystemInfoView
object
6 properties
ThreadSystemInfoView
object
7 properties 6 required
KillSessionsResultView
object
1 property 1 required
ResponseEntityKillSessionsResultView
object
6 properties
ResponseEntitySessionListView
object
6 properties
SessionView
object
7 properties 3 required
ResponseEntitySystemJobListView
object
6 properties
ResponseEntitySearchAndReplaceResultView
object
6 properties
SearchAndReplaceResultView
object
2 properties 2 required
SearchAndReplaceForm
object
Database-wide search and replace parameters
2 properties 2 required
DeleteForm
object
1 property 1 required
ResponseEntityListViewString
object
6 properties
BundleMap
object
14 properties
ResponseEntityBundleListView
object
6 properties
ExtraPackagesForm
object
1 property 1 required
ResponseEntitySetStringView
object
6 properties
ContainerEntry
object
5 properties
PageContainerForm
object
2 properties
PageContainerEntryView
object
Single container slot assignment for a page.
4 properties 3 required
ExistingLanguagesForPageView
object
1 property
ResponseEntityLanguagesForPageView
object
6 properties
PageCheckPermissionForm
object
4 properties
CopyContentletForm
object
8 properties
ActionInputView
object
2 properties
PageWorkflowActionsView
object
2 properties
ResponseEntityPageWorkflowActionsView
object
6 properties
WorkflowActionView
object
42 properties
FindAvailableActionsForm
object
4 properties
MulitreeView
object
7 properties
ResponseEntityMulitreeView
object
6 properties
ResponseEntityViewListMulitreeView
object
6 properties
PageLivePreviewVersionBean
object
3 properties
ResponseEntityPageLivePreviewVersionView
object
6 properties
PersonalizationPersonaPageView
object
2 properties
ResponseEntityListPersonalizationPersonaPageView
object
6 properties
ContainerSourceView
object
Containers referenced by the page template, keyed by container identifier (UUID for DB containers, host-qualified path for FILE containers). Only content types…
2 properties
ContentTypeEntryView
object
Content types placed on the page for this container. DB entries contain only contentTypeVar; FILE entries also include path and identifier.
3 properties
FileRefView
object
Every file found anywhere under the theme folder (searched recursively), regardless of type. Each entry carries its extension so consumers can filter.
3 properties
PageRenderSourcesView
object
5 properties
PageSourceRefView
object
Lightweight page reference. When the request URI was a URL-mapped path, identifier is the detail page identifier and uri is the originally requested URI (host-…
3 properties
ResponseEntityPageRenderSourcesView
object
6 properties
ThemeSourceView
object
Theme folder and every file that composes it
4 properties
UrlContentMapView
object
Present only when the requested URI resolved via a URL-map pattern. Identifies the specific mapped contentlet that owns the URL. Absent for regular (literal) H…
4 properties
WidgetSourceView
object
Widget contentlets placed on the page
7 properties
AccruedTag
object
2 properties
Body
object
1 property
CachedVanityUrl
object
11 properties
ContainerRaw
object
3 properties
ContainerUUID
object
3 properties
Contentlet
object
38 properties
EmptyPageView
object
14 properties
Geolocation
object
13 properties
HTMLPageAsset
object
51 properties
IPersona
object
19 properties
JsonNode
object
Language
object
6 properties
Persona
object
41 properties
ResponseEntityEmptyPageView
object
6 properties
Sidebar
object
5 properties
Template
object
41 properties
TemplateLayout
object
Required. The row/column/container structure of the layout: a 'body' of rows, each row holding columns, each column holding containers referenced by identifier…
8 properties
TemplateLayoutColumn
object
8 properties
TemplateLayoutRow
object
3 properties
UserAgent
object
4 properties
Version
object
3 properties
ViewAsPageStatus
object
7 properties
Visitor
object
17 properties
PageView
object
14 properties
ResponseEntityPageView
object
6 properties
VanityURLView
object
5 properties
ResponseEntityTemplateView
object
6 properties
PageForm
object
Layout payload used to create or update the anonymous Template backing a page. Wrap this object under a top-level 'PageForm' property in the request body. 'lay…
5 properties 1 required
ResponseEntityContentletMapsView
object
6 properties
ContentView
object
4 properties 3 required
ResponseEntityContentView
object
6 properties
ContentWithStylesForm
object
Container with contentlet style properties
3 properties 2 required
PageScanCheckForm
object
1 property
ResponseEntityPersonalizationView
object
6 properties
PersonalizationPersonaPageForm
object
2 properties 2 required
MapStringRestPersonaView
object
1 property
RestPersona
object
2 properties
CustomPortletForm
object
5 properties
AddAssetsToBundleView
object
5 properties 4 required
ResponseEntityAddAssetsToBundleView
object
6 properties
AddAssetsToBundleForm
object
Form for adding assets to a bundle
3 properties 1 required
RemoveAssetResultView
object
3 properties 3 required
ResponseEntityRemoveAssetsFromBundleView
object
6 properties
RemoveAssetsFromBundleForm
object
1 property 1 required
EndpointDetailView
object
8 properties 5 required
EnvironmentDetailView
object
3 properties 3 required
ImmutableListEndpointDetailView
array
Endpoints within this environment with their status
3 properties
ImmutableListEnvironmentDetailView
array
Environments with their endpoints and status details
3 properties
PublishingJobDetailView
object
10 properties 6 required
ResponseEntityPublishingJobDetailView
object
6 properties
TimestampsView
object
Publishing job timestamps
6 properties 1 required
AssetPreviewView
object
3 properties 3 required
ImmutableListAssetPreviewView
array
Preview of first 3 assets in the bundle
3 properties
PublishingJobView
object
12 properties 7 required
ResponseEntityPublishingJobsView
object
6 properties
PurgeResultView
object
2 properties 2 required
ResponseEntityPurgeView
object
6 properties
PushBundleResultView
object
6 properties 4 required
ResponseEntityPushBundleResultView
object
6 properties
PushBundleForm
object
Form for pushing a bundle to environments
5 properties 3 required
ResponseEntityRetryBundlesView
object
6 properties
RetryBundleResultView
object
7 properties 4 required
RetryBundlesForm
object
3 properties 1 required
FilterDescriptorForm
object
6 properties
ResponseEntitySiteView
object
6 properties
CopySiteForm
object
10 properties
SimpleSiteVariableForm
object
Optional list of site variables (key/value pairs) to create alongside the site.
4 properties
SiteForm
object
Form used to create a Site (Host) in dotCMS. 'siteName' (the hostname) is the only required field; the new site is created unpublished and must be published se…
18 properties 1 required
ResponseEntityHostView
object
6 properties
SearchSiteByNameForm
object
1 property
ResponseEntitySiteSetupProgressView
object
6 properties
HostVariable
object
7 properties
ResponseHostVariableEntityView
object
6 properties
SiteVariableForm
object
5 properties
ResponseEntitySiteSwitchView
object
6 properties
RestConditionGroup
object
3 properties 1 required
RestRule
object
7 properties
ParameterModel
object
5 properties
RestRuleAction
object
4 properties 1 required
RestCondition
object
5 properties 3 required
RestConditionValue
object
3 properties 1 required
CompanyEmailForm
object
1 property
ResponseEntityViewMapStringString
object
6 properties
KeyValueForm
object
2 properties 2 required
UpgradeTaskForm
object
1 property 1 required
CacheProviderStatsView
object
3 properties 3 required
CacheStatsView
object
5 properties 5 required
ImmutableListCacheProviderStatsView
array
Per-provider cache statistics
3 properties
ImmutableListMapStringString
array
Per-region statistics, each row keyed by column name
3 properties
JvmMemoryView
object
JVM memory statistics
4 properties 4 required
ResponseEntityCacheStatsView
object
6 properties
ResponseEntityListStringView
object
6 properties
ChangeLoggerForm
object
2 properties
PermissionView
object
6 properties
ResponseEntityPermissionView
object
6 properties
ImmutableSetScope
array
Available permission scopes (asset types) that support permissions
1 property
ImmutableSetType
array
Individual permission levels assigned directly to this role on the asset
1 property
PermissionMetadataView
object
2 properties 2 required
ResponseEntityPermissionMetadataView
object
6 properties
ResponseEntityPermissionsByTypeView
object
6 properties
ImmutableListUserPermissionAssetView
array
List of permission assets (hosts and folders) with their permission assignments
3 properties
ImmutableMapStringSetString
object
Map of permission types (INDIVIDUAL, HOST, FOLDER, etc.) to sets of permission level names (READ, WRITE, PUBLISH, EDITPERMISSIONS, CANADDCHILDREN)
1 property
ResponseEntityRolePermissionsView
object
6 properties
RolePermissionsView
object
3 properties 3 required
UserPermissionAssetView
object
The updated asset with new permission assignments
8 properties 8 required
ResetAssetPermissionsView
object
3 properties 3 required
ResponseEntityResetPermissionsView
object
6 properties
AssetPermissionsView
object
The updated asset with its new permission assignments
9 properties 8 required
ImmutableListRolePermissionView
array
Paginated list of role permissions assigned to this asset
3 properties
ImmutableMapScopeSetType
object
Inheritable permissions by scope (only for parent permissionables). Keys are permission scopes (HOST, FOLDER, CONTENT, etc.), values are permission types
1 property
ResponseEntityUpdatePermissionsView
object
6 properties
RolePermissionView
object
5 properties 4 required
UpdateAssetPermissionsView
object
5 properties 4 required
RolePermissionForm
object
Permission assignment for a single role on an asset
3 properties 1 required
UpdateAssetPermissionsForm
object
1 property 1 required
ImmutableMapStringListString
object
Map of permission scopes (INDIVIDUAL, CONTENT, FOLDER, HOST, etc.) to lists of permission level names (READ, WRITE, PUBLISH, EDITPERMISSIONS, CANADDCHILDREN)
1 property
ResponseEntityUpdateRolePermissionsView
object
6 properties
RolePermissionAssetView
object
The updated asset with new permission assignments for this role
8 properties 8 required
UpdateRolePermissionsView
object
3 properties 3 required
UpdateRolePermissionsForm
object
1 property 1 required
ResponseEntitySaveUserPermissionsView
object
6 properties
SaveUserPermissionsView
object
4 properties 4 required
SaveUserPermissionsForm
object
2 properties 1 required
SetForm
object
2 properties 2 required
SetHashForm
object
2 properties 2 required
RoleResponseEntityView
object
6 properties
RoleForm
object
7 properties 1 required
ResponseEntityRoleUserGrantView
object
6 properties
RoleMemberUserView
object
The user the role was granted to
3 properties 3 required
RoleUserGrantView
object
3 properties 3 required
ResponseEntityRoleOperationView
object
6 properties
ResponseEntityRoleDeletionView
object
6 properties
RoleDeletionView
object
3 properties 3 required
RoleLayoutForm
object
2 properties
Layout
object
5 properties
ResponseEntityLayoutList
object
6 properties
LayoutMapResponseEntityView
object
6 properties
ResponseEntityRoleDetailView
object
6 properties
RoleView
object
15 properties 2 required
ResponseEntityRoleViewListView
object
6 properties
ResponseEntityRoleListView
object
6 properties
ResponseEntityRoleUsersRemovalView
object
6 properties
RoleUsersRemovalView
object
2 properties 2 required
SkippedUserView
object
Users that could not be removed, each with a reason
2 properties 2 required
RoleUsersForm
object
1 property 1 required
ResponseEntitySmallRoleView
object
6 properties
SmallRoleView
object
4 properties
DotTempFile
object
9 properties
TempFilesView
object
Response body for /api/v1/temp and /api/v1/temp/byUrl uploads. Contains the tempFiles array; use tempFiles[0].id (e.g. "temp5311313004") as the field value whe…
1 property
RemoteUrlForm
object
5 properties
BodyView
object
1 property
SidebarView
object
3 properties
TemplateLayoutColumnView
object
5 properties
TemplateLayoutRowView
object
3 properties
TemplateLayoutView
object
Layout produced by the visual builder: a 'body' of rows, each row holding columns, and each column holding containers (referenced by identifier + uuid), plus o…
6 properties
TemplateView
object
40 properties
ThemeView
object
13 properties
TemplateImageForm
object
1 property
ResponseEntityListTemplateView
object
6 properties
TemplateForm
object
Form used to create or update a Template in dotCMS. A Template can be either drawn with the layout builder (set 'drawed:true' and provide 'layout') or authored…
23 properties 1 required
ResponseEntityUsageSummaryView
object
6 properties
UsageSummary
object
2 properties
ResponseUserMapEntityView
object
6 properties
ResponseEntityUserUpdateView
object
6 properties
UserForm
object
14 properties 3 required
ResponseUserDeletedEntityView
object
6 properties
UserDeletedView
object
3 properties
ResponseEntityListUserView
object
6 properties
ResponseEntityLoginAsView
object
6 properties
LoginAsForm
object
2 properties 2 required
RestUser
object
7 properties
UpdateCurrentUserForm
object
6 properties
ResponseEntityVariantView
object
6 properties
Variant
object
3 properties
VariantForm
object
2 properties
VelocityErrorResponseView
object
2 properties
VelocityErrorView
object
A single Velocity evaluation error, structured so an automated caller can locate and fix the offending code without parsing a stack trace.
6 properties
VelocityWarningView
object
A non-fatal Velocity warning, such as an undefined reference or a method call that returned null. The script still evaluated; warnings flag likely typos in non…
5 properties
WorkflowAction
object
41 properties
WorkflowActionSeparatorForm
object
2 properties
ResponseEntityWorkflowStepView
object
6 properties
WorkflowStep
object
9 properties
WorkflowStepAddForm
object
6 properties 6 required
ResponseEntityWorkflowSchemeView
object
6 properties
WorkflowScheme
object
11 properties
WorkflowCopyForm
object
1 property
ResponseEntitySystemActionWorkflowActionMapping
object
6 properties
SystemActionWorkflowActionMapping
object
6 properties
ResponseEntityWorkflowActionView
object
6 properties
ResponseEntityWorkflowActionletsView
object
6 properties
WorkFlowActionlet
object
6 properties
WorkflowActionletParameter
object
4 properties
ResponseEntityWorkflowActionClassesView
object
6 properties
WorkflowActionClass
object
6 properties
ResponseEntityWorkflowActionsView
object
6 properties
WorkflowSchemesForm
object
1 property 1 required
SchemesAndSchemesContentTypeView
object
2 properties
ContentTypeWorkflowSchemesView
object
3 properties 3 required
ImmutableListWorkflowScheme
array
Workflow schemes associated with the content type
3 properties
ResponseEntityContentTypeWorkflowSchemesView
object
6 properties
ResponseEntityDefaultWorkflowActionsView
object
6 properties
WorkflowDefaultActionView
object
3 properties
ResponseEntityWorkflowSchemesView
object
6 properties
ResponseEntityWorkflowStepsView
object
6 properties
ResponseEntitySystemActionWorkflowActionMappings
object
6 properties
WorkflowActionMultipartSchema
object
Multipart form for workflow actions. Include a JSON 'contentlet' and one or more 'file' parts that map to binary field variables.
3 properties
FireActionByNameForm
object
16 properties
FireActionForm
object
Form used to fire a workflow action. The content being acted on is supplied in the 'contentlet' map; the remaining fields are workflow/publishing options appli…
15 properties
AdditionalParamsBean
object
Action-specific parameters for bulk fire. Wraps push-publish settings, assign-and-comment metadata, and a free-form map for actionlet-specific keys.
5 properties
AssignCommentBean
object
Assignee and comment to attach to the workflow task created when an action is fired.
2 properties
FireBulkActionsForm
object
Request body for PUT /api/v1/workflow/contentlet/actions/bulk/fire. Either 'query' OR 'contentletIds' must be supplied (not both). 'workflowActionId' is requir…
5 properties 1 required
PushPublishBean
object
Push-publish settings applied when the resolved workflow action wires the Push Publish actionlet.
10 properties
ActionFail
object
3 properties
BulkActionsResultView
object
4 properties
ResponseEntityBulkActionsResultView
object
6 properties
FireMultipleActionForm
object
12 properties
BulkActionView
object
1 property
BulkWorkflowSchemeView
object
2 properties
BulkWorkflowStepView
object
2 properties
CountWorkflowAction
object
5 properties
CountWorkflowStep
object
2 properties
ResponseEntityBulkActionView
object
6 properties
BulkActionForm
object
2 properties
ContentletWorkflowStatusView
object
3 properties
ResponseContentletWorkflowStatusView
object
6 properties
WorkflowTask
object
14 properties
ResponseEntityWorkflowTasksView
object
6 properties
WorkflowSearchResultsView
object
2 properties
WorkflowTaskView
object
12 properties
WorkflowSearcherForm
object
12 properties
ResponseEntityWorkflowHistoryCommentsView
object
6 properties
WorkflowTimelineItemView
object
8 properties
Permission
object
7 properties
WorkflowActionClassParameter
object
4 properties
WorkflowSchemeImportExportObjectView
object
8 properties
WorkflowSchemeImportObjectForm
object
2 properties
WorkflowReorderWorkflowActionStepForm
object
1 property 1 required
WorkflowActionForm
object
14 properties 7 required
WorkflowActionStepForm
object
1 property 1 required
WorkflowActionletActionForm
object
3 properties 1 required
ResponseEntityWorkflowCommentView
object
6 properties
WorkflowCommentForm
object
1 property
WorkflowSchemeForm
object
3 properties 1 required
WorkflowSystemActionForm
object
4 properties 2 required
WorkflowStepUpdateForm
object
6 properties 5 required
FileAssetView
object
File asset view returned after a save or publish operation
8 properties
ResponseEntityFileAssetView
object
Response entity wrapping a FileAssetView after a save or publish operation
6 properties
ResponseEntityViewLanguage
object
6 properties
MakeDefaultLangForm
object
1 property
LanguageForm
object
5 properties
ResponseEntityTagCreateView
object
6 properties
ResponseEntityTagInodesMapView
object
6 properties
ResponseEntityRestTagView
object
6 properties
ResponseEntityTagMapView
object
6 properties
FieldResponseView
object
6 properties
DeleteFieldsForm
object
1 property
MoveFieldsForm
object
UpdateFieldRequestView
object
Request body for updating one content-type field. The field object must be wrapped in the top-level field property.
1 property 1 required
UpdateFieldForm
object
1 property
MetricCalculationError
object
6 properties
MetricTiming
object
6 properties
MetricValue
object
5 properties
MetricsSnapshot
object
4 properties
ResponseEntityMetricsSnapshotView
object
6 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

dotcms-rest-api-openapi.json Raw ↑

Other APIs dotCMS publishes across the network.

dotCMS GraphQL API
Where this information came from

This is an independent, third-party profile of dotCMS REST API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.