dotCMS Template API

Template CRUD, publish, archive, and layout management endpoints

Operations 14

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/templates/_archive Archive templates in bulk · Archive templates in bulk #
Ask an LLM
“How do I archive several page templates at once?”
“Will archiving a batch of templates report which ones failed?”
Tell an agent
Archive the templates in my list.
Bulk-archive these template identifiers and report any failures.
PUT /api/v1/templates/{templateId}/_copy Copy a template · Copy a template #
Ask an LLM
“How do I duplicate an existing page template?”
“Does copying a template give it a new identifier?”
Tell an agent
Copy template {templateId}.
Make a duplicate of template {templateId} as a new working version.
GET /api/v1/templates List templates · List templates #
Ask an LLM
“Which page templates can I use on my site?”
“Can I search templates by title across all sites?”
Tell an agent
List my templates.
List templates matching {filter} on site {host}.
PUT /api/v1/templates Update an existing template · Update an existing template #
Ask an LLM
“How do I change the layout or body of a template that already exists?”
“Can I update a template without publishing the change?”
Tell an agent
Update template {identifier} with title {title}.
Save a new working version of existing template {identifier} titled {title} with layout {layout}.
POST /api/v1/templates Create a new template · Create a new template #
Ask an LLM
“How do I create a new page template in dotCMS?”
“Can I create a template from a designed layout with a theme?”
Tell an agent
Create a template titled {title}.
Create template {title} on site {siteId} using theme {theme}.
DELETE /api/v1/templates Delete templates in bulk · Delete templates in bulk #
Ask an LLM
“Can I permanently delete templates that pages no longer use?”
“Why can't I delete a template that isn't archived?”
Tell an agent destructive · confirm first
Delete the archived templates in my list.
Permanently remove these template identifiers and report failures.
POST /api/v1/templates/image Get a template's thumbnail image info · Get the image associated with a template #
Ask an LLM
“Which image is attached to a template as its preview?”
“Can I get the name and file type of a template's thumbnail?”
Tell an agent
Get the image linked to template {templateId}.
Show the thumbnail metadata for template {templateId}.
GET /api/v1/templates/{templateId}/live Get the live version of a template · Get live version of a template #
Ask an LLM
“What does the published version of a template contain?”
“Is there a live version of this template yet?”
Tell an agent
Get the live version of template {templateId}.
Show published template {templateId}.
GET /api/v1/templates/{templateId}/working Get the working draft of a template · Get working version of a template #
Ask an LLM
“How do I see the latest unpublished draft of a template?”
“Can I load a template's working copy by its identifier?”
Tell an agent
Get the working version of template {templateId}.
Show the latest draft of template {templateId}.
PUT /api/v1/templates/_publish Publish templates in bulk · Publish templates in bulk #
Ask an LLM
“How do I publish several templates at once?”
“Can archived templates be published in a batch?”
Tell an agent
Publish the templates in my list.
Bulk-publish these template identifiers and summarize failures.
PUT /api/v1/templates/_savepublish Save and publish a template in one step · Save and publish a template #
Ask an LLM
“Can I save a template and make it live in a single action?”
“Does save-and-publish create a template if I don't pass an identifier?”
Tell an agent
Save and publish template {title}.
Save template {identifier} titled {title} and publish it immediately.
PUT /api/v1/templates/draft Save a template as a draft · Save a template as draft #
Ask an LLM
“How do I save template edits as a draft without publishing?”
“Can I keep a draft version of a template separate from the live one?”
Tell an agent
Save a draft of template {identifier} titled {title}.
Store draft changes to template {identifier} titled {title} with body {body}.
PUT /api/v1/templates/_unarchive Unarchive templates in bulk · Unarchive templates in bulk #
Ask an LLM
“How do I restore archived templates?”
“Can I unarchive several templates at the same time?”
Tell an agent
Unarchive the templates in my list.
Restore these archived template identifiers.
PUT /api/v1/templates/_unpublish Unpublish templates in bulk · Unpublish templates in bulk #
Ask an LLM
“How do I take several templates out of live status?”
“Can I unpublish a batch of templates at once?”
Tell an agent
Unpublish the templates in my list.
Bulk-unpublish these template identifiers.

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-template-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-template-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: dotCMS REST Template API
  version: '3'
  description: Template CRUD, publish, archive, and layout management endpoints
servers:
- url: /
  description: dotCMS Server
tags:


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