Progress Software · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for WhatsUp Gold Device API

64 actions 64 updates phrasing extends openapi/progress-software-device-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Progress Software's API. It is a proposal applied on top of the contract, not a document Progress Software publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

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

$.info
$.paths['/api/v1/devices/{deviceId}/attributes/{attributeId}'].get
$.paths['/api/v1/devices/{deviceId}/attributes/{attributeId}'].put
$.paths['/api/v1/devices/{deviceId}/attributes/{attributeId}'].delete
$.paths['/api/v1/devices/{deviceId}/attributes/-'].get
$.paths['/api/v1/devices/{deviceId}/attributes/-'].post
$.paths['/api/v1/devices/{deviceId}/attributes/-'].delete
$.paths['/api/v1/devices/{deviceId}/attributes/-'].patch
$.paths['/api/v1/devices/{deviceId}/group/{groupId}'].delete
$.paths['/api/v1/devices/{deviceId}/group/-'].get
$.paths['/api/v1/devices/{deviceId}/group/-'].put
$.paths['/api/v1/devices/{deviceId}/group/-'].patch
$.paths['/api/v1/devices/{deviceId}/group/{groupId}/is-member'].get
$.paths['/api/v1/devices/{deviceId}/interfaces/default'].get
$.paths['/api/v1/devices/{deviceId}/interfaces/{interfaceId}'].get
$.paths['/api/v1/devices/{deviceId}/interfaces/{interfaceId}'].put

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 WhatsUp Gold Device API
  version: 1.0.0
extends: openapi/progress-software-device-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: 63
- target: $.paths['/api/v1/devices/{deviceId}/attributes/{attributeId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one custom attribute on a device
      effect: read
      questions:
      - What value does a single custom attribute hold on one of my WhatsUp Gold devices?
      - Can I look up one specific device attribute by its ID?
      instructions:
      - text: Show attribute {attributeId} on device {deviceId}.
        slots:
          attributeId: path.attributeId
          deviceId: path.deviceId
      - text: Fetch the name and value of device attribute {attributeId} for {deviceId}.
        slots:
          attributeId: path.attributeId
          deviceId: path.deviceId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/attributes/{attributeId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Change an existing device attribute
      effect: write
      questions:
      - How can I rename or change the value of an attribute already on a device?
      - Is it possible to edit one existing device attribute without touching the others?
      instructions:
      - text: Set existing attribute {attributeId} on device {deviceId} to name {name} with value {value}.
        slots:
          attributeId: path.attributeId
          deviceId: path.deviceId
          name: query.name
          value: query.value
      - text: Rename attribute {attributeId} on device {deviceId} to {name}.
        slots:
          attributeId: path.attributeId
          deviceId: path.deviceId
          name: query.name
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/attributes/{attributeId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete one attribute from a device
      effect: destructive
      questions:
      - How do I remove a single custom attribute from a device?
      - Can I delete just one attribute by ID and keep the rest on the device?
      instructions:
      - text: Delete attribute {attributeId} from device {deviceId}.
        slots:
          attributeId: path.attributeId
          deviceId: path.deviceId
      - text: Remove only the attribute {attributeId} on {deviceId}.
        slots:
          attributeId: path.attributeId
          deviceId: path.deviceId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/attributes/-'].get
  update:
    x-apievangelist-phrasing:
      intent: List a device's custom attributes
      effect: read
      questions:
      - Which custom attributes are set on this device?
      - Can I filter a device's attributes by text in the name or the value?
      - What attributes on a device have a value containing a certain string?
      instructions:
      - text: List all attributes on device {deviceId}.
        slots:
          deviceId: path.deviceId
      - text: Find attributes on device {deviceId} whose name contains {nameContains}.
        slots:
          deviceId: path.deviceId
          nameContains: query.nameContains
      - text: Show up to {limit} attributes on {deviceId} with values containing {valueContains}.
        slots:
          limit: query.limit
          deviceId: path.deviceId
          valueContains: query.valueContains
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/attributes/-'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a new custom attribute to a device
      effect: write
      questions:
      - How do I tag a device with a new name/value attribute?
      - Can I attach a custom attribute like a location or owner to a monitored device?
      instructions:
      - text: Add attribute {name} with value {value} to device {deviceId}.
        slots:
          name: query.name
          value: query.value
          deviceId: path.deviceId
      - text: Create a new attribute named {name} on device {deviceId}.
        slots:
          name: query.name
          deviceId: path.deviceId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/attributes/-'].delete
  update:
    x-apievangelist-phrasing:
      intent: Clear all or matching attributes from a device
      effect: destructive
      questions:
      - How do I wipe every custom attribute off a device at once?
      - Can I bulk-remove only the device attributes whose names match a pattern?
      instructions:
      - text: Delete every attribute on device {deviceId}.
        slots:
          deviceId: path.deviceId
      - text: Remove all attributes on {deviceId} whose name contains {nameContains}.
        slots:
          deviceId: path.deviceId
          nameContains: query.nameContains
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/attributes/-'].patch
  update:
    x-apievangelist-phrasing:
      intent: Add, change and remove device attributes in one call
      effect: write
      questions:
      - Can I add new attributes and delete old ones on a device in a single request?
      - Is there a batch way to modify several attributes of one device together?
      instructions:
      - text: On device {deviceId}, add attributes {attributesToAdd} and delete attributes named {attributeNamesToDelete} in one batch.
        slots:
          deviceId: path.deviceId
          attributesToAdd: requestBody.attributesToAdd
          attributeNamesToDelete: requestBody.attributeNamesToDelete
      - text: Run a batch attribute change on {deviceId} that modifies {attributeToModify}.
        slots:
          deviceId: path.deviceId
          attributeToModify: requestBody.attributeToModify
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/group/{groupId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove a device from one static group
      effect: destructive
      questions:
      - How do I take a device out of a static device group?
      - Why can't I remove a device's last static group or a dynamic group assignment?
      instructions:
      - text: Remove device {deviceId} from group {groupId}.
        slots:
          deviceId: path.deviceId
          groupId: path.groupId
      - text: Unassign group {groupId} from device {deviceId}.
        slots:
          groupId: path.groupId
          deviceId: path.deviceId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/group/-'].get
  update:
    x-apievangelist-phrasing:
      intent: List the groups a device belongs to
      effect: read
      questions:
      - Which device groups is this device a member of?
      - Can I filter a device's group memberships by group type?
      instructions:
      - text: List the groups device {deviceId} is assigned to.
        slots:
          deviceId: path.deviceId
      - text: Show {type} group assignments for device {deviceId}.
        slots:
          type: query.type
          deviceId: path.deviceId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/group/-'].put
  update:
    x-apievangelist-phrasing:
      intent: Assign a device to a group
      effect: write
      questions:
      - How do I put a device into a device group?
      - Can I add a single group assignment to an existing device?
      instructions:
      - text: Assign device {deviceId} to a device group.
        slots:
          deviceId: path.deviceId
      - text: Add a group membership to device {deviceId}.
        slots:
          deviceId: path.deviceId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/group/-'].patch
  update:
    x-apievangelist-phrasing:
      intent: Add and remove several group memberships at once
      effect: write
      questions:
      - Can I move a device between groups by adding and removing memberships in one request?
      - Is there a batch call to change many group assignments for one device?
      instructions:
      - text: For device {deviceId}, add groups {groupsToAdd} and remove groups {groupsToDelete} in one batch.
        slots:
          deviceId: path.deviceId
          groupsToAdd: requestBody.groupsToAdd
          groupsToDelete: requestBody.groupsToDelete
      - text: Batch-remove group memberships {groupsToDelete} from device {deviceId}.
        slots:
          groupsToDelete: requestBody.groupsToDelete
          deviceId: path.deviceId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/group/{groupId}/is-member'].get
  update:
    x-apievangelist-phrasing:
      intent: Check whether a device is in a group
      effect: read
      questions:
      - Is a particular device a member of a given group?
      - How can I confirm a device was added to a group before running a report?
      instructions:
      - text: Check if device {deviceId} is a member of group {groupId}.
        slots:
          deviceId: path.deviceId
          groupId: path.groupId
      - text: Confirm group {groupId} membership for {deviceId}.
        slots:
          groupId: path.groupId
          deviceId: path.deviceId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/interfaces/default'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a device's default network interface
      effect: read
      questions:
      - Which network interface is the default one used for a device?
      - What address does a device's primary interface use?
      instructions:
      - text: Show the default network interface of device {deviceId}.
        slots:
          deviceId: path.deviceId
      - text: Get the primary interface address for {deviceId}.
        slots:
          deviceId: path.deviceId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/interfaces/{interfaceId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one network interface on a device
      effect: read
      questions:
      - How do I look up the details of a specific network interface by its ID?
      - Can I see the host name and address configured on one device interface?
      instructions:
      - text: Show interface {interfaceId} on device {deviceId}.
        slots:
          interfaceId: path.interfaceId
          deviceId: path.deviceId
      - text: Fetch network interface {interfaceId} details for {deviceId}.
        slots:
          interfaceId: path.interfaceId
          deviceId: path.deviceId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/interfaces/{interfaceId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Edit a device's network interface
      effect: write
      questions:
      - How do I change the IP address on an existing device interface?
      - Can I make an existing interface the default or poll it by host name?
      instructions:
      - text: Change interface {interfaceId} on device {deviceId} to address {address}.
        slots:
          interfaceId: path.interfaceId
          deviceId: path.deviceId
          address: requestBody.address
      - text: Make interface {interfaceId} the default for device {deviceId}.
        slots:
          interfaceId: path.interfaceId
          deviceId: path.deviceId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/interfaces/{interfaceId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete one network interface from a device
      effect: destructive
      questions:
      - How do I remove a stale network interface from a device?
      - Can I delete one specific interface by its ID?
      instructions:
      - text: Delete interface {interfaceId} from device {deviceId}.
        slots:
          interfaceId: path.interfaceId
          deviceId: path.deviceId
      - text: Remove network interface {interfaceId} on {deviceId}.
        slots:
          interfaceId: path.interfaceId
          deviceId: path.deviceId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/interfaces/-'].get
  update:
    x-apievangelist-phrasing:
      intent: List a device's network interfaces
      effect: read
      questions:
      - What network interfaces does a device have?
      - Can I search a device's interfaces by address or host name?
      instructions:
      - text: List the network interfaces on device {deviceId}.
        slots:
          deviceId: path.deviceId
      - text: Search interfaces on {deviceId} for {search}.
        slots:
          deviceId: path.deviceId
          search: query.search
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/interfaces/-'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a network interface to a device
      effect: write
      questions:
      - How do I add a second IP address or interface to a monitored device?
      - Can a newly added interface be set as the device's default?
      instructions:
      - text: Add a network interface with address {address} to device {deviceId}.
        slots:
          address: requestBody.address
          deviceId: path.deviceId
      - text: Add interface host name {hostName} to {deviceId} and poll it by name.
        slots:
          hostName: requestBody.hostName
          deviceId: path.deviceId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/interfaces/-'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove all non-default interfaces from a device
      effect: destructive
      questions:
      - How do I strip every interface except the default one off a device?
      - Is there a way to clear extra network interfaces in one go?
      instructions:
      - text: Delete all network interfaces on device {deviceId} except the default.
        slots:
          deviceId: path.deviceId
      - text: Clear the extra interfaces from {deviceId}.
        slots:
          deviceId: path.deviceId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/interfaces/-'].patch
  update:
    x-apievangelist-phrasing:
      intent: Add, change and remove device interfaces in one call
      effect: write
      questions:
      - Can I add some interfaces and delete others on a device in one batch?
      - Is there a way to remove interfaces by address or host name while adding new ones?
      instructions:
      - text: On device {deviceId}, add interfaces {interfacesToAdd} and delete those at {addressOrHostNameToDelete} in one batch.
        slots:
          deviceId: path.deviceId
          interfacesToAdd: requestBody.interfacesToAdd
          addressOrHostNameToDelete: requestBody.addressOrHostNameToDelete
      - text: Run a batch interface change on {deviceId} that modifies {interfaceToModify}.
        slots:
          deviceId: path.deviceId
          interfaceToModify: requestBody.interfaceToModify
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/credentials/{credentialId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove one credential from a device
      effect: destructive
      questions:
      - How do I unassign a specific credential from a device?
      - Can I keep active monitors from being orphaned when I remove a device credential?
      instructions:
      - text: Remove credential {credentialId} from device {deviceId}.
        slots:
          credentialId: path.credentialId
          deviceId: path.deviceId
      - text: Unassign credential {credentialId} from {deviceId} and prevent orphaned active monitors.
        slots:
          credentialId: path.credentialId
          deviceId: path.deviceId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/credentials/-'].get
  update:
    x-apievangelist-phrasing:
      intent: List credentials assigned to a device
      effect: read
      questions:
      - Which credentials does a device use for polling?
      - Can I see only the SNMP or WMI credentials assigned to a device?
      instructions:
      - text: List the credentials assigned to device {deviceId}.
        slots:
          deviceId: path.deviceId
      - text: Show {type} credentials on {deviceId}.
        slots:
          type: query.type
          deviceId: path.deviceId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/credentials/-'].put
  update:
    x-apievangelist-phrasing:
      intent: Assign a credential to a device
      effect: write
      questions:
      - How do I give a device a credential so it can be polled?
      - Can I attach a new credential to an existing device?
      instructions:
      - text: Assign a credential to device {deviceId}.
        slots:
          deviceId: path.deviceId
      - text: Attach polling credentials to {deviceId}.
        slots:
          deviceId: path.deviceId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/credentials/-'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove a device's credentials by type
      effect: destructive
      questions:
      - How do I remove all credentials of one type from a device?
      - Can I clear every credential on a device without naming each ID?
      instructions:
      - text: Remove all {type} credentials from device {deviceId}.
        slots:
          type: query.type
          deviceId: path.deviceId
      - text: Clear every assigned credential on {deviceId}.
        slots:
          deviceId: path.deviceId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/monitors/{assignmentId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one monitor assignment on a device
      effect: read
      questions:
      - What are the settings of one specific monitor assigned to a device?
      - Can I check whether a particular monitor assignment is enabled?
      instructions:
      - text: Show monitor assignment {assignmentId} on device {deviceId}.
        slots:
          assignmentId: path.assignmentId
          deviceId: path.deviceId
      - text: Get the details of monitor {assignmentId} for {deviceId}.
        slots:
          assignmentId: path.assignmentId
          deviceId: path.deviceId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/monitors/{assignmentId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Enable, disable or change a device's monitor
      effect: write
      questions:
      - How do I disable one monitor on a device without removing it?
      - Can I change the active or performance settings of an assigned monitor?
      instructions:
      - text: Disable monitor assignment {assignmentId} on device {deviceId}.
        slots:
          assignmentId: path.assignmentId
          deviceId: path.deviceId
      - text: Set monitor {assignmentId} on {deviceId} to enabled={enabled}.
        slots:
          assignmentId: path.assignmentId
          deviceId: path.deviceId
          enabled: requestBody.enabled
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/monitors/{assignmentId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove one monitor from a device
      effect: destructive
      questions:
      - How do I unassign a single monitor from a device?
      - Can I delete one monitor assignment by its ID?
      instructions:
      - text: Remove monitor assignment {assignmentId} from device {deviceId}.
        slots:
          assignmentId: path.assignmentId
          deviceId: path.deviceId
      - text: Delete the monitor {assignmentId} on {deviceId}.
        slots:
          assignmentId: path.assignmentId
          deviceId: path.deviceId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/monitors/-'].get
  update:
    x-apievangelist-phrasing:
      intent: List monitors assigned to a device
      effect: read
      questions:
      - Which monitors are watching this device?
      - Can I list only the enabled active monitors on a device?
      - What performance monitors are assigned to a device?
      instructions:
      - text: List the monitors assigned to device {deviceId}.
        slots:
          deviceId: path.deviceId
      - text: Show only enabled {type} monitors on {deviceId}.
        slots:
          type: query.type
          deviceId: path.deviceId
      - text: Find monitors on {deviceId} matching {search}.
        slots:
          deviceId: path.deviceId
          search: query.search
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/monitors/-'].post
  update:
    x-apievangelist-phrasing:
      intent: Assign a monitor to a device
      effect: write
      questions:
      - How do I start monitoring a device with an active or performance monitor?
      - Can I assign a monitor to a device by its monitor type name?
      instructions:
      - text: Assign monitor type {monitorTypeName} to device {deviceId}.
        slots:
          monitorTypeName: requestBody.monitorTypeName
          deviceId: path.deviceId
      - text: Add a {type} monitor with type ID {monitorTypeId} to {deviceId}.
        slots:
          type: requestBody.type
          monitorTypeId: requestBody.monitorTypeId
          deviceId: path.deviceId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/monitors/-'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove monitors from a device by type or search
      effect: destructive
      questions:
      - How do I remove all passive monitors from a device at once?
      - Can I bulk-unassign monitors on a device that match a search term?
      instructions:
      - text: Remove all {type} monitors from device {deviceId}.
        slots:
          type: query.type
          deviceId: path.deviceId
      - text: Unassign every monitor on {deviceId} matching {search}.
        slots:
          deviceId: path.deviceId
          search: query.search
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/monitors/-'].patch
  update:
    x-apievangelist-phrasing:
      intent: Batch-change a device's monitor assignments
      effect: write
      questions:
      - Can I add new monitors and remove old ones on a device in one request?
      - Is there a batch call to change several monitor assignments on a device?
      instructions:
      - text: On device {deviceId}, add monitor assignments {newAssignments} and remove {remove} in one batch.
        slots:
          deviceId: path.deviceId
          newAssignments: requestBody.newAssignments
          remove: requestBody.remove
      - text: Apply monitor assignment changes {assignmentChanges} to {deviceId}.
        slots:
          assignmentChanges: requestBody.assignmentChanges
          deviceId: path.deviceId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/config/polling'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a device's polling settings
      effect: read
      questions:
      - How often is a device being polled?
      - What is the current polling interval for one device?
      instructions:
      - text: Show the polling configuration for device {deviceId}.
        slots:
          deviceId: path.deviceId
      - text: Get the polling interval of {deviceId}.
        slots:
          deviceId: path.deviceId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/config/polling'].put
  update:
    x-apievangelist-phrasing:
      intent: Change one device's polling interval
      effect: write
      questions:
      - How do I make a single device get polled more often?
      - Can I set a custom polling interval in seconds for one device?
      instructions:
      - text: Set the polling interval of device {deviceId} to {pollingIntervalSeconds} seconds.
        slots:
          deviceId: path.deviceId
          pollingIntervalSeconds: requestBody.pollingIntervalSeconds
      - text: Poll {deviceId} every {pollingIntervalSeconds} seconds.
        slots:
          deviceId: path.deviceId
          pollingIntervalSeconds: requestBody.pollingIntervalSeconds
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/config/maintenance'].put
  update:
    x-apievangelist-phrasing:
      intent: Put one device into or out of maintenance mode
      effect: write
      questions:
      - How do I put a device in maintenance mode so it stops alerting?
      - Can I set an end time and reason when placing a device in maintenance right now?
      instructions:
      - text: Put device {deviceId} into maintenance until {endUtc} because {reason}.
        slots:
          deviceId: path.deviceId
          endUtc: requestBody.endUtc
          reason: requestBody.reason
      - text: Take device {deviceId} out of maintenance mode.
        slots:
          deviceId: path.deviceId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/config/maintenance/schedule'].put
  update:
    x-apievangelist-phrasing:
      intent: Schedule maintenance windows for one device
      effect: write
      questions:
      - Can I schedule recurring maintenance windows for a single device?
      - How do I plan future maintenance for one device instead of starting it now?
      instructions:
      - text: Set maintenance schedules {schedules} on device {deviceId}.
        slots:
          schedules: requestBody.schedules
          deviceId: path.deviceId
      - text: Schedule a maintenance window for {deviceId}.
        slots:
          deviceId: path.deviceId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/poll-now'].put
  update:
    x-apievangelist-phrasing:
      intent: Poll one device immediately
      effect: write
      questions:
      - How do I force an immediate poll of a device instead of waiting for its interval?
      - Does polling a device now change its regular polling schedule?
      instructions:
      - text: Poll device {deviceId} right now.
        slots:
          deviceId: path.deviceId
      - text: Trigger an immediate poll of {deviceId}.
        slots:
          deviceId: path.deviceId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/-/config/maintenance'].patch
  update:
    x-apievangelist-phrasing:
      intent: Put many devices into maintenance mode
      effect: write
      questions:
      - Can I put a whole list of devices in maintenance mode at once?
      - How do I end maintenance mode for several devices together?
      instructions:
      - text: Put devices {devices} into maintenance until {endUtc} with reason {reason}.
        slots:
          devices: requestBody.devices
          endUtc: requestBody.endUtc
          reason: requestBody.reason
      - text: Take devices {devices} out of maintenance mode.
        slots:
          devices: requestBody.devices
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/-/config/maintenance/schedule'].patch
  update:
    x-apievangelist-phrasing:
      intent: Schedule maintenance windows for many devices
      effect: write
      questions:
      - Can I apply the same maintenance schedule to many devices?
      - How do I plan a future maintenance window for a set of devices?
      instructions:
      - text: Apply maintenance schedules {schedules} to devices {devices}.
        slots:
          schedules: requestBody.schedules
          devices: requestBody.devices
      - text: Schedule a shared maintenance window for devices {devices}.
        slots:
          devices: requestBody.devices
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/-/config/polling'].patch
  update:
    x-apievangelist-phrasing:
      intent: Set the polling interval for many devices
      effect: write
      questions:
      - Can I change the polling interval on a batch of devices in one request?
      - How do I slow down polling for a list of devices?
      instructions:
      - text: Set the polling interval to {pollingIntervalSeconds} seconds for devices {devices}.
        slots:
          pollingIntervalSeconds: requestBody.pollingIntervalSeconds
          devices: requestBody.devices
      - text: Apply a bulk polling interval change to devices {devices}.
        slots:
          devices: requestBody.devices
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/-/poll-now'].patch
  update:
    x-apievangelist-phrasing:
      intent: Poll several devices immediately
      effect: write
      questions:
      - Can I force an immediate poll of a list of devices at once?
      - How do I re-poll several devices right after a fix?
      instructions:
      - text: Poll devices {devices} immediately.
        slots:
          devices: requestBody.devices
      - text: Trigger an immediate bulk poll of {devices}.
        slots:
          devices: requestBody.devices
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/properties'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a device's properties
      effect: read
      questions:
      - What display name, note and SNMP OID are set on a device?
      - Is a device marked as wireless?
      instructions:
      - text: Show the properties of device {deviceId}.
        slots:
          deviceId: path.deviceId
      - text: Get the note and display name for {deviceId}.
        slots:
          deviceId: path.deviceId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/{deviceId}/properties'].put
  update:
    x-apievangelist-phrasing:
      intent: Edit one device's properties
      effect: write
      questions:
      - How do I rename a device's display name?
      - Can I add a note or change the action policy on a single device?
      instructions:
      - text: Rename device {deviceId} to {displayName}.
        slots:
          deviceId: path.deviceId
          displayName: requestBody.displayName
      - text: Set the note on device {deviceId} to {note}.
        slots:
          deviceId: path.deviceId
          note: requestBody.note
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/devices/-/properties'].patch
  update:
    x-apievangelist-phrasing:
      intent: Edit properties across many devices
      effect: write
      questions:
      - Can I set the same note or action policy on many devices at once?
      - How do I mark a batch of devices as wireless?
      instructions:
      - text: Set note {note} on devices {devices}.
        slots:
          note: requestBody.note
          devices: requestBody.devices
      - text: Apply action policy {actionPolicy} to devices {devices}.
        slots:
          actionPolicy: requestBody.actionPolicy
          devices: requestBody.devices
      method: generated
      generated: '2026-10-01'


# --- truncated at 32 KB (44 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/progress-software/refs/heads/main/overlays/progress-software-device-api-phrasing-overlay.yaml