Optimizely · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Optimizely Smart Campaigns API

66 actions 66 updates phrasing extends openapi/optimizely-smart-campaigns-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Optimizely's API. It is a proposal applied on top of the contract, not a document Optimizely publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 66 · first 16 shown; the file carries all of them

$.info
$.paths['/{clientId}/smartcampaigns'].get
$.paths['/{clientId}/smartcampaigns'].post
$.paths['/{clientId}/smartcampaigns/{campaignId}'].get
$.paths['/{clientId}/smartcampaigns/{campaignId}'].post
$.paths['/{clientId}/smartcampaigns/{campaignId}'].delete
$.paths['/{clientId}/smartcampaigns/{campaignId}/start'].post
$.paths['/{clientId}/smartcampaigns/{campaignId}/pause'].post
$.paths['/{clientId}/smartcampaigns/{campaignId}/activate'].post
$.paths['/{clientId}/smartcampaigns/{campaignId}/deactivate'].post
$.paths['/{clientId}/smartcampaigns/{campaignId}/abtest'].get
$.paths['/{clientId}/smartcampaigns/{campaignId}/abtest'].post
$.paths['/{clientId}/smartcampaigns/{campaignId}/abtest'].delete
$.paths['/{clientId}/smartcampaigns/{campaignId}/abtest/successors/{nodeId}'].get
$.paths['/{clientId}/smartcampaigns/{campaignId}/abtest/successors/{nodeId}'].post
$.paths['/{clientId}/smartcampaigns/{campaignId}/abtest/successors/{nodeId}'].delete

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Optimizely Smart Campaigns API
  version: 1.0.0
extends: openapi/optimizely-smart-campaigns-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: 65
- target: $.paths['/{clientId}/smartcampaigns'].get
  update:
    x-apievangelist-phrasing:
      intent: List smart campaigns for a Campaign client
      effect: read
      questions:
      - Which smart campaigns exist under my Optimizely Campaign client?
      - Can I see every automated smart campaign set up for one client account?
      instructions:
      - text: List all smart campaigns for client {clientId}.
        slots:
          clientId: path.clientId
      - text: Show me every smart campaign configured in Campaign client {clientId}.
        slots:
          clientId: path.clientId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a new smart campaign or copy an existing one
      effect: write
      questions:
      - How do I create a new smart campaign through the API?
      - Can I duplicate an existing smart campaign instead of building it from scratch?
      - Is it possible to attach recipient lists while creating a smart campaign?
      instructions:
      - text: Create a smart campaign named {name} in client {clientId}.
        slots:
          name: requestBody.name
          clientId: path.clientId
      - text: Copy smart campaign {sourceCampaignId} into a new campaign in client {clientId}.
        slots:
          sourceCampaignId: requestBody.sourceCampaignId
          clientId: path.clientId
      - text: Start a new smart campaign {name} targeting recipient lists {recipientListIds}.
        slots:
          name: requestBody.name
          recipientListIds: requestBody.recipientListIds
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get details of one smart campaign
      effect: read
      questions:
      - What are the details and current status of a particular smart campaign?
      - Can I look up a single smart campaign by its ID?
      instructions:
      - text: Get smart campaign {campaignId} in client {clientId}.
        slots:
          campaignId: path.campaignId
          clientId: path.clientId
      - text: Show the details of smart campaign {campaignId}.
        slots:
          campaignId: path.campaignId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}'].post
  update:
    x-apievangelist-phrasing:
      intent: Rename a smart campaign
      effect: write
      questions:
      - How do I rename a smart campaign after it's been created?
      - Can I change the name of an existing smart campaign?
      instructions:
      - text: Rename smart campaign {campaignId} in client {clientId} to {name}.
        slots:
          campaignId: path.campaignId
          clientId: path.clientId
          name: requestBody.name
      - text: Change the title of smart campaign {campaignId} to {name}.
        slots:
          campaignId: path.campaignId
          name: requestBody.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a smart campaign
      effect: destructive
      questions:
      - How do I permanently remove a smart campaign I no longer need?
      - Can a smart campaign be deleted through the API?
      instructions:
      - text: Delete smart campaign {campaignId} from client {clientId}.
        slots:
          campaignId: path.campaignId
          clientId: path.clientId
      - text: Remove the smart campaign {campaignId} entirely.
        slots:
          campaignId: path.campaignId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}/start'].post
  update:
    x-apievangelist-phrasing:
      intent: Start a smart campaign's automated workflow
      effect: write
      questions:
      - How do I kick off the automated workflow of a smart campaign?
      - What call begins execution of a smart campaign?
      instructions:
      - text: Start smart campaign {campaignId} in client {clientId}.
        slots:
          campaignId: path.campaignId
          clientId: path.clientId
      - text: Begin running the automated workflow for smart campaign {campaignId}.
        slots:
          campaignId: path.campaignId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}/pause'].post
  update:
    x-apievangelist-phrasing:
      intent: Pause a running smart campaign
      effect: write
      questions:
      - Can I temporarily pause a whole smart campaign without cancelling it?
      - How do I put a running smart campaign on hold?
      instructions:
      - text: Pause smart campaign {campaignId} in client {clientId}.
        slots:
          campaignId: path.campaignId
          clientId: path.clientId
      - text: Put the entire smart campaign {campaignId} on hold.
        slots:
          campaignId: path.campaignId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}/activate'].post
  update:
    x-apievangelist-phrasing:
      intent: Activate a smart campaign
      effect: write
      questions:
      - How do I move a smart campaign into the Activated status?
      - What makes a smart campaign ready so its mailings can be started?
      instructions:
      - text: Activate smart campaign {campaignId} in client {clientId}.
        slots:
          campaignId: path.campaignId
          clientId: path.clientId
      - text: Set smart campaign {campaignId} to status Activated.
        slots:
          campaignId: path.campaignId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}/deactivate'].post
  update:
    x-apievangelist-phrasing:
      intent: Deactivate a smart campaign
      effect: write
      questions:
      - How do I deactivate a smart campaign so it goes back to activation required?
      - Can I take a smart campaign out of the Activated state?
      instructions:
      - text: Deactivate smart campaign {campaignId} in client {clientId}.
        slots:
          campaignId: path.campaignId
          clientId: path.clientId
      - text: Return smart campaign {campaignId} to the activation required status.
        slots:
          campaignId: path.campaignId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}/abtest'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a smart campaign's A/B test node
      effect: read
      questions:
      - What optimization mode is the A/B test in my smart campaign using?
      - When is the A/B test node of a smart campaign scheduled to pick a winner, and what's its fallback?
      instructions:
      - text: Show the A/B test node settings for smart campaign {campaignId} in client {clientId}.
        slots:
          campaignId: path.campaignId
          clientId: path.clientId
      - text: Get the split test configuration of smart campaign {campaignId}.
        slots:
          campaignId: path.campaignId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}/abtest'].post
  update:
    x-apievangelist-phrasing:
      intent: Create or update a smart campaign's A/B test node
      effect: write
      questions:
      - How do I add an A/B test step to a smart campaign?
      - Can the A/B test pick a winner automatically by best open rate or click rate?
      - Is send time optimization available on an A/B test node?
      instructions:
      - text: Add an A/B test node to smart campaign {campaignId} in client {clientId}.
        slots:
          campaignId: path.campaignId
          clientId: path.clientId
      - text: Set the A/B test in campaign {campaignId} to optimize by {mode} and dispatch the winner at {scheduledAt}.
        slots:
          campaignId: path.campaignId
          mode: requestBody.optimization.mode
          scheduledAt: requestBody.optimization.scheduledAt
      - text: Enable automatic optimization on the A/B test node of campaign {campaignId}.
        slots:
          campaignId: path.campaignId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}/abtest'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a smart campaign's A/B test node
      effect: destructive
      questions:
      - How do I remove the A/B test step from a smart campaign?
      - Can I drop split testing from a smart campaign's workflow?
      instructions:
      - text: Delete the A/B test node from smart campaign {campaignId} in client {clientId}.
        slots:
          campaignId: path.campaignId
          clientId: path.clientId
      - text: Remove split testing from campaign {campaignId}.
        slots:
          campaignId: path.campaignId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}/abtest/successors/{nodeId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one connection leaving an A/B test node
      effect: read
      questions:
      - What share of recipients does a specific branch out of my A/B test receive?
      - Which target group is attached to one particular A/B test connection?
      instructions:
      - text: Show the A/B test connection to node {nodeId} in smart campaign {campaignId} for client {clientId}.
        slots:
          nodeId: path.nodeId
          campaignId: path.campaignId
          clientId: path.clientId
      - text: Get the recipient split for the A/B branch leading to node {nodeId}.
        slots:
          nodeId: path.nodeId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}/abtest/successors/{nodeId}'].post
  update:
    x-apievangelist-phrasing:
      intent: Create or update a connection from an A/B test node
      effect: write
      questions:
      - How do I route a percentage of A/B test recipients to a particular next step?
      - Can I send a fixed number of recipients down one A/B test branch?
      - Is it possible to attach a target group to an A/B test connection?
      instructions:
      - text: Connect the A/B test in campaign {campaignId} to node {nodeId} for {relative} percent of recipients, client {clientId}.
        slots:
          campaignId: path.campaignId
          nodeId: path.nodeId
          relative: requestBody.relative
          clientId: path.clientId
      - text: Send {absolute} recipients from the A/B test down the branch to node {nodeId}.
        slots:
          absolute: requestBody.absolute
          nodeId: path.nodeId
      - text: Name the A/B branch to node {nodeId} as target group {name}.
        slots:
          nodeId: path.nodeId
          name: requestBody.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}/abtest/successors/{nodeId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete one connection leaving an A/B test node
      effect: destructive
      questions:
      - How do I remove a single branch from an A/B test node?
      - Can I disconnect the A/B test from just one of its next steps?
      instructions:
      - text: Delete the A/B test connection to node {nodeId} in smart campaign {campaignId}, client {clientId}.
        slots:
          nodeId: path.nodeId
          campaignId: path.campaignId
          clientId: path.clientId
      - text: Cut only the A/B branch that leads to node {nodeId}.
        slots:
          nodeId: path.nodeId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}/abtest/successors'].get
  update:
    x-apievangelist-phrasing:
      intent: List all connections leaving an A/B test node
      effect: read
      questions:
      - Where do all the branches of my A/B test lead and how are recipients divided?
      - Can I see every outgoing connection from a smart campaign's A/B test at once?
      instructions:
      - text: List every connection out of the A/B test in smart campaign {campaignId} for client {clientId}.
        slots:
          campaignId: path.campaignId
          clientId: path.clientId
      - text: Show all A/B test branches and their recipient shares for campaign {campaignId}.
        slots:
          campaignId: path.campaignId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}/abtest/successors'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete all connections leaving an A/B test node
      effect: destructive
      questions:
      - How do I clear every outgoing branch from an A/B test node at once?
      - Can I disconnect the A/B test from all of its next steps in one call?
      instructions:
      - text: Remove all connections from the A/B test in smart campaign {campaignId}, client {clientId}.
        slots:
          campaignId: path.campaignId
          clientId: path.clientId
      - text: Wipe every A/B branch out of campaign {campaignId}.
        slots:
          campaignId: path.campaignId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}/analysis'].get
  update:
    x-apievangelist-phrasing:
      intent: Get recipient analysis results of a smart campaign
      effect: read
      questions:
      - How many mailing recipients did the recipient analysis of my smart campaign find?
      - What state is the recipient analysis of a smart campaign in right now?
      instructions:
      - text: Show the recipient analysis data for smart campaign {campaignId} in client {clientId}.
        slots:
          campaignId: path.campaignId
          clientId: path.clientId
      - text: Check the analysis status and recipient count for campaign {campaignId}.
        slots:
          campaignId: path.campaignId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}/analysis'].post
  update:
    x-apievangelist-phrasing:
      intent: Schedule a recipient analysis for a smart campaign
      effect: write
      questions:
      - How do I trigger a fresh recipient analysis on a smart campaign?
      - Can I queue a new count of who a smart campaign would reach?
      instructions:
      - text: Schedule a new recipient analysis for smart campaign {campaignId} in client {clientId}.
        slots:
          campaignId: path.campaignId
          clientId: path.clientId
      - text: Run a recipient analysis on campaign {campaignId}.
        slots:
          campaignId: path.campaignId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}/analysis'].delete
  update:
    x-apievangelist-phrasing:
      intent: Cancel a running recipient analysis
      effect: destructive
      questions:
      - How do I stop a recipient analysis that is still running on a smart campaign?
      - Can an in-progress smart campaign analysis be cancelled?
      instructions:
      - text: Cancel the running recipient analysis of smart campaign {campaignId} in client {clientId}.
        slots:
          campaignId: path.campaignId
          clientId: path.clientId
      - text: Abort the analysis currently in progress for campaign {campaignId}.
        slots:
          campaignId: path.campaignId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}/block'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a smart campaign's Block node
      effect: read
      questions:
      - Which custom blacklists does the Block step of my smart campaign use?
      - What does the Block node in a smart campaign filter out?
      instructions:
      - text: Show the Block node of smart campaign {campaignId} in client {clientId}.
        slots:
          campaignId: path.campaignId
          clientId: path.clientId
      - text: Get the blacklist IDs used by the Block step of campaign {campaignId}.
        slots:
          campaignId: path.campaignId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}/block'].post
  update:
    x-apievangelist-phrasing:
      intent: Create or update a smart campaign's Block node
      effect: write
      questions:
      - How do I exclude recipients on a custom blacklist from a smart campaign?
      - Can I add a Block step between two nodes of a smart campaign?
      instructions:
      - text: Add a Block node using blacklists {customBlacklistIds} to smart campaign {campaignId} in client {clientId}.
        slots:
          customBlacklistIds: requestBody.customBlacklistIds
          campaignId: path.campaignId
          clientId: path.clientId
      - text: Place the Block step of campaign {campaignId} after node {predecessorNodeId}.
        slots:
          campaignId: path.campaignId
          predecessorNodeId: requestBody.predecessorNodeId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}/block'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a smart campaign's Block node
      effect: destructive
      questions:
      - How do I remove the blacklist Block step from a smart campaign?
      - Can I stop a smart campaign from blocking blacklisted recipients?
      instructions:
      - text: Delete the Block node from smart campaign {campaignId} in client {clientId}.
        slots:
          campaignId: path.campaignId
          clientId: path.clientId
      - text: Drop the blacklist Block step from campaign {campaignId}.
        slots:
          campaignId: path.campaignId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}/cap'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a smart campaign's Limit node
      effect: read
      questions:
      - How many recipients is my smart campaign capped at?
      - What recipient limit does the Limit node of a smart campaign apply?
      instructions:
      - text: Show the Limit node of smart campaign {campaignId} in client {clientId}.
        slots:
          campaignId: path.campaignId
          clientId: path.clientId
      - text: Get the recipient cap set on campaign {campaignId}.
        slots:
          campaignId: path.campaignId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}/cap'].post
  update:
    x-apievangelist-phrasing:
      intent: Create or update a smart campaign's Limit node
      effect: write
      questions:
      - How do I cap a smart campaign at a fixed number of recipients?
      - Can I limit a smart campaign to a percentage of its audience?
      instructions:
      - text: Limit smart campaign {campaignId} in client {clientId} to {absolute} recipients.
        slots:
          campaignId: path.campaignId
          clientId: path.clientId
          absolute: requestBody.absolute
      - text: Cap campaign {campaignId} at {relative} percent of recipients.
        slots:
          campaignId: path.campaignId
          relative: requestBody.relative
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}/cap'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a smart campaign's Limit node
      effect: destructive
      questions:
      - How do I remove the recipient cap from a smart campaign?
      - Can I take the Limit step out of a smart campaign workflow?
      instructions:
      - text: Delete the Limit node from smart campaign {campaignId} in client {clientId}.
        slots:
          campaignId: path.campaignId
          clientId: path.clientId
      - text: Remove the recipient cap on campaign {campaignId}.
        slots:
          campaignId: path.campaignId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}/messages'].get
  update:
    x-apievangelist-phrasing:
      intent: List all mailings in a smart campaign
      effect: read
      questions:
      - Which mailings belong to my smart campaign?
      - Can I see every email and push message inside one smart campaign?
      instructions:
      - text: List all mailings of smart campaign {campaignId} in client {clientId}.
        slots:
          campaignId: path.campaignId
          clientId: path.clientId
      - text: Show every message defined in campaign {campaignId}.
        slots:
          campaignId: path.campaignId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}/messages'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a mailing in a smart campaign
      effect: write
      questions:
      - How do I add a new email mailing to a smart campaign?
      - Can a smart campaign mailing be a Web Push or Mobile Push message?
      - What sender details can I set when creating a campaign mailing?
      instructions:
      - text: Add a {mediaType} message called {name} to the workflow of smart campaign {campaignId}, client {clientId}.
        slots:
          mediaType: requestBody.mediaType
          name: requestBody.name
          campaignId: path.campaignId
          clientId: path.clientId
      - text: Add a new mailing to campaign {campaignId} with subject {subject} from {senderAddress}.
        slots:
          campaignId: path.campaignId
          subject: requestBody.subject
          senderAddress: requestBody.senderAddress
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}/messages/{mailingId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get details of one smart campaign mailing
      effect: read
      questions:
      - What status and format is a particular campaign mailing in?
      - When was a specific smart campaign mailing created?
      instructions:
      - text: Get mailing {mailingId} of smart campaign {campaignId} in client {clientId}.
        slots:
          mailingId: path.mailingId
          campaignId: path.campaignId
          clientId: path.clientId
      - text: Show the status and type of mailing {mailingId}.
        slots:
          mailingId: path.mailingId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}/messages/{mailingId}'].post
  update:
    x-apievangelist-phrasing:
      intent: Update a smart campaign mailing
      effect: write
      questions:
      - How do I change the subject line of a mailing already in a smart campaign?
      - Can I update the sender name or reply-to address of an existing campaign mailing?
      instructions:
      - text: Change the subject of mailing {mailingId} in smart campaign {campaignId}, client {clientId}, to {subject}.
        slots:
          mailingId: path.mailingId
          campaignId: path.campaignId
          clientId: path.clientId
          subject: requestBody.subject
      - text: Set the sender name of existing mailing {mailingId} to {senderName}.
        slots:
          mailingId: path.mailingId
          senderName: requestBody.senderName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}/messages/{mailingId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a smart campaign mailing
      effect: destructive
      questions:
      - How do I delete a mailing I created in a smart campaign?
      - Can one message be removed from a smart campaign without deleting the campaign?
      instructions:
      - text: Delete mailing {mailingId} from smart campaign {campaignId} in client {clientId}.
        slots:
          mailingId: path.mailingId
          campaignId: path.campaignId
          clientId: path.clientId
      - text: Remove the mailing {mailingId} from its campaign.
        slots:
          mailingId: path.mailingId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}/messages/{mailingId}/attachments'].post
  update:
    x-apievangelist-phrasing:
      intent: Add attachments to a campaign email
      effect: write
      questions:
      - How do I attach files to an email in a smart campaign?
      - Can I add several attachments to a campaign mailing in one request?
      instructions:
      - text: Attach files {attachmentIds} to mailing {mailingId} in smart campaign {campaignId}, client {clientId}.
        slots:
          attachmentIds: requestBody.attachmentIds
          mailingId: path.mailingId
          campaignId: path.campaignId
          clientId: path.clientId
      - text: Add attachment {attachmentIds} to the email {mailingId}.
        slots:
          attachmentIds: requestBody.attachmentIds
          mailingId: path.mailingId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}/messages/{mailingId}/attachments'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove attachments from a campaign email
      effect: destructive
      questions:
      - How do I take attachments off a smart campaign email?
      - Can I detach specific files from a campaign mailing?
      instructions:
      - text: Remove attachments {attachmentIds} from mailing {mailingId} in smart campaign {campaignId}, client {clientId}.
        slots:
          attachmentIds: query.attachmentIds
          mailingId: path.mailingId
          campaignId: path.campaignId
          clientId: path.clientId
      - text: Detach file {attachmentIds} from email {mailingId}.
        slots:
          attachmentIds: query.attachmentIds
          mailingId: path.mailingId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}/messages/{mailingId}/content'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the content of a campaign email
      effect: read
      questions:
      - How do I download the HTML or plain-text body of a campaign email?
      - Can I choose which content type of a mailing's content is returned?
      instructions:
      - text: Get the content of mailing {mailingId} in smart campaign {campaignId}, client {clientId}.
        slots:
          mailingId: path.mailingId
          campaignId: path.campaignId
          clientId: path.clientId
      - text: Fetch the body of email {mailingId} as {Accept}.
        slots:
          mailingId: path.mailingId
          Accept: header.Accept
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}/messages/{mailingId}/content'].post
  update:
    x-apievangelist-phrasing:
      intent: Upload new content for a campaign mailing
      effect: write
      questions:
      - How do I replace the HTML body of a smart campaign mailing?
      - Can I upload multipart content with both HTML and plain text for a mailing?
      instructions:
      - text: Upload {content} as the body of mailing {mailingId} in smart campaign {campaignId}, client {clientId}.
        slots:
          content: requestBody.content
          mailingId: path.mailingId
          campaignId: path.campaignId
          clientId: path.clientId
      - text: Replace the content of mailing {mailingId} with new HTML.
        slots:
          mailingId: path.mailingId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}/messages/{mailingId}/content'].delete
  update:
    x-apievangelist-phrasing:
      intent: Clear the content of a campaign email
      effect: destructive
      questions:
      - How do I wipe the body content of a campaign email and start over?
      - Can I empty a mailing's content without deleting the mailing itself?
      instructions:
      - text: Delete the content of mailing {mailingId} in smart campaign {campaignId}, client {clientId}.
        slots:
          mailingId: path.mailingId
          campaignId: path.campaignId
          clientId: path.clientId
      - text: Clear out the email body of mailing {mailingId}.
        slots:
          mailingId: path.mailingId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}/messages/{mailingId}/test/{testMailingId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the sending status of a test mailing
      effect: read
      questions:
      - Did my test mailing actually reach each test recipient?
      - Which recipients of a test send are still enqueued or failed?
      instructions:
      - text: Show the delivery status of test {testMailingId} for mailing {mailingId} in campaign {campaignId}, client {clientId}.
        slots:
          testMailingId: path.testMailingId
          mailingId: path.mailingId
          campaignId: path.campaignId
          clientId: path.clientId
      - text: Report which recipients of test send {testMailingId} were sent or failed.
        slots:
          testMailingId: path.testMailingId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}/messages/{mailingId}/test'].post
  update:
    x-apievangelist-phrasing:
      intent: Send a test of a campaign mailing
      effect: write
      questions:
      - How do I send a test version of a mailing before the real send?
      - Can I override the subject or sender address just for a test send?
      instructions:
      - text: Send a test of mailing {mailingId} in campaign {campaignId}, client {clientId}, to recipients {recipientIds} from list {recipientListId}.
        slots:
          mailingId: path.mailingId
          campaignId: path.campaignId
          clientId: path.clientId
          recipientIds: requestBody.recipientIds
          recipientListId: requestBody.recipientListId
      - text: Test-send mailing {mailingId} with subject {subject} to recipients {recipientIds} in list {recipientListId}.
        slots:
          mailingId: path.mailingId
          subject: requestBody.subject
          recipientIds: requestBody.recipientIds
          recipientListId: requestBody.recipientListId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/smartcampaigns/{campaignId}/messages/{mailingId}/tracking/links/{trackingLinkId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one tracking link of a mailing
      effect: read
      questions:
      - What URL does a particular tracking link in my mailing point to?
      - How often does one tracked link appear in a mailing's text version?
      instructions:
      - text: Show tracking link {trackingLinkId} of mailing {mailingId} in campaign {campaignId}, client {clientId}.
        slots:
          trackingLinkId: path.trackingLinkId
          mailingId: path.mailingId
          campaignId: path.campaignId
          clientId: path.clientId
      - text: Get the URL behind tracked link {trackingLinkId}.
        slots:
          trackingLinkId: path.trackingLinkId
      method: generated
      generated: '2026-09-26'


# --- truncated at 32 KB (52 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/optimizely/refs/heads/main/overlays/optimizely-smart-campaigns-api-phrasing-overlay.yaml