dotCMS · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for dotCMS REST System API
14 actions
14 updates
phrasing
extends
openapi/dotcms-system-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for dotCMS's API. It is a proposal applied on top of the contract, not a document dotCMS publishes.
What the actions change
x-apievangelist-phrasing
Targets 14
$.info
$.paths['/api/v1/system/request-draining-test/status'].get
$.paths['/api/v1/system/request-draining-test/long-request'].get
$.paths['/api/v1/system/request-draining-test/simulate-active-requests'].get
$.paths['/api/v1/redis/{key}'].get
$.paths['/api/v1/redis/{key}'].delete
$.paths['/api/v1/redis/hash/{key}'].get
$.paths['/api/v1/redis/hash/{key}'].delete
$.paths['/api/v1/redis/echo/{message}'].get
$.paths['/api/v1/redis/incr/{key}'].get
$.paths['/api/v1/redis/incr/{key}'].put
$.paths['/api/v1/redis/ping'].get
$.paths['/api/v1/redis'].put
$.paths['/api/v1/redis/hash'].put
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for dotCMS REST System API
version: 1.0.0
extends: openapi/dotcms-system-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-26'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 13
- target: $.paths['/api/v1/system/request-draining-test/status'].get
update:
x-apievangelist-phrasing:
intent: Check request-draining shutdown status
effect: read
questions:
- Is the server currently draining requests before shutdown?
- What does the request-draining test report about shutdown state?
instructions:
- text: Show the current request-draining shutdown status.
- text: Check whether graceful shutdown draining is in progress.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/system/request-draining-test/long-request'].get
update:
x-apievangelist-phrasing:
intent: Start a long-running test request
effect: read
questions:
- Can I simulate a slow request to test graceful shutdown draining?
- How long can the draining test hold a request open?
instructions:
- text: Open a test request that runs for {duration} to exercise request draining.
slots:
duration: query.duration
- text: Start a long-running draining test request.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/system/request-draining-test/simulate-active-requests'].get
update:
x-apievangelist-phrasing:
intent: Simulate concurrent active requests
effect: read
questions:
- Can I simulate many in-flight requests to test shutdown draining?
- How do I check draining behavior with a set number of active requests?
instructions:
- text: Simulate {count} active requests for the draining test.
slots:
count: query.count
- text: Spin up simulated concurrent requests to test graceful shutdown.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/redis/{key}'].get
update:
x-apievangelist-phrasing:
intent: Read a Redis key
effect: read
questions:
- How do I read a value stored in dotCMS's Redis by key?
- What value is cached under a given Redis key?
instructions:
- text: Get the Redis value for key {key}.
slots:
key: path.key
- text: Read what is stored in Redis under {key}.
slots:
key: path.key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/redis/{key}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a Redis key
effect: destructive
questions:
- Can I remove a plain value key from Redis through the API?
- How do I clear a single cached Redis entry?
instructions:
- text: Delete Redis key {key}.
slots:
key: path.key
- text: Remove the value stored in Redis under {key}.
slots:
key: path.key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/redis/hash/{key}'].get
update:
x-apievangelist-phrasing:
intent: Read a Redis hash
effect: read
questions:
- How do I read all fields of a Redis hash?
- What fields are stored in a given Redis hash key?
instructions:
- text: Get the Redis hash stored at {key}.
slots:
key: path.key
- text: Show every field in Redis hash {key}.
slots:
key: path.key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/redis/hash/{key}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a Redis hash
effect: destructive
questions:
- Can I delete an entire Redis hash through the API?
- How do I drop a hash key and all its fields from Redis?
instructions:
- text: Delete Redis hash {key}.
slots:
key: path.key
- text: Remove the hash and all its fields at Redis key {key}.
slots:
key: path.key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/redis/echo/{message}'].get
update:
x-apievangelist-phrasing:
intent: Echo a message through Redis
effect: read
questions:
- Can I send a test message through Redis and get it back?
- How do I verify the Redis connection round-trips a string?
instructions:
- text: Echo {message} through Redis.
slots:
message: path.message
- text: Send {message} to Redis and return what comes back.
slots:
message: path.message
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/redis/incr/{key}'].get
update:
x-apievangelist-phrasing:
intent: Increment a Redis counter and read it
effect: write
questions:
- How do I bump a Redis counter and get its new value in one GET?
- Can I use Redis INCR on a key synchronously?
instructions:
- text: Increment Redis counter {key} and return its new value.
slots:
key: path.key
- text: Bump counter {key} in Redis synchronously.
slots:
key: path.key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/redis/incr/{key}'].put
update:
x-apievangelist-phrasing:
intent: Increment a Redis counter asynchronously
effect: write
questions:
- Can I increment a Redis counter without waiting for the result?
- Is there an asynchronous way to bump a Redis key?
instructions:
- text: Asynchronously increment Redis counter {key}.
slots:
key: path.key
- text: Queue an async increment of {key} in Redis.
slots:
key: path.key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/redis/ping'].get
update:
x-apievangelist-phrasing:
intent: Ping Redis
effect: read
questions:
- Is Redis reachable from dotCMS?
- How do I health-check the Redis connection?
instructions:
- text: Ping Redis.
- text: Check that the Redis connection is alive.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/redis'].put
update:
x-apievangelist-phrasing:
intent: Set a Redis key
effect: write
questions:
- How do I store a simple value in Redis by key?
- Can I overwrite a Redis string value through the API?
instructions:
- text: Set Redis key {key} to {value}.
slots:
key: requestBody.key
value: requestBody.value
- text: Store {value} in Redis under {key}.
slots:
value: requestBody.value
key: requestBody.key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/redis/hash'].put
update:
x-apievangelist-phrasing:
intent: Set fields on a Redis hash
effect: write
questions:
- How do I write several fields into a Redis hash at once?
- Can I create a Redis hash with field/value pairs?
instructions:
- text: Set fields {fields} on Redis hash {key}.
slots:
fields: requestBody.fields
key: requestBody.key
- text: Write these field/value pairs {fields} into hash {key}.
slots:
fields: requestBody.fields
key: requestBody.key
method: generated
generated: '2026-09-26'