Live Direct Marketing · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Live Direct Marketing Online Dialogs API

50 actions 50 updates phrasing extends openapi/live-direct-marketing-online-dialogs-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Live Direct Marketing's API. It is a proposal applied on top of the contract, not a document Live Direct Marketing publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

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

$.info
$.paths['/api/dialogs'].get
$.paths['/api/dialogs/stats'].get
$.paths['/api/dialogs/badges'].post
$.paths['/api/dialogs/accounts'].get
$.paths['/api/dialogs/folders'].get
$.paths['/api/dialogs/thread/{threadId}'].get
$.paths['/api/dialogs/bulk'].post
$.paths['/api/dialogs/imap/move'].post
$.paths['/api/dialogs/imap/delete'].post
$.paths['/api/dialogs/imap/folders'].get
$.paths['/api/dialogs/imap/folders'].post
$.paths['/api/dialogs/imap/folders'].patch
$.paths['/api/dialogs/imap/folders/delete'].post
$.paths['/api/dialogs/outbox'].get
$.paths['/api/dialogs/outbox/{id}/history'].get

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 Live Direct Marketing Online Dialogs API
  version: 1.0.0
extends: openapi/live-direct-marketing-online-dialogs-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-01'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 49
- target: $.paths['/api/dialogs'].get
  update:
    x-apievangelist-phrasing:
      intent: List email dialogs with filters
      effect: read
      questions:
      - Can I filter my inbox dialogs by channel, status or folder?
      - Which conversations with a given contact or company are in my dialogs inbox?
      - Is there a way to see only starred or snoozed dialogs that need attention?
      instructions:
      - text: List dialogs on channel {channel} with status {status}.
        slots:
          channel: query.channel
          status: query.status
      - text: Show all dialogs with contact {contactId} between {dateFrom} and {dateTo}.
        slots:
          contactId: query.contactId
          dateFrom: query.dateFrom
          dateTo: query.dateTo
      - text: Search my dialogs for {search} and show only the ones needing attention.
        slots:
          search: query.search
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/stats'].get
  update:
    x-apievangelist-phrasing:
      intent: Get aggregate dialog statistics
      effect: read
      questions:
      - How many dialogs do I have in total across my inbox?
      - What are the overall counts and totals for my email conversations?
      instructions:
      - text: Give me the aggregate statistics for my dialogs.
      - text: Summarize my dialog inbox totals.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/badges'].post
  update:
    x-apievangelist-phrasing:
      intent: Get dialog badges for a set of leads
      effect: read
      questions:
      - Can I fetch dialog badges for many leads in one call?
      - Which of my leads have unread or flagged conversations, shown as badges?
      instructions:
      - text: Fetch the dialog badges for this batch of leads.
      - text: Get bulk conversation badges for the leads on my pipeline board.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/accounts'].get
  update:
    x-apievangelist-phrasing:
      intent: List email accounts used in dialogs
      effect: read
      questions:
      - Which mailbox accounts are my dialogs coming through?
      - Can I see only the active email accounts that have conversations?
      instructions:
      - text: List the email accounts used in my dialogs.
      - text: Show dialog email accounts with activeOnly set to {activeOnly}.
        slots:
          activeOnly: query.activeOnly
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/folders'].get
  update:
    x-apievangelist-phrasing:
      intent: List dialog folders
      effect: read
      questions:
      - What folders are my dialogs organized into?
      - Can I see the stored dialog folders for just one mailbox account?
      instructions:
      - text: List my dialog folders.
      - text: Show the dialog folders for account {accountId}.
        slots:
          accountId: query.accountId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/thread/{threadId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a full dialog thread
      effect: read
      questions:
      - How do I see every message in an email thread at once?
      - Can I load the whole back-and-forth of a conversation by its thread ID?
      instructions:
      - text: Show me the full thread {threadId}.
        slots:
          threadId: path.threadId
      - text: Load all messages in conversation thread {threadId}.
        slots:
          threadId: path.threadId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/bulk'].post
  update:
    x-apievangelist-phrasing:
      intent: Apply a bulk action to many dialogs
      effect: write
      questions:
      - Can I apply one action to many dialogs at the same time?
      - Is there a way to update a whole selection of conversations in one request?
      instructions:
      - text: Apply this bulk action to all the dialogs I selected.
      - text: Run a bulk action across these dialogs in one go.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/imap/move'].post
  update:
    x-apievangelist-phrasing:
      intent: Move dialogs to an IMAP folder
      effect: write
      questions:
      - Can I move conversations into a different folder on the mail server?
      - How do I file dialogs into an IMAP folder like Archive?
      instructions:
      - text: Move these dialogs into the IMAP folder I name.
      - text: File the selected conversations into another IMAP folder on the mail server.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/imap/delete'].post
  update:
    x-apievangelist-phrasing:
      intent: Permanently delete dialogs from IMAP
      effect: destructive
      questions:
      - Can I permanently remove messages from the mail server itself?
      - Is deleting dialogs from IMAP reversible?
      instructions:
      - text: Permanently delete these dialogs from the IMAP mailbox.
      - text: Erase the selected messages from the mail server for good.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/imap/folders'].get
  update:
    x-apievangelist-phrasing:
      intent: List live IMAP folders for an account
      effect: read
      questions:
      - What folders actually exist on the mail server for this mailbox right now?
      - Can I read the IMAP folder list live rather than from the cache?
      instructions:
      - text: List the live IMAP folders for account {accountId}.
        slots:
          accountId: query.accountId
      - text: Fetch the folder tree from the mail server for mailbox {accountId}.
        slots:
          accountId: query.accountId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/imap/folders'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an IMAP folder
      effect: write
      questions:
      - Can I create a new folder on the mail server from the app?
      - How do I add an IMAP folder for sorting replies?
      instructions:
      - text: Create a new IMAP folder on my mailbox.
      - text: Add a folder called Hot Replies on the mail server.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/imap/folders'].patch
  update:
    x-apievangelist-phrasing:
      intent: Rename an IMAP folder
      effect: write
      questions:
      - Can I rename an existing folder on the mail server?
      - Is it possible to change an IMAP folder's name without recreating it?
      instructions:
      - text: Rename this IMAP folder on my mailbox.
      - text: Change the name of the mail server folder Leads to Qualified.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/imap/folders/delete'].post
  update:
    x-apievangelist-phrasing:
      intent: Delete an IMAP folder
      effect: destructive
      questions:
      - Can I remove a folder from the mail server?
      - What happens if I delete an IMAP folder I no longer use?
      instructions:
      - text: Delete this IMAP folder from my mailbox.
      - text: Remove the unused folder from the mail server.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/outbox'].get
  update:
    x-apievangelist-phrasing:
      intent: List outbox entries
      effect: read
      questions:
      - Which emails are still waiting in my outbox to be sent?
      - Can I see only scheduled outbox sends or only failed ones?
      instructions:
      - text: List outbox entries with status {status}.
        slots:
          status: query.status
      - text: Show my scheduled outbox sends, page {page}.
        slots:
          page: query.page
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/outbox/{id}/history'].get
  update:
    x-apievangelist-phrasing:
      intent: Read the history of one outbox task
      effect: read
      questions:
      - What happened to a particular queued email over time?
      - Can I page through the delivery history of one outbox send?
      instructions:
      - text: Show the history of outbox entry {id}.
        slots:
          id: path.id
      - text: Get the next {limit} history events for outbox task {id} after cursor {cursor}.
        slots:
          limit: query.limit
          id: path.id
          cursor: query.cursor
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/outbox/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Cancel a queued or failed outbox send
      effect: destructive
      questions:
      - Can I stop an email that is queued but hasn't gone out yet?
      - How do I cancel a failed send sitting in the outbox?
      instructions:
      - text: Cancel outbox entry {id}.
        slots:
          id: path.id
      - text: Stop the queued email {id} from being sent.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/outbox/{id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Reschedule a queued outbox send
      effect: write
      questions:
      - Can I change when a queued email is scheduled to go out?
      - Is it possible to clear the schedule on an outbox send so it goes immediately?
      instructions:
      - text: Reschedule outbox entry {id} to a new send time.
        slots:
          id: path.id
      - text: Clear the scheduled time on queued send {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/outbox/stats'].get
  update:
    x-apievangelist-phrasing:
      intent: Get outbox queue statistics
      effect: read
      questions:
      - How many emails are queued, sent or failed in my outbox?
      - What does the send queue look like right now?
      instructions:
      - text: Show me outbox queue statistics.
      - text: Count my queued and failed outgoing emails.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/outbox/{id}/retry'].post
  update:
    x-apievangelist-phrasing:
      intent: Retry a failed outbox send
      effect: write
      questions:
      - Can I manually resend an email that failed in the outbox?
      - What do I do when an outbox entry fails to deliver?
      instructions:
      - text: Retry failed outbox entry {id}.
        slots:
          id: path.id
      - text: Try sending outbox email {id} again.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/outbox/{id}/refresh-control'].post
  update:
    x-apievangelist-phrasing:
      intent: Check placement of a control email
      effect: write
      questions:
      - Did the control copy of my send land in the inbox or in spam?
      - Can I poll the inbox check for a control email's placement status?
      instructions:
      - text: Refresh the control email placement for outbox entry {id}.
        slots:
          id: path.id
      - text: Poll inbox placement of the control copy for send {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/outbox/{id}/resend-control'].post
  update:
    x-apievangelist-phrasing:
      intent: Resend the control copy of an outbox send
      effect: write
      questions:
      - Can I send the control copy of an outbox email again?
      - What if the placement-test copy of a send never arrived?
      instructions:
      - text: Re-enqueue the control copy for outbox entry {id}.
        slots:
          id: path.id
      - text: Send the placement control email for {id} again.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a single dialog
      effect: read
      questions:
      - Can I open one specific dialog by its ID?
      - What are the details of a single email conversation record?
      instructions:
      - text: Get dialog {id}.
        slots:
          id: path.id
      - text: Open the conversation record {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a dialog to trash
      effect: destructive
      questions:
      - How do I delete a conversation I don't need?
      - Can a deleted dialog still be restored afterwards?
      instructions:
      - text: Delete dialog {id}.
        slots:
          id: path.id
      - text: Move conversation {id} to the trash.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/{id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update a dialog or edit a queued message
      effect: write
      questions:
      - Can I edit an email that's queued in the outbox before it sends?
      - Is it possible to change a dialog's metadata after it arrives?
      instructions:
      - text: Update the metadata on dialog {id}.
        slots:
          id: path.id
      - text: Edit the text of queued outbox message {id} before it sends.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/{id}/mark-read'].post
  update:
    x-apievangelist-phrasing:
      intent: Mark a dialog as read
      effect: write
      questions:
      - Can I mark a conversation as read without opening it?
      - How do I clear the unread state on a dialog?
      instructions:
      - text: Mark dialog {id} as read.
        slots:
          id: path.id
      - text: Clear the unread flag on conversation {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/{id}/star'].post
  update:
    x-apievangelist-phrasing:
      intent: Star or unstar a dialog
      effect: write
      questions:
      - Can I star an important conversation to find it later?
      - How do I remove the star from a dialog?
      instructions:
      - text: Toggle the star on dialog {id}.
        slots:
          id: path.id
      - text: Star conversation {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/{id}/snooze'].post
  update:
    x-apievangelist-phrasing:
      intent: Snooze a dialog until later
      effect: write
      questions:
      - Can I hide a conversation until next week and have it come back?
      - Is there a way to snooze a dialog to a future time?
      instructions:
      - text: Snooze dialog {id} until Monday morning.
        slots:
          id: path.id
      - text: Hide conversation {id} until a later date.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/{id}/unsnooze'].post
  update:
    x-apievangelist-phrasing:
      intent: Unsnooze a dialog
      effect: write
      questions:
      - Can I bring a snoozed conversation back right now?
      - What if I need a snoozed dialog before its snooze time ends?
      instructions:
      - text: Unsnooze dialog {id} now.
        slots:
          id: path.id
      - text: Bring snoozed conversation {id} back to the inbox.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/{id}/reminder'].post
  update:
    x-apievangelist-phrasing:
      intent: Set a reminder on a dialog
      effect: write
      questions:
      - Can I get reminded to follow up on a conversation?
      - Is it possible to attach a follow-up reminder to a dialog?
      instructions:
      - text: Set a follow-up reminder on dialog {id}.
        slots:
          id: path.id
      - text: Remind me about conversation {id} on Friday.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/{id}/reminder/clear'].post
  update:
    x-apievangelist-phrasing:
      intent: Clear a dialog reminder
      effect: write
      questions:
      - How do I remove a reminder I set on a conversation?
      - Can I cancel a follow-up reminder that's no longer needed?
      instructions:
      - text: Clear the reminder on dialog {id}.
        slots:
          id: path.id
      - text: Remove the follow-up reminder from conversation {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/{id}/classify-reply'].post
  update:
    x-apievangelist-phrasing:
      intent: Classify a reply with AI
      effect: write
      questions:
      - Can AI tell me whether a reply is interested, out of office or a refusal?
      - How do I get an automatic classification of an incoming reply?
      instructions:
      - text: Run AI reply classification on dialog {id}.
        slots:
          id: path.id
      - text: Have AI categorize the reply in conversation {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/{id}/mark-type'].post
  update:
    x-apievangelist-phrasing:
      intent: Manually set a dialog's message type
      effect: write
      questions:
      - Can I override the message type the system assigned to a reply?
      - What if a dialog's marking is wrong and I want to set it by hand?
      instructions:
      - text: Manually mark the message type on dialog {id}.
        slots:
          id: path.id
      - text: Set the marking on conversation {id} to interested.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/{id}/action/unsubscribe'].post
  update:
    x-apievangelist-phrasing:
      intent: Process an unsubscribe from a dialog
      effect: write
      questions:
      - A recipient replied asking to unsubscribe; how do I process that from the conversation?
      - Can I trigger the unsubscribe action straight from a dialog?
      instructions:
      - text: Process the unsubscribe request in dialog {id}.
        slots:
          id: path.id
      - text: Unsubscribe the sender of conversation {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/{id}/action/bounce'].post
  update:
    x-apievangelist-phrasing:
      intent: Process a bounce on a dialog
      effect: write
      questions:
      - How should a hard or soft bounce message be handled from the inbox?
      - Can I record a dialog as a bounce so the address is treated accordingly?
      instructions:
      - text: Process dialog {id} as a hard bounce.
        slots:
          id: path.id
      - text: Apply the soft bounce action to conversation {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/{id}/action/spam'].post
  update:
    x-apievangelist-phrasing:
      intent: Mark a dialog as spam
      effect: write
      questions:
      - Can I flag an incoming conversation as spam?
      - What side effects happen when I mark a dialog as spam?
      instructions:
      - text: Mark dialog {id} as spam.
        slots:
          id: path.id
      - text: Flag conversation {id} as junk and apply the spam actions.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/{id}/action/stop-list'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a dialog's sender to the stop list
      effect: write
      questions:
      - Can I block the sender of a conversation from future mailings?
      - How do I put the person who replied onto the stop list from their dialog?
      instructions:
      - text: Add the sender of dialog {id} to the stop list.
        slots:
          id: path.id
      - text: Never email the person from conversation {id} again.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/{id}/generate-reply'].post
  update:
    x-apievangelist-phrasing:
      intent: Generate an AI reply draft
      effect: write
      questions:
      - Can AI draft a response to a conversation for me?
      - Is there a way to get a suggested reply before I send anything?
      instructions:
      - text: Generate an AI reply draft for dialog {id}.
        slots:
          id: path.id
      - text: Draft a suggested response to conversation {id} without sending it.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/{id}/reply'].post
  update:
    x-apievangelist-phrasing:
      intent: Reply to a dialog
      effect: write
      questions:
      - How do I answer an email conversation and send it over SMTP?
      - Can I attach files when replying to a dialog?
      - Which mailbox account will my reply be sent from?
      instructions:
      - text: 'Reply to dialog {id} with: {bodyText}'
        slots:
          id: path.id
          bodyText: requestBody.bodyText
      - text: Reply to conversation {id} from account {accountId} and send via SMTP.
        slots:
          id: path.id
          accountId: requestBody.accountId
      - text: Answer dialog {id} with subject {subject} and attach {attachments}.
        slots:
          id: path.id
          subject: requestBody.subject
          attachments: requestBody.attachments
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/{id}/forward'].post
  update:
    x-apievangelist-phrasing:
      intent: Forward a dialog to a new recipient
      effect: write
      questions:
      - Can I forward a conversation to a colleague's email?
      - Is it possible to add a note when forwarding a dialog?
      instructions:
      - text: Forward dialog {id} to {toEmail}.
        slots:
          id: path.id
          toEmail: requestBody.toEmail
      - text: Forward conversation {id} to {toName} at {toEmail} with the note {bodyText}.
        slots:
          id: path.id
          toName: requestBody.toName
          toEmail: requestBody.toEmail
          bodyText: requestBody.bodyText
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/compose'].post
  update:
    x-apievangelist-phrasing:
      intent: Compose and send a new email
      effect: write
      questions:
      - How do I send a brand-new outbound email that isn't a reply?
      - Can I schedule a new email to go out later in the recipient's timezone?
      - Can a new email be sent from a pool of relays instead of one fixed account?
      instructions:
      - text: Send a new email to {toEmail} with subject {subject} from account {accountId}.
        slots:
          toEmail: requestBody.toEmail
          subject: requestBody.subject
          accountId: requestBody.accountId
      - text: Compose an email to {toEmail} titled {subject} and schedule it for {scheduledAt} in {timezone}.
        slots:
          toEmail: requestBody.toEmail
          subject: requestBody.subject
          scheduledAt: requestBody.scheduledAt
          timezone: requestBody.timezone
      - text: Write to {toEmail} about {subject} using relay pool {accountListId} and link it to lead {leadId}.
        slots:
          toEmail: requestBody.toEmail
          subject: requestBody.subject
          accountListId: requestBody.accountListId
          leadId: requestBody.leadId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/{id}/auto-link'].post
  update:
    x-apievangelist-phrasing:
      intent: Auto-link a dialog to CRM records
      effect: write
      questions:
      - Can a conversation be matched to its contact, company and lead automatically?
      - What if an email isn't linked to anyone in my CRM yet?
      instructions:
      - text: Auto-link dialog {id} to the matching contact, company and lead.
        slots:
          id: path.id
      - text: Match conversation {id} to existing CRM records.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/{id}/create-lead'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a lead from a dialog
      effect: write
      questions:
      - Can I turn an interested reply into a new lead?
      - How do I start a deal straight from an email conversation?
      instructions:
      - text: Create a new lead from dialog {id}.
        slots:
          id: path.id
      - text: Turn conversation {id} into a lead in the pipeline.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/{id}/extract-entities'].post
  update:
    x-apievangelist-phrasing:
      intent: Extract company and contact details with AI
      effect: write
      questions:
      - Can AI pull the company and contact details out of an email signature?
      - Which company and person does a conversation mention, according to AI extraction?
      instructions:
      - text: Run AI entity extraction on dialog {id}.
        slots:
          id: path.id
      - text: Pull company and contact details out of conversation {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/{id}/track/set-token'].post
  update:
    x-apievangelist-phrasing:
      intent: Set the tracking token on a dialog
      effect: write
      questions:
      - Can I assign an open-and-click tracking token to a specific dialog?
      - Where is the internal tracking token for a conversation set?
      instructions:
      - text: Set the tracking token on dialog {id}.
        slots:
          id: path.id
      - text: Attach an internal tracking token to conversation {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/track/open'].post
  update:
    x-apievangelist-phrasing:
      intent: Record an email open event
      effect: write
      questions:
      - How is an email open recorded against a conversation?
      - Can I log that a recipient opened my message?
      instructions:
      - text: Record an email-open tracking event.
      - text: Log that the recipient opened this tracked email.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/track/click'].post
  update:
    x-apievangelist-phrasing:
      intent: Record an email click event
      effect: write
      questions:
      - How is a link click in a sent email recorded?
      - Can I log that a recipient clicked a link in my message?
      instructions:
      - text: Record an email-click tracking event.
      - text: Log that the recipient clicked a link in this tracked email.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/{id}/restore'].post
  update:
    x-apievangelist-phrasing:
      intent: Restore a deleted dialog
      effect: write
      questions:
      - Can I get back a conversation I deleted by mistake?
      - How do I move a dialog out of the trash and back to new?
      instructions:
      - text: Restore deleted dialog {id}.
        slots:
          id: path.id
      - text: Bring conversation {id} back from the trash.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/{id}/purge'].delete
  update:
    x-apievangelist-phrasing:
      intent: Permanently purge a trashed dialog
      effect: destructive
      questions:
      - Can I permanently erase a conversation that's already in the trash?
      - Is purging a trashed dialog irreversible?
      instructions:
      - text: Permanently purge trashed dialog {id}.
        slots:
          id: path.id
      - text: Erase conversation {id} from the trash for good.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/dialogs/{id}/share'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a public share link for a dialog
      effect: write
      questions:
      - Can I share a conversation with someone outside the app via a link?
      - How long does a shared dialog link stay valid?
      instructions:
      - text: Generate a public share link for dialog {id}.
        slots:
          id: path.id
      - text: Create a 30-day share token for conversation {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'