Progress Software · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for WhatsUp Gold Credential API
13 actions
13 updates
phrasing
extends
openapi/progress-software-credential-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.
What the actions change
x-apievangelist-phrasing
Targets 13
$.info
$.paths['/api/v1/credentials/{credentialId}'].get
$.paths['/api/v1/credentials/{credentialId}'].put
$.paths['/api/v1/credentials/{credentialId}'].delete
$.paths['/api/v1/credentials/{credentialId}/assignments/-'].get
$.paths['/api/v1/credentials/{credentialId}/assignments/-'].delete
$.paths['/api/v1/credentials/-'].get
$.paths['/api/v1/credentials/-'].post
$.paths['/api/v1/credentials/-/helper'].get
$.paths['/api/v1/credentials/-/assignments/-'].get
$.paths['/api/v1/credentials/{credentialId}/config/template'].get
$.paths['/api/v1/credentials/-/config/template'].get
$.paths['/api/v1/credentials/-/config/template'].patch
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 WhatsUp Gold Credential API
version: 1.0.0
extends: openapi/progress-software-credential-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: 12
- target: $.paths['/api/v1/credentials/{credentialId}'].get
update:
x-apievangelist-phrasing:
intent: Get a credential from the library
effect: read
questions:
- How do I look up one credential in the credential library?
- Can I view a credential's details in a fuller view?
instructions:
- text: Show credential {credentialId}.
slots:
credentialId: path.credentialId
- text: Get credential {credentialId} using the {view} view.
slots:
credentialId: path.credentialId
view: query.view
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v1/credentials/{credentialId}'].put
update:
x-apievangelist-phrasing:
intent: Update a credential
effect: write
questions:
- How do I rename a stored credential or change its properties?
- Does a credential name have to be unique when I update it?
instructions:
- text: Rename credential {credentialId} to {name}.
slots:
credentialId: path.credentialId
name: requestBody.name
- text: Replace the properties of credential {credentialId} with {propertyBags}.
slots:
credentialId: path.credentialId
propertyBags: requestBody.propertyBags
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v1/credentials/{credentialId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a credential from the library
effect: destructive
questions:
- How do I remove a credential from the credential library entirely?
- Can I delete an old credential I no longer use?
instructions:
- text: Delete credential {credentialId} from the library.
slots:
credentialId: path.credentialId
- text: Remove the stored credential {credentialId}.
slots:
credentialId: path.credentialId
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v1/credentials/{credentialId}/assignments/-'].get
update:
x-apievangelist-phrasing:
intent: List devices using a credential
effect: read
questions:
- Which devices is a particular credential assigned to?
- Before I change a credential, how can I see everything that uses it?
instructions:
- text: Show which devices use credential {credentialId}.
slots:
credentialId: path.credentialId
- text: List assignments of credential {credentialId}, {limit} per page.
slots:
credentialId: path.credentialId
limit: query.limit
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v1/credentials/{credentialId}/assignments/-'].delete
update:
x-apievangelist-phrasing:
intent: Unassign a credential from all devices
effect: destructive
questions:
- How do I detach a credential from every device at once while keeping it in the library?
- Can I avoid orphaning active monitors when I unassign a credential everywhere?
instructions:
- text: Unassign credential {credentialId} from all devices.
slots:
credentialId: path.credentialId
- text: Remove credential {credentialId} from every device, preventOrphanActiveMonitors {preventOrphanActiveMonitors}.
slots:
credentialId: path.credentialId
preventOrphanActiveMonitors: query.preventOrphanActiveMonitors
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v1/credentials/-'].get
update:
x-apievangelist-phrasing:
intent: Search the credential library
effect: read
questions:
- What credentials are stored in my credential library?
- Can I filter stored credentials by type or search by name?
instructions:
- text: List the credentials in the library.
- text: Find {type} credentials matching {search}.
slots:
type: query.type
search: query.search
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v1/credentials/-'].post
update:
x-apievangelist-phrasing:
intent: Add a credential to the library
effect: write
questions:
- How do I add a new credential for monitoring devices?
- Must a new credential's name be unique within its type?
instructions:
- text: Add a {type} credential named {name} with properties {propertyBags}.
slots:
type: requestBody.type
name: requestBody.name
propertyBags: requestBody.propertyBags
- text: Create credential {name} described as {description}.
slots:
name: requestBody.name
description: requestBody.description
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v1/credentials/-/helper'].get
update:
x-apievangelist-phrasing:
intent: Get help building a Cisco Meraki credential
effect: read
questions:
- What information do I need to build a Cisco Meraki credential from an organization API key?
- Is there a helper that looks up Meraki organization details for a new credential?
instructions:
- text: Use the Meraki organization helper with API key {input}.
slots:
input: query.input
- text: Run credential helper {type} with input {input}.
slots:
type: query.type
input: query.input
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v1/credentials/-/assignments/-'].get
update:
x-apievangelist-phrasing:
intent: List credential assignments across all credentials
effect: read
questions:
- Which credentials are assigned to which devices across the whole library?
- Can I search credential-to-device assignments by type?
instructions:
- text: List every credential assignment across all devices.
- text: Find credential assignments of type {type} matching {search}.
slots:
type: query.type
search: query.search
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v1/credentials/{credentialId}/config/template'].get
update:
x-apievangelist-phrasing:
intent: Export one credential as a template
effect: read
questions:
- How do I export a single credential as a reusable template?
- Can I protect sensitive values in an exported credential template with a key?
instructions:
- text: Export credential {credentialId} as a template.
slots:
credentialId: path.credentialId
- text: Export credential {credentialId} as a template encoded with key {key}.
slots:
credentialId: path.credentialId
key: query.key
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v1/credentials/-/config/template'].get
update:
x-apievangelist-phrasing:
intent: Export credential templates in bulk
effect: read
questions:
- Can I export all my credentials as templates to copy them to another server?
- How do I export only credentials of one type as templates?
instructions:
- text: Export templates for all credentials in the library.
- text: Export {type} credential templates matching {search}.
slots:
type: query.type
search: query.search
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v1/credentials/-/config/template'].patch
update:
x-apievangelist-phrasing:
intent: Import credentials from templates
effect: write
questions:
- How do I create credentials in bulk from exported templates?
- Can applying templates modify existing credentials with matching IDs instead of creating new ones?
instructions:
- text: Apply these credential templates {templates}.
slots:
templates: requestBody.templates
- text: Import templates {templates} decoded with key {key}, allowModifies {allowModifies}.
slots:
templates: requestBody.templates
key: query.key
allowModifies: requestBody.allowModifies
method: generated
generated: '2026-10-01'