dotCMS Containers API

Endpoints for managing Container objects and their content

Operations 21

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

PUT /api/v1/containers/_archive Archive a container · Archives a container #
Ask an LLM
“How do I archive a single container I no longer use?”
“What permission do I need to archive a container?”
Tell an agent
Archive container {containerId}.
Move container {containerId} to the archive.
PUT /api/v1/containers/_bulkarchive Archive several containers at once · Archives multiple containers #
Ask an LLM
“Can I archive a whole list of containers in one request?”
“Will a bulk container archive tell me which ones failed?”
Tell an agent
Archive these containers in bulk and report which ones failed.
Bulk-archive the list of container identifiers I give you.
DELETE /api/v1/containers/_bulkdelete Delete several containers at once · Deletes multiple containers #
Ask an LLM
“Can I permanently delete a batch of containers together?”
“Does a bulk container delete report per-container failures?”
Tell an agent destructive · confirm first
Bulk-delete the containers in my list.
Permanently remove these container identifiers in one go and summarize failures.
PUT /api/v1/containers/_bulkpublish Publish several containers at once · Publishes multiple containers #
Ask an LLM
“Is there a way to publish many containers in a single call?”
“What happens if I lack publish rights on some containers in a batch?”
Tell an agent
Bulk-publish the containers in my list.
Make these container identifiers live together and tell me which failed.
PUT /api/v1/containers/_bulkunarchive Unarchive several containers at once · Unarchives multiple containers #
Ask an LLM
“Can I restore a batch of archived containers in one request?”
“Which containers failed when I unarchived a list of them?”
Tell an agent
Bulk-unarchive the containers in my list.
Restore these archived container identifiers together.
PUT /api/v1/containers/_bulkunpublish Unpublish several containers at once · Unpublishes multiple containers #
Ask an LLM
“Can I take a set of containers offline together?”
“Does bulk unpublishing containers return a success and failure summary?”
Tell an agent
Bulk-unpublish the containers in my list.
Take these container identifiers out of live status in one call.
GET /api/v1/containers/{containerId}/content/{contentletId} Render a contentlet inside a container · Renders content HTML within a container #
Ask an LLM
“How do I get the HTML a contentlet renders as inside a specific container?”
“Can I preview a piece of content with a container's markup applied?”
Tell an agent
Render contentlet {contentletId} inside container {containerId}.
Get the HTML for content {contentletId} in container {containerId} on page {pageInode}.
GET /api/v1/containers/content/{contentletId} Render content in a file-based container · Renders content HTML with container ID as query param #
Ask an LLM
“How do I render content inside a file-asset container whose ID is a path?”
“Can I pass the container ID as a query parameter when rendering a contentlet?”
Tell an agent
Render contentlet {contentletId} in file container {containerId} passed as a query parameter.
Get HTML for content {contentletId} using the container at path {containerId}.
GET /api/v1/containers/{containerId}/form/{formId} Render a form inside a container · Renders a form within a container #
Ask an LLM
“How can I display a form with a container's styling and layout?”
“What HTML does a form produce when placed in a given container?”
Tell an agent
Render form {formId} inside container {containerId}.
Get the container-styled HTML for form {formId} in container {containerId}.
GET /api/v1/containers/form/{formId} Render a form in a file-based container · Renders a form with container ID as query param #
Ask an LLM
“Can I render a form inside a file-asset container addressed by its path?”
“How do I get form HTML when the container ID goes in the query string?”
Tell an agent
Render form {formId} in the file container at {containerId}.
Get HTML for form {formId}, passing container path {containerId} as a query parameter.
POST /api/v1/containers/{id}/_copy Copy a container to the current site · Copies a container to the current host #
Ask an LLM
“How do I duplicate a container onto the site I'm working in?”
“Can I clone an existing container instead of building a new one?”
Tell an agent
Copy container {id} to the current host.
Duplicate container {id}.
GET /api/v1/containers List containers · Retrieves a paginated list of Containers #
Ask an LLM
“Which containers exist on my site?”
“Can I filter the container list by name or content type?”
Tell an agent
List my containers.
List containers matching {filter} on site {host}.
PUT /api/v1/containers Update an existing container · Updates an existing container #
Ask an LLM
“How do I change the code or max contentlets of a container that already exists?”
“Can I edit a container's working version without publishing it?”
Tell an agent
Update container {identifier} with title {title}.
Change existing container {identifier} titled {title} to allow {maxContentlets} contentlets.
POST /api/v1/containers Create a new container · Creates a new container #
Ask an LLM
“How do I create a new container in dotCMS?”
“Is a newly created container published straight away?”
Tell an agent
Create a new container titled {title}.
Create container {title} on site {hostId} holding up to {maxContentlets} items.
DELETE /api/v1/containers Delete a container · Deletes a container #
Ask an LLM
“How do I permanently delete one container?”
“Is deleting a single container reversible?”
Tell an agent destructive · confirm first
Delete container {containerId}.
Permanently remove container {containerId}.
GET /api/v1/containers/live Get the live version of a container · Retrieves a live container by ID #
Ask an LLM
“What does the published version of this container look like?”
“Can I see the live container along with its content types?”
Tell an agent
Get the live version of container {containerId}.
Show published container {containerId} including its content types.
GET /api/v1/containers/working Get the working draft of a container · Retrieves a working container by ID #
Ask an LLM
“How do I view the unpublished working copy of a container?”
“Is there a way to see a container's draft with its content type details?”
Tell an agent
Get the working version of container {containerId}.
Show draft container {containerId} with content types.
PUT /api/v1/containers/_publish Publish a container · Publishes a container #
Ask an LLM
“How do I make a single container live?”
“What permission is needed to publish a container?”
Tell an agent
Publish container {containerId}.
Make container {containerId} live.
DELETE /api/v1/containers/delete/{containerId}/content/{contentletId}/uid/{uid} Remove content from a container slot · Removes content from a container #
Ask an LLM
“How do I take a contentlet out of a container on a page?”
“Can I remove content from a container at a specific position?”
Tell an agent destructive · confirm first
Remove contentlet {contentletId} from container {containerId} at uid {uid}.
Pull content {contentletId} out of container {containerId} instance {uid} at order {order}.
PUT /api/v1/containers/_unarchive Unarchive a container · Unarchives a container #
Ask an LLM
“How do I restore one archived container?”
“Can an archived container be brought back to active?”
Tell an agent
Unarchive container {containerId}.
Restore archived container {containerId}.
PUT /api/v1/containers/_unpublish Unpublish a container · Unpublishes a container #
Ask an LLM
“How do I take one container out of live status?”
“What permission do I need to unpublish a container?”
Tell an agent
Unpublish container {containerId}.
Take container {containerId} offline.

Work with this as data

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

MCP server

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

https://apis.io/mcp

Tools for apis

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

Call it yourself

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

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

Get an API key

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

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

OpenAPI Specification

dotcms-containers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: dotCMS REST Containers API
  version: '3'
  description: Endpoints for managing Container objects and their content
servers:
- url: /
  description: dotCMS Server
tags:


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