ThousandEyes · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for ThousandEyes Dashboards API

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

What the actions change

x-apievangelist-phrasing

Targets 12

$.info
$.paths['/dashboards'].get
$.paths['/dashboards'].post
$.paths['/dashboards/{dashboardId}'].get
$.paths['/dashboards/{dashboardId}'].put
$.paths['/dashboards/{dashboardId}'].delete
$.paths['/dashboards/{dashboardId}/clone'].post
$.paths['/dashboards/{dashboardId}/actions/schedule'].put
$.paths['/dashboards/{dashboardId}/actions/schedule'].delete
$.paths['/dashboards/{dashboardId}/widgets/{widgetId}'].get
$.paths['/dashboards/{dashboardId}/widgets/{widgetId}/cards/{cardId}'].get
$.paths['/dashboards/{dashboardId}/widgets/{widgetId}/columns/{columnId}'].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 ThousandEyes Dashboards API
  version: 1.0.0
extends: openapi/thousandeyes-dashboards-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: 11
- target: $.paths['/dashboards'].get
  update:
    x-apievangelist-phrasing:
      intent: List dashboards in an account group
      effect: read
      questions:
      - Which dashboards exist in my ThousandEyes account group?
      - Can I see the settings of every dashboard we have, not just one?
      instructions:
      - text: List all my dashboards.
      - text: Show every dashboard in account group {aid}.
        slots:
          aid: query.aid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/dashboards'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a new dashboard
      effect: write
      questions:
      - What permissions do I need to build a brand-new dashboard?
      - Can I make a new dashboard private to just me?
      instructions:
      - text: Create a dashboard called {title}.
        slots:
          title: requestBody.title
      - text: Create a private dashboard named {title} with description {description}.
        slots:
          title: requestBody.title
          description: requestBody.description
      method: generated
      generated: '2026-09-26'
- target: $.paths['/dashboards/{dashboardId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a dashboard and its widgets
      effect: read
      questions:
      - What widgets are on a particular dashboard?
      - Where can I read one dashboard's title, layout and metadata?
      instructions:
      - text: Show me dashboard {dashboardId} with its widgets.
        slots:
          dashboardId: path.dashboardId
      - text: Open the details of dashboard {dashboardId}.
        slots:
          dashboardId: path.dashboardId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/dashboards/{dashboardId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update an existing dashboard
      effect: write
      questions:
      - Can I rename a dashboard or change its widgets after it's built?
      - Who is allowed to edit a dashboard template shared across the account group?
      instructions:
      - text: Rename dashboard {dashboardId} to {title}.
        slots:
          dashboardId: path.dashboardId
          title: requestBody.title
      - text: Change the refresh rate of dashboard {dashboardId} to {refreshRate}.
        slots:
          dashboardId: path.dashboardId
          refreshRate: requestBody.refreshRate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/dashboards/{dashboardId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a dashboard
      effect: destructive
      questions:
      - Can I permanently remove a dashboard I no longer use?
      - What happens to a dashboard template when an admin deletes it?
      instructions:
      - text: Delete dashboard {dashboardId}.
        slots:
          dashboardId: path.dashboardId
      - text: Remove the dashboard {dashboardId} from account group {aid}.
        slots:
          dashboardId: path.dashboardId
          aid: query.aid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/dashboards/{dashboardId}/clone'].post
  update:
    x-apievangelist-phrasing:
      intent: Clone a dashboard into a copy
      effect: write
      questions:
      - Can I copy an existing dashboard instead of rebuilding its widgets?
      - Does a cloned dashboard keep the original's layout and timespan?
      instructions:
      - text: Clone dashboard {dashboardId} as {title}.
        slots:
          dashboardId: path.dashboardId
          title: requestBody.title
      - text: Duplicate dashboard {dashboardId} and share the copy with all account groups.
        slots:
          dashboardId: path.dashboardId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/dashboards/{dashboardId}/actions/schedule'].put
  update:
    x-apievangelist-phrasing:
      intent: Schedule dashboard snapshots
      effect: write
      questions:
      - Can I have snapshots of a dashboard generated on a recurring schedule?
      - Is it possible to email a PDF of dashboard snapshots to recipients?
      instructions:
      - text: Schedule snapshots of dashboard {dashboardId} on cron {cronSpec} covering {dataTimespan}.
        slots:
          dashboardId: path.dashboardId
          cronSpec: requestBody.cronSpec
          dataTimespan: requestBody.dataTimespan
      - text: Send dashboard {dashboardId} snapshots to {recipients} with the PDF attached.
        slots:
          dashboardId: path.dashboardId
          recipients: requestBody.recipients
      method: generated
      generated: '2026-09-26'
- target: $.paths['/dashboards/{dashboardId}/actions/schedule'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove a dashboard's snapshot schedule
      effect: destructive
      questions:
      - Can I stop recurring snapshots of a dashboard without losing the old ones?
      - Are existing snapshots kept when a dashboard's schedule is removed?
      instructions:
      - text: Stop the snapshot schedule on dashboard {dashboardId}.
        slots:
          dashboardId: path.dashboardId
      - text: Delete the recurring snapshot schedule for dashboard {dashboardId}.
        slots:
          dashboardId: path.dashboardId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/dashboards/{dashboardId}/widgets/{widgetId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the raw data behind a widget
      effect: read
      questions:
      - Can I pull the raw numbers a dashboard widget is charting?
      - Is widget data available for a custom date range?
      instructions:
      - text: Get the data for widget {widgetId} on dashboard {dashboardId}.
        slots:
          widgetId: path.widgetId
          dashboardId: path.dashboardId
      - text: Fetch widget {widgetId} data on dashboard {dashboardId} from {startDate} to {endDate}.
        slots:
          widgetId: path.widgetId
          dashboardId: path.dashboardId
          startDate: query.startDate
          endDate: query.endDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/dashboards/{dashboardId}/widgets/{widgetId}/cards/{cardId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one card's data from a numbers widget
      effect: read
      questions:
      - Can I read the value behind a single card in a numbers widget?
      - Which endpoint gives me one numbers-widget card over a time window?
      instructions:
      - text: Get card {cardId} from numbers widget {widgetId} on dashboard {dashboardId}.
        slots:
          cardId: path.cardId
          widgetId: path.widgetId
          dashboardId: path.dashboardId
      - text: Show card {cardId} of widget {widgetId} on dashboard {dashboardId} for the last {window}.
        slots:
          cardId: path.cardId
          widgetId: path.widgetId
          dashboardId: path.dashboardId
          window: query.window
      method: generated
      generated: '2026-09-26'
- target: $.paths['/dashboards/{dashboardId}/widgets/{widgetId}/columns/{columnId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one column from a multi-metric table
      effect: read
      questions:
      - Can I pull just one column out of a multi-metric table widget?
      - What does a single column of a multi-metric table contain?
      instructions:
      - text: Get column {columnId} of table widget {widgetId} on dashboard {dashboardId}.
        slots:
          columnId: path.columnId
          widgetId: path.widgetId
          dashboardId: path.dashboardId
      - text: Fetch multi-metric column {columnId} from widget {widgetId} on dashboard {dashboardId} between {startDate} and {endDate}.
        slots:
          columnId: path.columnId
          widgetId: path.widgetId
          dashboardId: path.dashboardId
          startDate: query.startDate
          endDate: query.endDate
      method: generated
      generated: '2026-09-26'