dotCMS · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for dotCMS REST Search Index API
20 actions
20 updates
phrasing
extends
openapi/dotcms-search-index-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 20 · first 16 shown; the file carries all of them
$.info
$.paths['/api/v1/esindex/activate/{params}'].put
$.paths['/api/v1/esindex/clear/{params}'].put
$.paths['/api/v1/esindex/close/{params}'].put
$.paths['/api/v1/esindex/create/{params}'].put
$.paths['/api/v1/esindex/deactivate/{params}'].put
$.paths['/api/v1/esindex/failed'].get
$.paths['/api/v1/esindex/failed'].delete
$.paths['/api/v1/esindex/{indexName}'].put
$.paths['/api/v1/esindex/{indexName}'].delete
$.paths['/api/v1/esindex/cache'].delete
$.paths['/api/v1/esindex/active/{params}'].get
$.paths['/api/v1/esindex/cluster'].get
$.paths['/api/v1/esindex'].get
$.paths['/api/v1/esindex/reindex'].get
$.paths['/api/v1/esindex/reindex'].post
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 Search Index API
version: 1.0.0
extends: openapi/dotcms-search-index-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: 19
- target: $.paths['/api/v1/esindex/activate/{params}'].put
update:
x-apievangelist-phrasing:
intent: Activate a search index
effect: write
questions:
- How do I make a newly built index the live one content search uses?
- Can I switch which Elasticsearch index is active?
instructions:
- text: Activate the search index given by {params}.
slots:
params: path.params
- text: Make index {params} the active index for content search.
slots:
params: path.params
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/esindex/clear/{params}'].put
update:
x-apievangelist-phrasing:
intent: Clear all documents from an index
effect: destructive
questions:
- Can I empty an index of all its documents without deleting the index itself?
- What wipes the contents of a dotCMS search index?
instructions:
- text: Clear every document out of index {params}.
slots:
params: path.params
- text: Empty search index {params} but keep the index in place.
slots:
params: path.params
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/esindex/close/{params}'].put
update:
x-apievangelist-phrasing:
intent: Close a search index
effect: write
questions:
- Can I close an index I'm not using right now?
- Which call puts an Elasticsearch index into the closed state?
instructions:
- text: Close search index {params}.
slots:
params: path.params
- text: Take index {params} offline by closing it.
slots:
params: path.params
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/esindex/create/{params}'].put
update:
x-apievangelist-phrasing:
intent: Create a new search index
effect: write
questions:
- How do I create a fresh Elasticsearch index for content?
- Can I set up a new index before reindexing into it?
instructions:
- text: Create a new search index using {params}.
slots:
params: path.params
- text: Build an empty content index with settings {params}.
slots:
params: path.params
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/esindex/deactivate/{params}'].put
update:
x-apievangelist-phrasing:
intent: Deactivate a search index
effect: write
questions:
- Can I stop an index from being the active one without deleting it?
- Which call deactivates a live content index?
instructions:
- text: Deactivate search index {params}.
slots:
params: path.params
- text: Mark index {params} as no longer active.
slots:
params: path.params
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/esindex/failed'].get
update:
x-apievangelist-phrasing:
intent: Download records that failed to index
effect: read
questions:
- Which content items failed during the last reindex?
- Can I export the failed reindex records as a CSV?
instructions:
- text: Download the failed reindex records as CSV.
- text: Export the list of content that could not be indexed.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/esindex/failed'].delete
update:
x-apievangelist-phrasing:
intent: Clear the failed reindex records
effect: destructive
questions:
- How do I clear out the list of records that failed to reindex?
- Can I discard the failed indexing queue after I've reviewed it?
instructions:
- text: Delete all failed reindex records.
- text: Purge the queue of content that failed to index.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/esindex/{indexName}'].put
update:
x-apievangelist-phrasing:
intent: Run an action on a named index
effect: write
questions:
- Can I open, close or activate an index by name with a single endpoint?
- Which call applies an action query parameter to a specific index?
instructions:
- text: Apply action {action} to index {indexName}.
slots:
action: query.action
indexName: path.indexName
- text: Modify index {indexName} with the {action} operation.
slots:
indexName: path.indexName
action: query.action
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/esindex/{indexName}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a search index
effect: destructive
questions:
- How do I permanently delete an old Elasticsearch index?
- Can I remove an index by its name?
instructions:
- text: Delete search index {indexName}.
slots:
indexName: path.indexName
- text: Permanently remove index {indexName} from the cluster.
slots:
indexName: path.indexName
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/esindex/cache'].delete
update:
x-apievangelist-phrasing:
intent: Flush the search indices cache
effect: destructive
questions:
- Can I flush the Elasticsearch caches when search results look stale?
- What clears the indices cache on the search cluster?
instructions:
- text: Flush the search indices cache.
- text: Clear the cached index data on the search cluster.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/esindex/active/{params}'].get
update:
x-apievangelist-phrasing:
intent: Get the active search index
effect: read
questions:
- Which index is live for content search right now?
- Can I check which index is currently active?
instructions:
- text: Get the active search index for {params}.
slots:
params: path.params
- text: Tell me which index is currently live using {params}.
slots:
params: path.params
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/esindex/cluster'].get
update:
x-apievangelist-phrasing:
intent: Get search cluster statistics
effect: read
questions:
- How healthy is the Elasticsearch cluster behind dotCMS?
- Can I pull statistics for the search cluster?
instructions:
- text: Get the search cluster statistics.
- text: Show me the Elasticsearch cluster health and stats.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/esindex'].get
update:
x-apievangelist-phrasing:
intent: List indices and their status
effect: read
questions:
- What indices exist and which are active, closed or building?
- Can I get the status of every content index at once?
instructions:
- text: List every search index with its status.
- text: Show the current state of all content indices.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/esindex/reindex'].get
update:
x-apievangelist-phrasing:
intent: Check reindex progress
effect: read
questions:
- How far along is the full reindex that's running?
- Is a reindex currently in progress?
instructions:
- text: Check the progress of the running reindex.
- text: Report the status of the reindex that is running now.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/esindex/reindex'].post
update:
x-apievangelist-phrasing:
intent: Start a content reindex
effect: write
questions:
- Can I reindex only one content type instead of everything?
- How do I kick off a full reindex of site content?
instructions:
- text: Start a reindex of content type {contentType}.
slots:
contentType: query.contentType
- text: Kick off a full content reindex.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/esindex/reindex'].delete
update:
x-apievangelist-phrasing:
intent: Stop a running reindex
effect: destructive
questions:
- Can I cancel a reindex that's taking too long?
- When I stop a reindex, can I still switch over to the new index?
instructions:
- text: Stop the running reindex.
- text: Abort the current reindex with switch set to {switch}.
slots:
switch: query.switch
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/esindex/indexlist/{params}'].get
update:
x-apievangelist-phrasing:
intent: List index names
effect: read
questions:
- What are the names of all the indices on the cluster?
- Can I get just a plain list of index names?
instructions:
- text: List the index names using {params}.
slots:
params: path.params
- text: Give me the names of every index matching {params}.
slots:
params: path.params
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/esindex/open/{params}'].put
update:
x-apievangelist-phrasing:
intent: Reopen a closed search index
effect: write
questions:
- How do I reopen an index that was closed?
- Can a closed index be brought back online?
instructions:
- text: Open closed search index {params}.
slots:
params: path.params
- text: Bring index {params} back online by reopening it.
slots:
params: path.params
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/esindex/optimize'].post
update:
x-apievangelist-phrasing:
intent: Optimize the search indices
effect: write
questions:
- Can I trigger an optimize of the content indices from the API?
- Which call runs an optimize across the content indices?
instructions:
- text: Optimize all content indices.
- text: Run an index optimization on the search indices.
method: generated
generated: '2026-09-26'