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.
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
# 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'