# 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'