Live Direct Marketing · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Live Direct Marketing Online Reports API

15 actions 15 updates phrasing extends openapi/live-direct-marketing-online-reports-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 15

$.info
$.paths['/api/reports/{token}'].get
$.paths['/api/reports/{token}/pdf'].get
$.paths['/api/reports'].get
$.paths['/api/reports'].post
$.paths['/api/reports/limits'].get
$.paths['/api/reports/upload'].post
$.paths['/api/reports/from-export/{exportJobId}'].post
$.paths['/api/reports/{id}'].get
$.paths['/api/reports/{id}'].delete
$.paths['/api/reports/{id}'].patch
$.paths['/api/reports/{id}/publish'].post
$.paths['/api/reports/{id}/unpublish'].post
$.paths['/api/reports/{id}/rotate-token'].post
$.paths['/api/reports/{id}/download'].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 Reports API
  version: 1.0.0
extends: openapi/live-direct-marketing-online-reports-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: 14
- target: $.paths['/api/reports/{token}'].get
  update:
    x-apievangelist-phrasing:
      intent: Open a published report by its public token
      effect: read
      questions:
      - What does someone see when they open a public report link?
      - Can a report be viewed by its share token without logging in?
      instructions:
      - text: Open the public report with token {token}.
        slots:
          token: path.token
      - text: Show the shared report behind link token {token}.
        slots:
          token: path.token
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/reports/{token}/pdf'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a public report as a PDF
      effect: read
      questions:
      - Can I get a shared report as a PDF file?
      - Is the public report PDF available in another language?
      instructions:
      - text: Download the PDF of public report {token}.
        slots:
          token: path.token
      - text: Get the PDF for report link {token} in language {lang}.
        slots:
          token: path.token
          lang: query.lang
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/reports'].get
  update:
    x-apievangelist-phrasing:
      intent: List reports and storage quota
      effect: read
      questions:
      - Which reports have been saved in my workspace?
      - Can I search my reports by title or filter them by source?
      instructions:
      - text: List my reports, page {page} with {pageSize} per page.
        slots:
          page: query.page
          pageSize: query.pageSize
      - text: Find reports matching {q} from source {source}.
        slots:
          q: query.q
          source: query.source
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/reports'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a report from base64 content
      effect: write
      questions:
      - How can an agent save a file as a report without a multipart upload?
      - What's the size limit for a report sent as base64?
      instructions:
      - text: Save {fileName} as report {title} described as {description} from content {contentBase64}.
        slots:
          fileName: requestBody.fileName
          title: requestBody.title
          description: requestBody.description
          contentBase64: requestBody.contentBase64
      - text: Create report {title} with description {description} from base64 file {fileName} using {contentBase64}.
        slots:
          title: requestBody.title
          description: requestBody.description
          fileName: requestBody.fileName
          contentBase64: requestBody.contentBase64
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/reports/limits'].get
  update:
    x-apievangelist-phrasing:
      intent: Check report storage limits and usage
      effect: read
      questions:
      - How much report storage have I used so far?
      - What are the storage limits for reports in my workspace?
      instructions:
      - text: Show my report storage limits and current usage.
      - text: Check how much report space I have left.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/reports/upload'].post
  update:
    x-apievangelist-phrasing:
      intent: Upload a report file
      effect: write
      questions:
      - Can I upload a spreadsheet or PDF as a report from my computer?
      - Does a multipart report upload need a description?
      instructions:
      - text: Upload {file} as report {title} with description {description}.
        slots:
          file: requestBody.file
          title: requestBody.title
          description: requestBody.description
      - text: Add file {file} to my reports as {title}, noting {description}.
        slots:
          file: requestBody.file
          title: requestBody.title
          description: requestBody.description
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/reports/from-export/{exportJobId}'].post
  update:
    x-apievangelist-phrasing:
      intent: Save a finished export as a report
      effect: write
      questions:
      - Can a completed export be kept as a report?
      - Will the export download link still work after I register it as a report?
      instructions:
      - text: Register export job {exportJobId} as a report.
        slots:
          exportJobId: path.exportJobId
      - text: Turn export {exportJobId} into a report titled {title}.
        slots:
          exportJobId: path.exportJobId
          title: requestBody.title
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/reports/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one report
      effect: read
      questions:
      - Can I view the details of one of my saved reports?
      - What's recorded about a specific report, like its title and source?
      instructions:
      - text: Get report {id}.
        slots:
          id: path.id
      - text: Show the details of saved report {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/reports/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a report
      effect: destructive
      questions:
      - Does deleting a report also remove its file?
      - How do I free up report storage by removing an old report?
      instructions:
      - text: Delete report {id} and its file.
        slots:
          id: path.id
      - text: Remove saved report {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/reports/{id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Rename or redescribe a report
      effect: write
      questions:
      - Can I change a report's title after saving it?
      - Is it possible to edit the description on an existing report?
      instructions:
      - text: Rename report {id} to {title}.
        slots:
          id: path.id
          title: requestBody.title
      - text: Change the description of report {id} to {description}.
        slots:
          id: path.id
          description: requestBody.description
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/reports/{id}/publish'].post
  update:
    x-apievangelist-phrasing:
      intent: Publish a public download link for a report
      effect: write
      questions:
      - Can I share a report with anyone through a public download link?
      - Is a published report link protected by a login?
      instructions:
      - text: Publish report {id} with a public download link.
        slots:
          id: path.id
      - text: Make report {id} downloadable by anyone and give me the URL.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/reports/{id}/unpublish'].post
  update:
    x-apievangelist-phrasing:
      intent: Close a report's public link
      effect: write
      questions:
      - How do I stop sharing a report publicly?
      - If I unpublish a report and publish it again, is the link the same?
      instructions:
      - text: Unpublish report {id}.
        slots:
          id: path.id
      - text: Close the public link on report {id} for now.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/reports/{id}/rotate-token'].post
  update:
    x-apievangelist-phrasing:
      intent: Rotate a report's public link token
      effect: destructive
      questions:
      - A public report link leaked; can I kill it and issue a new one?
      - What happens to the old link when the report token is rotated?
      instructions:
      - text: Rotate the public token for report {id}.
        slots:
          id: path.id
      - text: Invalidate the old share link of report {id} immediately.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/reports/{id}/download'].get
  update:
    x-apievangelist-phrasing:
      intent: Download a report file
      effect: read
      questions:
      - Can I download one of my own report files while signed in?
      - Where do I get the original file behind a saved report?
      instructions:
      - text: Download the file for report {id}.
        slots:
          id: path.id
      - text: Fetch report {id}'s file with my credentials.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'