dotCMS Cache Management API

Cache provider management and operations

Operations 12

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

DELETE /api/v1/caches/menucache Clear the navigation menu cache · Deletes the menu cache #
Ask an LLM
“My site navigation is stale — can I clear just the menu cache?”
“Is there a way to reset only the menu cache?”
Tell an agent destructive · confirm first
Delete the menu cache.
Clear the navigation menu cache now.
DELETE /api/v1/caches/provider/{provider}/flush Flush all caches · Flush all caches #
Ask an LLM
“How do I flush every cache in dotCMS at once?”
“Does flushing everything also reload push publishing filters?”
Tell an agent destructive · confirm first
Flush all caches (provider {provider} is ignored).
Flush every cache region across all providers, passing provider {provider}.
DELETE /api/v1/caches/provider/{provider}/flush/{group} Flush one cache group for a provider · Flush group #
Ask an LLM
“Can I flush a single cache group on one cache provider?”
“How do I clear one group without flushing everything?”
Tell an agent destructive · confirm first
Flush cache group {group} on provider {provider}.
Clear group {group} in cache provider {provider}.
DELETE /api/v1/caches/provider/{provider}/flush/{group}/{id} Evict one object from the cache · Flush object #
Ask an LLM
“Can I evict a single key from a cache group?”
“How do I remove just one cached object?”
Tell an agent destructive · confirm first
Evict key {id} from cache group {group} on provider {provider}.
Remove cached object {id} in {group} from provider {provider}.
DELETE /api/v1/caches/region/{regionName} Flush a cache region across providers · Flush a cache region #
Ask an LLM
“How do I flush one named cache region on every provider?”
“Can I pass 'all' to flush every region by name?”
Tell an agent destructive · confirm first
Flush cache region {regionName}.
Clear the {regionName} region across all cache providers.
GET /api/v1/caches/stats Get cache statistics · Get cache statistics #
Ask an LLM
“What are the cache hit and miss rates right now?”
“How much JVM memory are the caches using?”
Tell an agent
Show cache statistics.
Report hit counts, misses and memory per cache region.
GET /api/v1/caches/provider/{provider}/keys/{group} List keys in a cache group · Get keys #
Ask an LLM
“Which keys are stored in a given cache group?”
“Can I see what a cache provider is holding for one group?”
Tell an agent
List keys in cache group {group} on provider {provider}.
Show the cached keys of {group} in {provider}.
GET /api/v1/caches List cache region names · List cache region names #
Ask an LLM
“What cache regions exist that I could flush?”
“Where do I get the names of all cache regions?”
Tell an agent
List all cache region names.
Show the cache regions alphabetically.
GET /api/v1/caches/provider/{provider}/object/{group}/{id} Inspect one cached object · Show object #
Ask an LLM
“What value is cached under a particular key?”
“Can I look at a single object in a cache group?”
Tell an agent
Show cached object {id} in group {group} on provider {provider}.
Inspect key {id} of {group} in cache provider {provider}.
GET /api/v1/caches/provider/{provider}/objects/{group} Show all objects in a cache group · Show objects #
Ask an LLM
“Can I dump everything cached in one group?”
“What objects does a provider hold for a cache group?”
Tell an agent
Show all cached objects in group {group} on provider {provider}.
Dump the contents of cache group {group} from {provider}.
GET /api/v1/caches/providers/{group} List cache providers for a group · Show providers #
Ask an LLM
“Which cache providers serve a given cache group?”
“Is a cache group backed by more than one provider?”
Tell an agent
List the cache providers for group {group}.
Show which providers back cache group {group}.
GET /api/v1/caches/provider/{provider}/{group} Show a provider's view of a cache group · Show providers 1 #
Ask an LLM
“What does one specific cache provider report for a group?”
“Can I check a named provider's details for a cache group?”
Tell an agent
Show provider {provider} details for cache group {group}.
Describe how provider {provider} handles group {group}.

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-cache-management-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-cache-management-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: dotCMS REST Cache Management API
  version: '3'
  description: Cache provider management and operations
servers:
- url: /
  description: dotCMS Server
tags:
- name: Cache Management
  description: Cache provider management and operations
paths:
  /api/v1/caches/menucache:
    delete:
      tags:
      - Cache Management
      summary: Deletes the menu cache
      description: Just deletes the menu cache by request
      operationId: deleteMenuCache
      responses:
        '200':
          description: Action(s) returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityStringView'
        '500':
          description: General Error
  /api/v1/caches/provider/{provider}/flush:
    delete:
      tags:
      - Cache Management
      summary: Flush all caches
      description: Flushes all caches across all providers, resets permission references, and reloads PushPublishing filters. The provider path parameter is ignored.
      operationId: flushAll
      parameters:
      - name: provider
        in: path
        required: true
        schema:
          pattern: .*
          type: string
      responses:
        '200':
          description: All caches flushed successfully
        '401':
          description: Unauthorized - authentication required
        '403':
          description: Forbidden - requires maintenance portlet access
  /api/v1/caches/provider/{provider}/flush/{group}:
    delete:
      tags:
      - Cache Management
      operationId: flushGroup
      parameters:
      - name: provider
        in: path
        required: true
        schema:
          pattern: .*
          type: string
      - name: group
        in: path
        required: true
        schema:
          pattern: .*
          type: string
      responses:
        default:
          description: default response
          content:
            application/json: {}
            application/javascript: {}
      summary: Flush group
      x-summary-source: derived
  /api/v1/caches/provider/{provider}/flush/{group}/{id}:
    delete:
      tags:
      - Cache Management
      operationId: flushObject
      parameters:
      - name: provider
        in: path
        required: true
        schema:
          pattern: .*
          type: string
      - name: group
        in: path
        required: true
        schema:
          pattern: .*
          type: string
      - name: id
        in: path
        required: true
        schema:
          pattern: .*
          type: string
      responses:
        default:
          description: default response
          content:
            application/json: {}
            application/javascript: {}
      summary: Flush object
      x-summary-source: derived
  /api/v1/caches/region/{regionName}:
    delete:
      tags:
      - Cache Management
      summary: Flush a cache region
      description: Flushes a specific cache region across all providers, resets permission references, and conditionally reloads PushPublishing filters. Pass 'all' to flush all caches.
      operationId: flushRegion
      parameters:
      - name: regionName
        in: path
        description: Cache region name (case-insensitive, as returned by GET /api/v1/caches) or 'all' to flush all caches
        required: true
        schema:
          pattern: .*
          type: string
        example: Permission
      responses:
        '200':
          description: Cache region flushed successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityStringView'
        '400':
          description: Bad request - unknown cache region name
        '401':
          description: Unauthorized - authentication required
        '403':
          description: Forbidden - requires maintenance portlet access
  /api/v1/caches/stats:
    get:
      tags:
      - Cache Management
      summary: Get cache statistics
      description: Returns JVM memory information and per-provider per-region cache statistics including hit counts, miss counts, and memory usage.
      operationId: getCacheStats
      responses:
        '200':
          description: Cache statistics retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityCacheStatsView'
        '401':
          description: Unauthorized - authentication required
        '403':
          description: Forbidden - requires maintenance portlet access
  /api/v1/caches/provider/{provider}/keys/{group}:
    get:
      tags:
      - Cache Management
      operationId: getKeys
      parameters:
      - name: provider
        in: path
        required: true
        schema:
          pattern: .*
          type: string
      - name: group
        in: path
        required: true
        schema:
          pattern: .*
          type: string
      responses:
        default:
          description: default response
          content:
            application/json: {}
            application/javascript: {}
      summary: Get keys
      x-summary-source: derived
  /api/v1/caches:
    get:
      tags:
      - Cache Management
      summary: List cache region names
      description: Returns an alphabetically sorted list of all cache region names. Used to populate the flush-cache dropdown in the Maintenance portlet Cache tab.
      operationId: listRegions
      responses:
        '200':
          description: Cache regions retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityListStringView'
        '401':
          description: Unauthorized - authentication required
        '403':
          description: Forbidden - requires maintenance portlet access
  /api/v1/caches/provider/{provider}/object/{group}/{id}:
    get:
      tags:
      - Cache Management
      operationId: showObject
      parameters:
      - name: provider
        in: path
        required: true
        schema:
          pattern: .*
          type: string
      - name: group
        in: path
        required: true
        schema:
          pattern: .*
          type: string
      - name: id
        in: path
        required: true
        schema:
          pattern: .*
          type: string
      responses:
        default:
          description: default response
          content:
            application/json: {}
            application/javascript: {}
      summary: Show object
      x-summary-source: derived
  /api/v1/caches/provider/{provider}/objects/{group}:
    get:
      tags:
      - Cache Management
      operationId: showObjects
      parameters:
      - name: provider
        in: path
        required: true
        schema:
          pattern: .*
          type: string
      - name: group
        in: path
        required: true
        schema:
          pattern: .*
          type: string
      responses:
        default:
          description: default response
          content:
            application/json: {}
            application/javascript: {}
      summary: Show objects
      x-summary-source: derived
  /api/v1/caches/providers/{group}:
    get:
      tags:
      - Cache Management
      operationId: showProviders
      parameters:
      - name: group
        in: path
        required: true
        schema:
          pattern: .*
          type: string
      responses:
        default:
          description: default response
          content:
            application/json: {}
            application/javascript: {}
      summary: Show providers
      x-summary-source: derived
  /api/v1/caches/provider/{provider}/{group}:
    get:
      tags:
      - Cache Management
      operationId: showProviders_1
      parameters:
      - name: provider
        in: path
        required: true
        schema:
          pattern: .*
          type: string
      - name: group
        in: path
        required: true
        schema:
          pattern: .*
          type: string
      responses:
        default:
          description: default response
          content:
            application/json: {}
            application/javascript: {}
      summary: Show providers 1
      x-summary-source: derived
components:
  schemas:
    MessageEntity:
      type: object
      properties:
        message:
          type: string
    JvmMemoryView:
      required:
      - allocatedMemory
      - freeMemory
      - maxMemory
      - usedMemory
      type: object
      properties:
        maxMemory:
          type: integer
          description: Maximum memory the JVM will attempt to use (Xmx)
          format: int64
          example: 8589934592
        allocatedMemory:
          type: integer
          description: Total memory currently allocated by the JVM
          format: int64
          example: 4294967296
        usedMemory:
          type: integer
          description: Memory currently in use (allocated minus free)
          format: int64
          example: 2147483648
        freeMemory:
          type: integer
          description: Available memory (max minus used)
          format: int64
          example: 6442450944
      description: JVM memory statistics
    ResponseEntityStringView:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ErrorEntity'
        entity:
          type: string
        messages:
          type: array
          items:
            $ref: '#/components/schemas/MessageEntity'
        i18nMessagesMap:
          type: object
          additionalProperties:
            type: string
        permissions:
          type: array
          items:
            type: string
        pagination:
          $ref: '#/components/schemas/Pagination'
    Pagination:
      type: object
      properties:
        currentPage:
          type: integer
          format: int32
        perPage:
          type: integer
          format: int32
        totalEntries:
          type: integer
          format: int64
    ResponseEntityListStringView:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ErrorEntity'
        entity:
          type: array
          items:
            type: string
        messages:
          type: array
          items:
            $ref: '#/components/schemas/MessageEntity'
        i18nMessagesMap:
          type: object
          additionalProperties:
            type: string
        permissions:
          type: array
          items:
            type: string
        pagination:
          $ref: '#/components/schemas/Pagination'
    ResponseEntityCacheStatsView:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ErrorEntity'
        entity:
          $ref: '#/components/schemas/CacheStatsView'
        messages:
          type: array
          items:
            $ref: '#/components/schemas/MessageEntity'
        i18nMessagesMap:
          type: object
          additionalProperties:
            type: string
        permissions:
          type: array
          items:
            type: string
        pagination:
          $ref: '#/components/schemas/Pagination'
    CacheStatsView:
      required:
      - clusterId
      - memory
      - providers
      - serverId
      - serverName
      type: object
      properties:
        clusterId:
          type: string
          description: Cluster identifier (shared across all nodes in the cluster)
          example: b1c2d3e4-f5a6-7890-abcd-ef1234567890
        serverId:
          type: string
          description: Server identifier (unique per node — identifies which node reported these stats)
          example: a9f3c1d2-e456-7890-bcde-f12345678901
        serverName:
          type: string
          description: Server hostname
          example: dotcms-node-1.example.com
        memory:
          $ref: '#/components/schemas/JvmMemoryView'
        providers:
          type: array
          properties:
            empty:
              type: boolean
            first:
              $ref: '#/components/schemas/CacheProviderStatsView'
            last:
              $ref: '#/components/schemas/CacheProviderStatsView'
          description: Per-provider cache statistics
          items:
            $ref: '#/components/schemas/CacheProviderStatsView'
    ErrorEntity:
      type: object
      properties:
        errorCode:
          type: string
        message:
          type: string
        fieldName:
          type: string
    CacheProviderStatsView:
      required:
      - columns
      - providerName
      - stats
      type: object
      properties:
        providerName:
          type: string
          description: Cache provider display name
          example: Guava Memory Cache
        columns:
          type: array
          properties:
            empty:
              type: boolean
            first:
              type: string
            last:
              type: string
          description: Ordered list of stat column names reported by this provider
          example:
          - Region
          - Configured Size
          - Memory Used
          - Is Default
          - Hit Count
          - Miss Count
          items:
            type: string
            description: Ordered list of stat column names reported by this provider
            example: '["Region","Configured Size","Memory Used","Is Default","Hit Count","Miss Count"]'
        stats:
          type: array
          properties:
            empty:
              type: boolean
            first:
              type: object
              additionalProperties:
                type: string
            last:
              type: object
              additionalProperties:
                type: string
          description: Per-region statistics, each row keyed by column name
          items:
            type: object
            additionalProperties:
              type: string
              description: Per-region statistics, each row keyed by column name
            description: Per-region statistics, each row keyed by column name