# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Novu Layouts API version: 1.0.0 extends: openapi/novu-layouts-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['/v2/layouts'].get update: x-apievangelist-phrasing: intent: List email layouts effect: read questions: - What layouts do I have available for my email templates? - Can I search layouts by name and sort the results? instructions: - text: List all my layouts. - text: Find layouts matching {query}. slots: query: query.query method: generated generated: '2026-09-26' - target: $.paths['/v2/layouts'].post update: x-apievangelist-phrasing: intent: Create a layout effect: write questions: - How do I create a new shared layout for my emails? - Can I turn on translations when creating a layout? instructions: - text: Create a layout {name} with id {layoutId}. slots: name: requestBody.name layoutId: requestBody.layoutId - text: 'Create layout {layoutId} named {name} with translations enabled: {isTranslationEnabled}.' slots: layoutId: requestBody.layoutId name: requestBody.name isTranslationEnabled: requestBody.isTranslationEnabled method: generated generated: '2026-09-26' - target: $.paths['/v2/layouts/{layoutId}'].get update: x-apievangelist-phrasing: intent: Get a layout effect: read questions: - How do I fetch the details of one layout? - What content and settings does a specific layout have? instructions: - text: Show me layout {layoutId}. slots: layoutId: path.layoutId - text: Fetch the settings of layout {layoutId}. slots: layoutId: path.layoutId method: generated generated: '2026-09-26' - target: $.paths['/v2/layouts/{layoutId}'].put update: x-apievangelist-phrasing: intent: Update a layout effect: write questions: - How do I rename a layout or change its content? - Can I update the control values on an existing layout? instructions: - text: Update layout {layoutId} with name {name}. slots: layoutId: path.layoutId name: requestBody.name - text: Save control values {controlValues} to existing layout {layoutId} named {name}. slots: controlValues: requestBody.controlValues layoutId: path.layoutId name: requestBody.name method: generated generated: '2026-09-26' - target: $.paths['/v2/layouts/{layoutId}'].delete update: x-apievangelist-phrasing: intent: Delete a layout effect: destructive questions: - How do I remove a layout I no longer use? - Can I delete a layout by its identifier? instructions: - text: Delete layout {layoutId}. slots: layoutId: path.layoutId - text: Remove the {layoutId} layout permanently. slots: layoutId: path.layoutId method: generated generated: '2026-09-26' - target: $.paths['/v2/layouts/{layoutId}/duplicate'].post update: x-apievangelist-phrasing: intent: Duplicate a layout effect: write questions: - How do I copy an existing layout as a starting point for a new one? - Can I give the duplicated layout its own name and id? instructions: - text: Duplicate layout {layoutId} as {name}. slots: layoutId: path.layoutId name: requestBody.name - text: Make a copy of layout {layoutId} called {name}. slots: layoutId: path.layoutId name: requestBody.name method: generated generated: '2026-09-26' - target: $.paths['/v2/layouts/{layoutId}/preview'].post update: x-apievangelist-phrasing: intent: Preview a layout effect: read questions: - How can I see what a layout will look like with sample data? - Can I preview a layout with different control values before saving? instructions: - text: Generate a preview of layout {layoutId}. slots: layoutId: path.layoutId - text: Render layout {layoutId} using sample payload {previewPayload}. slots: layoutId: path.layoutId previewPayload: requestBody.previewPayload method: generated generated: '2026-09-26' - target: $.paths['/v2/layouts/{layoutId}/usage'].get update: x-apievangelist-phrasing: intent: See which workflows use a layout effect: read questions: - Which workflows are using a particular layout? - Before deleting a layout, how do I check whether anything depends on it? instructions: - text: Show the workflows that use layout {layoutId}. slots: layoutId: path.layoutId - text: Check where layout {layoutId} is in use. slots: layoutId: path.layoutId method: generated generated: '2026-09-26'