dotCMS System API

System-level operations and Redis management

Operations 13

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

GET /api/v1/system/request-draining-test/status Check request-draining shutdown status · Get shutdown status #
Ask an LLM
“Is the server currently draining requests before shutdown?”
“What does the request-draining test report about shutdown state?”
Tell an agent
Show the current request-draining shutdown status.
Check whether graceful shutdown draining is in progress.
GET /api/v1/system/request-draining-test/long-request Start a long-running test request · Long running request #
Ask an LLM
“Can I simulate a slow request to test graceful shutdown draining?”
“How long can the draining test hold a request open?”
Tell an agent
Open a test request that runs for {duration} to exercise request draining.
Start a long-running draining test request.
GET /api/v1/system/request-draining-test/simulate-active-requests Simulate concurrent active requests · Simulate active requests #
Ask an LLM
“Can I simulate many in-flight requests to test shutdown draining?”
“How do I check draining behavior with a set number of active requests?”
Tell an agent
Simulate {count} active requests for the draining test.
Spin up simulated concurrent requests to test graceful shutdown.
GET /api/v1/redis/{key} Read a Redis key · Get 5 #
Ask an LLM
“How do I read a value stored in dotCMS's Redis by key?”
“What value is cached under a given Redis key?”
Tell an agent
Get the Redis value for key {key}.
Read what is stored in Redis under {key}.
DELETE /api/v1/redis/{key} Delete a Redis key · Delete 10 #
Ask an LLM
“Can I remove a plain value key from Redis through the API?”
“How do I clear a single cached Redis entry?”
Tell an agent destructive · confirm first
Delete Redis key {key}.
Remove the value stored in Redis under {key}.
GET /api/v1/redis/hash/{key} Read a Redis hash · Get hash #
Ask an LLM
“How do I read all fields of a Redis hash?”
“What fields are stored in a given Redis hash key?”
Tell an agent
Get the Redis hash stored at {key}.
Show every field in Redis hash {key}.
DELETE /api/v1/redis/hash/{key} Delete a Redis hash · Delete hash #
Ask an LLM
“Can I delete an entire Redis hash through the API?”
“How do I drop a hash key and all its fields from Redis?”
Tell an agent destructive · confirm first
Delete Redis hash {key}.
Remove the hash and all its fields at Redis key {key}.
GET /api/v1/redis/echo/{message} Echo a message through Redis · Echo #
Ask an LLM
“Can I send a test message through Redis and get it back?”
“How do I verify the Redis connection round-trips a string?”
Tell an agent
Echo {message} through Redis.
Send {message} to Redis and return what comes back.
GET /api/v1/redis/incr/{key} Increment a Redis counter and read it · Get increment #
Ask an LLM
“How do I bump a Redis counter and get its new value in one GET?”
“Can I use Redis INCR on a key synchronously?”
Tell an agent
Increment Redis counter {key} and return its new value.
Bump counter {key} in Redis synchronously.
PUT /api/v1/redis/incr/{key} Increment a Redis counter asynchronously · Increment async #
Ask an LLM
“Can I increment a Redis counter without waiting for the result?”
“Is there an asynchronous way to bump a Redis key?”
Tell an agent
Asynchronously increment Redis counter {key}.
Queue an async increment of {key} in Redis.
GET /api/v1/redis/ping Ping Redis · Ping #
Ask an LLM
“Is Redis reachable from dotCMS?”
“How do I health-check the Redis connection?”
Tell an agent
Ping Redis.
Check that the Redis connection is alive.
PUT /api/v1/redis Set a Redis key · Set 1 #
Ask an LLM
“How do I store a simple value in Redis by key?”
“Can I overwrite a Redis string value through the API?”
Tell an agent
Set Redis key {key} to {value}.
Store {value} in Redis under {key}.
PUT /api/v1/redis/hash Set fields on a Redis hash · Set hash #
Ask an LLM
“How do I write several fields into a Redis hash at once?”
“Can I create a Redis hash with field/value pairs?”
Tell an agent
Set fields {fields} on Redis hash {key}.
Write these field/value pairs {fields} into hash {key}.

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-system-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-system-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: dotCMS REST System API
  version: '3'
  description: System-level operations and Redis management
servers:
- url: /
  description: dotCMS Server
tags:
- name: System
  description: System-level operations and Redis management
paths:
  /api/v1/system/request-draining-test/status:
    get:
      operationId: getShutdownStatus
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityViewMapStringObject'
      tags:
      - System
      summary: Get shutdown status
      x-summary-source: derived
  /api/v1/system/request-draining-test/long-request:
    get:
      operationId: longRunningRequest
      parameters:
      - name: duration
        in: query
        schema:
          type: integer
          format: int64
          default: 5000
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityViewMapStringObject'
      tags:
      - System
      summary: Long running request
      x-summary-source: derived
  /api/v1/system/request-draining-test/simulate-active-requests:
    get:
      operationId: simulateActiveRequests
      parameters:
      - name: count
        in: query
        schema:
          type: integer
          format: int32
          default: 1
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityViewMapStringObject'
      tags:
      - System
      summary: Simulate active requests
      x-summary-source: derived
  /api/v1/redis/{key}:
    get:
      tags:
      - System
      operationId: get_5
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json: {}
            application/javascript: {}
      summary: Get 5
      x-summary-source: derived
    delete:
      tags:
      - System
      operationId: delete_10
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json: {}
            application/javascript: {}
      summary: Delete 10
      x-summary-source: derived
  /api/v1/redis/hash/{key}:
    get:
      tags:
      - System
      operationId: getHash
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json: {}
            application/javascript: {}
      summary: Get hash
      x-summary-source: derived
    delete:
      tags:
      - System
      operationId: deleteHash
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json: {}
            application/javascript: {}
      summary: Delete hash
      x-summary-source: derived
  /api/v1/redis/echo/{message}:
    get:
      tags:
      - System
      operationId: echo
      parameters:
      - name: message
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json: {}
            application/javascript: {}
      summary: Echo
      x-summary-source: derived
  /api/v1/redis/incr/{key}:
    get:
      tags:
      - System
      operationId: getIncrement
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json: {}
            application/javascript: {}
      summary: Get increment
      x-summary-source: derived
    put:
      tags:
      - System
      operationId: incrementAsync
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json: {}
            application/javascript: {}
      summary: Increment async
      x-summary-source: derived
  /api/v1/redis/ping:
    get:
      tags:
      - System
      operationId: ping
      responses:
        default:
          description: default response
          content:
            application/json: {}
            application/javascript: {}
      summary: Ping
      x-summary-source: derived
  /api/v1/redis:
    put:
      tags:
      - System
      operationId: set_1
      requestBody:
        content:
          '*/*':
            schema:
              $ref: '#/components/schemas/SetForm'
      responses:
        default:
          description: default response
          content:
            application/json: {}
            application/javascript: {}
      summary: Set 1
      x-summary-source: derived
  /api/v1/redis/hash:
    put:
      tags:
      - System
      operationId: setHash
      requestBody:
        content:
          '*/*':
            schema:
              $ref: '#/components/schemas/SetHashForm'
      responses:
        default:
          description: default response
          content:
            application/json: {}
            application/javascript: {}
      summary: Set hash
      x-summary-source: derived
components:
  schemas:
    MessageEntity:
      type: object
      properties:
        message:
          type: string
    SetHashForm:
      required:
      - fields
      - key
      type: object
      properties:
        key:
          type: string
        fields:
          type: object
          additionalProperties:
            type: object
    Pagination:
      type: object
      properties:
        currentPage:
          type: integer
          format: int32
        perPage:
          type: integer
          format: int32
        totalEntries:
          type: integer
          format: int64
    ErrorEntity:
      type: object
      properties:
        errorCode:
          type: string
        message:
          type: string
        fieldName:
          type: string
    ResponseEntityViewMapStringObject:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ErrorEntity'
        entity:
          type: object
          additionalProperties:
            type: object
        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'
    SetForm:
      required:
      - key
      - value
      type: object
      properties:
        key:
          type: string
        value:
          type: object