# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Admin API V1 Contents API version: 1.0.0 extends: openapi/optimizely-contents-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: 9 - target: $.paths['/api/v1/admin/Contents'].get update: x-apievangelist-phrasing: intent: List CMS content revisions effect: read questions: - How do I list the content records managed in the commerce CMS? - Can I filter content by device type or language? - Which content revisions are awaiting approval? instructions: - text: List all content records. - text: Find content matching {filter}. slots: filter: query.$filter - text: Show {top} content records sorted by {orderby}. slots: top: query.$top orderby: query.$orderby method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/Contents'].post update: x-apievangelist-phrasing: intent: Create a content revision effect: write questions: - How do I add a new piece of HTML content for a device type? - Can I create content targeted at a specific persona or language? instructions: - text: Create content {name} of type {type} for {deviceType} with HTML {html}. slots: name: requestBody.name type: requestBody.type deviceType: requestBody.deviceType html: requestBody.html - text: Add {type} content {name} with HTML {html} for device {deviceType} and persona {personaId}. slots: type: requestBody.type name: requestBody.name html: requestBody.html deviceType: requestBody.deviceType personaId: requestBody.personaId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/Contents({id})'].get update: x-apievangelist-phrasing: intent: Get a content revision effect: read questions: - How do I fetch one content record and its HTML by ID? - When was a given content revision approved or published? instructions: - text: Get content {id}. slots: id: path.id - text: Show the HTML and approval dates of content {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/Contents({id})'].put update: x-apievangelist-phrasing: intent: Replace a content revision effect: write questions: - How do I overwrite a content record in full? - Does replacing content require name, type, HTML and device type? instructions: - text: Replace content {id} with name {name}, type {type}, device {deviceType} and HTML {html}. slots: id: path.id name: requestBody.name type: requestBody.type deviceType: requestBody.deviceType html: requestBody.html - text: Overwrite every field of content record {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/Contents({id})'].delete update: x-apievangelist-phrasing: intent: Delete a content revision effect: destructive questions: - How do I delete one content record? - Can I delete content only when its ETag still matches? instructions: - text: Delete content {id}. slots: id: path.id - text: Delete content {id} if its ETag is {etag}. slots: id: path.id etag: header.If-Match method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/Contents({id})'].patch update: x-apievangelist-phrasing: intent: Update a content revision effect: write questions: - How do I change just the HTML of an existing content record? - Can I schedule content to publish to production on a date? instructions: - text: Update the HTML of content {id} to {html}. slots: id: path.id html: requestBody.html - text: Schedule content {id} to publish on {publishToProductionOn}. slots: id: path.id publishToProductionOn: requestBody.publishToProductionOn method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/Contents/Default.Default()'].get update: x-apievangelist-phrasing: intent: Get a default content template effect: read questions: - What default values does a new content record start with? - Can I fetch a blank content template? instructions: - text: Fetch the default content template. - text: Show me the defaults for a new content record. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/contents/delete'].delete update: x-apievangelist-phrasing: intent: Bulk delete content revisions effect: destructive questions: - How do I delete several content records at once? - Can I remove content records by passing a list of IDs? instructions: - text: Bulk delete the content records {ids}. slots: ids: query.ids - text: 'Remove these content records in one call: {ids}.' slots: ids: query.ids method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/contents({key})/customproperties({custompropertyKey})'].get update: x-apievangelist-phrasing: intent: Get a custom property on a content record effect: read questions: - How do I read a custom property stored on a content record? - Can I fetch one extra property from a piece of content? instructions: - text: Get custom property {custompropertyKey} on content {key}. slots: custompropertyKey: path.custompropertyKey key: path.key - text: Show content {key}'s custom property {custompropertyKey}. slots: key: path.key custompropertyKey: path.custompropertyKey method: generated generated: '2026-09-26'