# 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 Content Delivery API version: 1.0.0 extends: openapi/dotcms-content-delivery-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: 8 - target: $.paths['/api/content/canLock/{params}'].put update: x-apievangelist-phrasing: intent: Check if a contentlet can be locked (legacy) effect: read questions: - Before editing, can I check whether I'm allowed to lock a piece of content and who holds the lock now? - Which deprecated content endpoint reports lock status and the lock owner? instructions: - text: Check whether I can lock the contentlet given by {params}. slots: params: path.params - text: Report the current lock status and owner for content {params} using the legacy canLock route. slots: params: path.params method: generated generated: '2026-09-26' - target: $.paths['/api/content/{params}'].get update: x-apievangelist-phrasing: intent: Retrieve content by ID, inode or query effect: read questions: - Can I pull a contentlet by its identifier and include related content two levels deep? - How do I fetch only the live version of content in a specific language? - Can I get content back as XML instead of JSON? instructions: - text: Get content using the path parameters {params}. slots: params: path.params - text: Fetch the live contentlet described by {params}, rendering its widgets. slots: params: path.params method: generated generated: '2026-09-26' - target: $.paths['/api/content/{params}'].put update: x-apievangelist-phrasing: intent: Create or update content via PUT (deprecated) effect: write questions: - Can the old /api/content PUT endpoint update an existing contentlet as well as create one? - Which deprecated endpoint accepts form-encoded or XML data to save content? instructions: - text: Create or update the contentlet described by {params} with the deprecated PUT endpoint. slots: params: path.params - text: Save changes to existing content {params} through the legacy PUT content route. slots: params: path.params method: generated generated: '2026-09-26' - target: $.paths['/api/content/{params}'].post update: x-apievangelist-phrasing: intent: Create content via POST (deprecated) effect: write questions: - Can I still create new content by POSTing JSON to the old content endpoint? - Which legacy POST route adds a brand-new contentlet? instructions: - text: Create a new contentlet using the deprecated POST endpoint with {params}. slots: params: path.params - text: Add brand-new content via the legacy POST content route, passing {params}. slots: params: path.params method: generated generated: '2026-09-26' - target: $.paths['/api/content/indexcount/{query}'].get update: x-apievangelist-phrasing: intent: Count content matching a Lucene query effect: read questions: - How many contentlets match a Lucene query? - Can I get just a total count of search matches as plain text? instructions: - text: Count the content matching Lucene query {query}. slots: query: path.query - text: Tell me how many items match {query} in the content index. slots: query: path.query method: generated generated: '2026-09-26' - target: $.paths['/api/content/indexsearch/{query}/sortby/{sortby}/limit/{limit}/offset/{offset}'].get update: x-apievangelist-phrasing: intent: Search the content index with Lucene effect: read questions: - Can I search content with a Lucene query and get back identifiers and inodes? - How do I page through index search results with a sort field, limit and offset? instructions: - text: Search the content index for {query}, sorted by {sortby}, returning {limit} results from offset {offset}. slots: query: path.query sortby: path.sortby limit: path.limit offset: path.offset - text: Find identifiers of content matching {query} ordered by {sortby}, {limit} at a time starting at {offset}. slots: query: path.query sortby: path.sortby limit: path.limit offset: path.offset method: generated generated: '2026-09-26' - target: $.paths['/api/content/lock/{params}'].put update: x-apievangelist-phrasing: intent: Lock a contentlet (deprecated) effect: write questions: - How do I lock content so nobody else edits it at the same time? - Is there a legacy endpoint to lock a contentlet by inode or identifier? instructions: - text: Lock the contentlet given by {params}. slots: params: path.params - text: Lock content {params} to prevent concurrent edits using the legacy lock route. slots: params: path.params method: generated generated: '2026-09-26' - target: $.paths['/api/content/unlock/{params}'].put update: x-apievangelist-phrasing: intent: Unlock a contentlet (deprecated) effect: write questions: - How do I release a lock on content so others can edit it? - Which older endpoint unlocks a previously locked contentlet? instructions: - text: Unlock the contentlet given by {params}. slots: params: path.params - text: Release the edit lock on content {params} via the legacy unlock route. slots: params: path.params method: generated generated: '2026-09-26'