Progress Software · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Chef Automate API Documentation Infra Proxy API

58 actions 58 updates phrasing extends openapi/progress-software-infraproxy-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 58 · first 16 shown; the file carries all of them

$.info
$.paths['/api/v0/infra/servers'].get
$.paths['/api/v0/infra/servers'].post
$.paths['/api/v0/infra/servers/server_status'].get
$.paths['/api/v0/infra/servers/{id}'].get
$.paths['/api/v0/infra/servers/{id}'].put
$.paths['/api/v0/infra/servers/{id}'].delete
$.paths['/api/v0/infra/servers/{server_id}/orgs'].get
$.paths['/api/v0/infra/servers/{server_id}/orgs'].post
$.paths['/api/v0/infra/servers/{server_id}/orgs/{id}'].get
$.paths['/api/v0/infra/servers/{server_id}/orgs/{id}'].put
$.paths['/api/v0/infra/servers/{server_id}/orgs/{id}'].delete
$.paths['/api/v0/infra/servers/{server_id}/orgs/{id}/reset-key'].put
$.paths['/api/v0/infra/servers/{server_id}/orgs/{org_id}/clients'].get
$.paths['/api/v0/infra/servers/{server_id}/orgs/{org_id}/clients'].post
$.paths['/api/v0/infra/servers/{server_id}/orgs/{org_id}/clients/{name}'].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 Chef Automate API Documentation Infra Proxy API
  version: 1.0.0
extends: openapi/progress-software-infraproxy-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: 57
- target: $.paths['/api/v0/infra/servers'].get
  update:
    x-apievangelist-phrasing:
      intent: List registered infra servers
      effect: read
      questions:
      - Which Chef Infra Servers have been added to Automate's infra proxy?
      - Can I see every infra server I've registered along with its FQDN?
      instructions:
      - text: List all infra servers registered in the proxy.
      - text: Show me every Chef Infra Server Automate is connected to.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers'].post
  update:
    x-apievangelist-phrasing:
      intent: Register a new infra server
      effect: write
      questions:
      - How do I add a new Chef Infra Server so Automate can manage it?
      - What do I need to provide when registering an infra server, FQDN or IP address?
      instructions:
      - text: Register infra server {name} at FQDN {fqdn}.
        slots:
          name: requestBody.name
          fqdn: requestBody.fqdn
      - text: Add a new infra server with ID {id}, name {name} and IP address {ip_address}.
        slots:
          id: requestBody.id
          name: requestBody.name
          ip_address: requestBody.ip_address
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/server_status'].get
  update:
    x-apievangelist-phrasing:
      intent: Check an infra server's reachability status
      effect: read
      questions:
      - Is my Chef Infra Server at a given FQDN up and reachable?
      - Can I check the health status of an infra server by its hostname?
      instructions:
      - text: Check the status of the infra server at {fqdn}.
        slots:
          fqdn: query.fqdn
      - text: Tell me whether the server with hostname {fqdn} is responding.
        slots:
          fqdn: query.fqdn
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one infra server's details
      effect: read
      questions:
      - What FQDN and IP address are stored for a particular infra server?
      - Can I look up a single registered infra server by its ID?
      instructions:
      - text: Get the details of infra server {id}.
        slots:
          id: path.id
      - text: Show the name, FQDN and IP stored for server {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update an infra server's connection details
      effect: write
      questions:
      - How do I change the FQDN of an infra server I already registered?
      - Can I rename an existing infra server or point it at a new IP address?
      instructions:
      - text: Change the FQDN of infra server {id} to {fqdn}.
        slots:
          id: path.id
          fqdn: requestBody.fqdn
      - text: Rename infra server {id} to {name} and set its IP to {ip_address}.
        slots:
          id: path.id
          name: requestBody.name
          ip_address: requestBody.ip_address
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove an infra server
      effect: destructive
      questions:
      - How do I remove an infra server from Automate's infra proxy?
      - Can I unregister a Chef Infra Server I no longer use?
      instructions:
      - text: Delete infra server {id} from the proxy.
        slots:
          id: path.id
      - text: Unregister the server with ID {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{server_id}/orgs'].get
  update:
    x-apievangelist-phrasing:
      intent: List organizations on an infra server
      effect: read
      questions:
      - Which Chef organizations are attached to a given infra server?
      - What orgs have been added under one of my infra servers?
      instructions:
      - text: List the organizations on infra server {server_id}.
        slots:
          server_id: path.server_id
      - text: Show every org configured under server {server_id}.
        slots:
          server_id: path.server_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{server_id}/orgs'].post
  update:
    x-apievangelist-phrasing:
      intent: Add an organization to an infra server
      effect: write
      questions:
      - How do I connect a Chef organization to an infra server in Automate?
      - Do I need an admin user and admin key to add an org to an infra server?
      instructions:
      - text: Add org {name} to infra server {server_id} using admin user {admin_user} and key {admin_key}.
        slots:
          name: requestBody.name
          server_id: path.server_id
          admin_user: requestBody.admin_user
          admin_key: requestBody.admin_key
      - text: Create organization {id} on server {server_id} and assign it to projects {projects}.
        slots:
          id: requestBody.id
          server_id: path.server_id
          projects: requestBody.projects
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{server_id}/orgs/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one organization on an infra server
      effect: read
      questions:
      - What admin user and projects are set on a specific Chef org?
      - Can I fetch a single organization's settings from an infra server?
      instructions:
      - text: Get org {id} on infra server {server_id}.
        slots:
          id: path.id
          server_id: path.server_id
      - text: Show the configuration of organization {id} under server {server_id}.
        slots:
          id: path.id
          server_id: path.server_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{server_id}/orgs/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update an organization's settings
      effect: write
      questions:
      - How do I change the admin user on an org I already added?
      - Can I move an existing Chef org into different Automate projects?
      instructions:
      - text: Set the admin user of org {id} on server {server_id} to {admin_user}.
        slots:
          id: path.id
          server_id: path.server_id
          admin_user: requestBody.admin_user
      - text: Rename org {id} on server {server_id} to {name} and assign projects {projects}.
        slots:
          id: path.id
          server_id: path.server_id
          name: requestBody.name
          projects: requestBody.projects
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{server_id}/orgs/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove an organization from an infra server
      effect: destructive
      questions:
      - How do I detach a Chef organization from an infra server in Automate?
      - Can I delete an org I added by mistake?
      instructions:
      - text: Delete org {id} from infra server {server_id}.
        slots:
          id: path.id
          server_id: path.server_id
      - text: Remove organization {id} under server {server_id}.
        slots:
          id: path.id
          server_id: path.server_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{server_id}/orgs/{id}/reset-key'].put
  update:
    x-apievangelist-phrasing:
      intent: Reset an organization's admin key
      effect: write
      questions:
      - How do I replace the admin key Automate uses for a Chef org?
      - Can I rotate an organization's admin key after it was exposed?
      instructions:
      - text: Reset the admin key for org {id} on server {server_id} to {admin_key}.
        slots:
          id: path.id
          server_id: path.server_id
          admin_key: requestBody.admin_key
      - text: Rotate the admin key stored for organization {id} on infra server {server_id}.
        slots:
          id: path.id
          server_id: path.server_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{server_id}/orgs/{org_id}/clients'].get
  update:
    x-apievangelist-phrasing:
      intent: List API clients in an organization
      effect: read
      questions:
      - Which API clients exist in a Chef org?
      - Can I search an organization's clients by name and page through the results?
      instructions:
      - text: List clients in org {org_id} on server {server_id}.
        slots:
          org_id: path.org_id
          server_id: path.server_id
      - text: Search clients matching {q} in org {org_id} on server {server_id}, {per_page} per page.
        slots:
          q: query.search_query.q
          org_id: path.org_id
          server_id: path.server_id
          per_page: query.search_query.per_page
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{server_id}/orgs/{org_id}/clients'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an API client in an organization
      effect: write
      questions:
      - How do I create a new Chef client and generate a key for it?
      - Can I make a validator client in an org through Automate?
      instructions:
      - text: Create client {name} in org {org_id} on server {server_id} and generate a key.
        slots:
          name: requestBody.name
          org_id: path.org_id
          server_id: path.server_id
      - text: Add validator client {name} to org {org_id} on server {server_id} with validator set to {validator}.
        slots:
          name: requestBody.name
          org_id: path.org_id
          server_id: path.server_id
          validator: requestBody.validator
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{server_id}/orgs/{org_id}/clients/{name}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one API client's details
      effect: read
      questions:
      - Can I view the details of a specific Chef client by name?
      - Is a given client in my org a validator?
      instructions:
      - text: Get client {name} in org {org_id} on server {server_id}.
        slots:
          name: path.name
          org_id: path.org_id
          server_id: path.server_id
      - text: Show the record for client {name} under org {org_id}, server {server_id}.
        slots:
          name: path.name
          org_id: path.org_id
          server_id: path.server_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{server_id}/orgs/{org_id}/clients/{name}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an API client
      effect: destructive
      questions:
      - How do I delete a Chef client that's no longer needed?
      - Can I remove a decommissioned machine's client from an org?
      instructions:
      - text: Delete client {name} from org {org_id} on server {server_id}.
        slots:
          name: path.name
          org_id: path.org_id
          server_id: path.server_id
      - text: Remove the API client named {name} in org {org_id} on infra server {server_id}.
        slots:
          name: path.name
          org_id: path.org_id
          server_id: path.server_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{server_id}/orgs/{org_id}/clients/{name}/reset'].put
  update:
    x-apievangelist-phrasing:
      intent: Reset an API client's key
      effect: write
      questions:
      - How do I regenerate the private key for a Chef client?
      - Can I reset a client's key if the old one was lost?
      instructions:
      - text: Reset the key for client {name} in org {org_id} on server {server_id}.
        slots:
          name: path.name
          org_id: path.org_id
          server_id: path.server_id
      - text: Generate a fresh key pair for client {name} under org {org_id} on infra server {server_id}.
        slots:
          name: path.name
          org_id: path.org_id
          server_id: path.server_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{server_id}/orgs/{org_id}/cookbooks'].get
  update:
    x-apievangelist-phrasing:
      intent: List cookbooks in an organization
      effect: read
      questions:
      - Which cookbooks have been uploaded to a Chef org?
      - What cookbooks are available on my infra server's organization?
      instructions:
      - text: List cookbooks in org {org_id} on server {server_id}.
        slots:
          org_id: path.org_id
          server_id: path.server_id
      - text: Show all cookbooks uploaded to organization {org_id} on infra server {server_id}.
        slots:
          org_id: path.org_id
          server_id: path.server_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{server_id}/orgs/{org_id}/cookbooks/{name}'].get
  update:
    x-apievangelist-phrasing:
      intent: List versions of a cookbook
      effect: read
      questions:
      - What versions of a particular cookbook are on the server?
      - Can I see every uploaded version of one cookbook?
      instructions:
      - text: List the versions of cookbook {name} in org {org_id} on server {server_id}.
        slots:
          name: path.name
          org_id: path.org_id
          server_id: path.server_id
      - text: Show which versions of {name} exist in organization {org_id}, server {server_id}.
        slots:
          name: path.name
          org_id: path.org_id
          server_id: path.server_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{server_id}/orgs/{org_id}/cookbooks/{name}/{version}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a specific cookbook version
      effect: read
      questions:
      - What recipes, files and metadata are in a specific cookbook version?
      - Can I inspect version 1.2.0 of a cookbook in my org?
      instructions:
      - text: Get cookbook {name} version {version} in org {org_id} on server {server_id}.
        slots:
          name: path.name
          version: path.version
          org_id: path.org_id
          server_id: path.server_id
      - text: Show the contents of {name} at version {version} from org {org_id}, server {server_id}.
        slots:
          name: path.name
          version: path.version
          org_id: path.org_id
          server_id: path.server_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{server_id}/orgs/{org_id}/cookbooks/{name}/{version}/file-content'].get
  update:
    x-apievangelist-phrasing:
      intent: Read a file inside a cookbook version
      effect: read
      questions:
      - How can I read the source of a recipe file inside a cookbook?
      - Can I fetch the raw content of one file from a cookbook version by its URL?
      instructions:
      - text: Fetch the file at {url} from cookbook {name} version {version} in org {org_id} on server {server_id}.
        slots:
          url: query.url
          name: path.name
          version: path.version
          org_id: path.org_id
          server_id: path.server_id
      - text: Show me the file content behind {url} in {name} {version}, org {org_id}, server {server_id}.
        slots:
          url: query.url
          name: path.name
          version: path.version
          org_id: path.org_id
          server_id: path.server_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{server_id}/orgs/{org_id}/data_bags'].get
  update:
    x-apievangelist-phrasing:
      intent: List data bags in an organization
      effect: read
      questions:
      - Which data bags are defined in a Chef org?
      - What data bags exist on my infra server organization?
      instructions:
      - text: List data bags in org {org_id} on server {server_id}.
        slots:
          org_id: path.org_id
          server_id: path.server_id
      - text: Show the names of all data bags under organization {org_id}, infra server {server_id}.
        slots:
          org_id: path.org_id
          server_id: path.server_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{server_id}/orgs/{org_id}/data_bags'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a data bag
      effect: write
      questions:
      - How do I create a new empty data bag in an org?
      - Can I add a data bag to hold shared configuration through Automate?
      instructions:
      - text: Create data bag {name} in org {org_id} on server {server_id}.
        slots:
          name: requestBody.name
          org_id: path.org_id
          server_id: path.server_id
      - text: Make a new data bag called {name} under organization {org_id}, infra server {server_id}.
        slots:
          name: requestBody.name
          org_id: path.org_id
          server_id: path.server_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{server_id}/orgs/{org_id}/data_bags/{name}'].get
  update:
    x-apievangelist-phrasing:
      intent: List items in a data bag
      effect: read
      questions:
      - What items are stored in a particular data bag?
      - Can I search a data bag's items and page through them?
      instructions:
      - text: List items in data bag {name} in org {org_id} on server {server_id}.
        slots:
          name: path.name
          org_id: path.org_id
          server_id: path.server_id
      - text: Search data bag {name} for items matching {q} in org {org_id}, server {server_id}.
        slots:
          name: path.name
          q: query.search_query.q
          org_id: path.org_id
          server_id: path.server_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{server_id}/orgs/{org_id}/data_bags/{name}'].post
  update:
    x-apievangelist-phrasing:
      intent: Add an item to a data bag
      effect: write
      questions:
      - How do I add a new JSON item to an existing data bag?
      - Can I store a fresh entry in a data bag from Automate?
      instructions:
      - text: Add an item with data {data} to data bag {name} in org {org_id} on server {server_id}.
        slots:
          data: requestBody.data
          name: path.name
          org_id: path.org_id
          server_id: path.server_id
      - text: Create a new entry in bag {name} for organization {org_id}, infra server {server_id}.
        slots:
          name: path.name
          org_id: path.org_id
          server_id: path.server_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{server_id}/orgs/{org_id}/data_bags/{name}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a data bag
      effect: destructive
      questions:
      - How do I delete an entire data bag along with its items?
      - Can I remove a data bag nobody uses anymore?
      instructions:
      - text: Delete data bag {name} from org {org_id} on server {server_id}.
        slots:
          name: path.name
          org_id: path.org_id
          server_id: path.server_id
      - text: Remove the whole bag {name} in organization {org_id}, infra server {server_id}.
        slots:
          name: path.name
          org_id: path.org_id
          server_id: path.server_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{server_id}/orgs/{org_id}/data_bags/{name}/{item_id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update an existing data bag item
      effect: write
      questions:
      - How do I change the contents of an item already in a data bag?
      - Can I overwrite one data bag item's JSON without touching the others?
      instructions:
      - text: Update item {item_id} in data bag {name} with data {data} in org {org_id} on server {server_id}.
        slots:
          item_id: path.item_id
          name: path.name
          data: requestBody.data
          org_id: path.org_id
          server_id: path.server_id
      - text: Replace the stored JSON of item {item_id} in bag {name}, org {org_id}, server {server_id}.
        slots:
          item_id: path.item_id
          name: path.name
          org_id: path.org_id
          server_id: path.server_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{server_id}/orgs/{org_id}/data_bags/{name}/{item}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one data bag item
      effect: read
      questions:
      - What values are stored in a single data bag item?
      - Can I read one item out of a data bag by its name?
      instructions:
      - text: Get item {item} from data bag {name} in org {org_id} on server {server_id}.
        slots:
          item: path.item
          name: path.name
          org_id: path.org_id
          server_id: path.server_id
      - text: Show the contents of {item} inside bag {name}, organization {org_id}, infra server {server_id}.
        slots:
          item: path.item
          name: path.name
          org_id: path.org_id
          server_id: path.server_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{server_id}/orgs/{org_id}/data_bags/{name}/{item}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete one data bag item
      effect: destructive
      questions:
      - How do I remove a single item from a data bag but keep the bag?
      - Can I delete one stale entry out of a data bag?
      instructions:
      - text: Delete item {item} from data bag {name} in org {org_id} on server {server_id}.
        slots:
          item: path.item
          name: path.name
          org_id: path.org_id
          server_id: path.server_id
      - text: Remove only the entry {item} from bag {name}, organization {org_id}, infra server {server_id}.
        slots:
          item: path.item
          name: path.name
          org_id: path.org_id
          server_id: path.server_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{server_id}/orgs/{org_id}/environments'].get
  update:
    x-apievangelist-phrasing:
      intent: List environments in an organization
      effect: read
      questions:
      - Which Chef environments are defined in an org?
      - Can I search environments by name and page through them?
      instructions:
      - text: List environments in org {org_id} on server {server_id}.
        slots:
          org_id: path.org_id
          server_id: path.server_id
      - text: Search environments matching {q} in org {org_id}, server {server_id}, page {page}.
        slots:
          q: query.search_query.q
          org_id: path.org_id
          server_id: path.server_id
          page: query.search_query.page
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{server_id}/orgs/{org_id}/environments'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an environment
      effect: write
      questions:
      - How do I create a new environment like staging with pinned cookbook versions?
      - Can I set default and override attributes when I create an environment?
      instructions:
      - text: Create environment {name} in org {org_id} on server {server_id} described as {description}.
        slots:
          name: requestBody.name
          org_id: path.org_id
          server_id: path.server_id
          description: requestBody.description
      - text: Add a new environment {name} pinning cookbook versions {cookbook_versions} in org {org_id}, server {server_id}.
        slots:
          name: requestBody.name
          cookbook_versions: requestBody.cookbook_versions
          org_id: path.org_id
          server_id: path.server_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{server_id}/orgs/{org_id}/environments/{name}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one environment's details
      effect: read
      questions:
      - What cookbook constraints and attributes does a given environment have?
      - Can I view a single environment's settings by name?
      instructions:
      - text: Get environment {name} in org {org_id} on server {server_id}.
        slots:
          name: path.name
          org_id: path.org_id
          server_id: path.server_id
      - text: Show the attributes and cookbook pins of environment {name}, org {org_id}, server {server_id}.
        slots:
          name: path.name
          org_id: path.org_id
          server_id: path.server_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{server_id}/orgs/{org_id}/environments/{name}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update an existing environment
      effect: write
      questions:
      - How do I change the cookbook version pins on an existing environment?
      - Can I edit an environment's override attributes after it's created?
      instructions:
      - text: Update environment {name} in org {org_id} on server {server_id} to pin cookbook versions {cookbook_versions}.
        slots:
          name: path.name
          org_id: path.org_id
          server_id: path.server_id
          cookbook_versions: requestBody.cookbook_versions
      - text: Set override attributes {override_attributes} on existing environment {name}, org {org_id}, server {server_id}.
        slots:
          override_attributes: requestBody.override_attributes
          name: path.name
          org_id: path.org_id
          server_id: path.server_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{server_id}/orgs/{org_id}/environments/{name}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an environment
      effect: destructive
      questions:
      - How do I delete an environment we retired?
      - Can I remove an unused environment from a Chef org?
      instructions:
      - text: Delete environment {name} from org {org_id} on server {server_id}.
        slots:
          name: path.name
          org_id: path.org_id
          server_id: path.server_id
      - text: Remove the {name} environment in organization {org_id}, infra server {server_id}.
        slots:
          name: path.name
          org_id: path.org_id
          server_id: path.server_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{server_id}/orgs/{org_id}/environments/{name}/recipes'].get
  update:
    x-apievangelist-phrasing:
      intent: List recipes available in an environment
      effect: read
      questions:
      - Which recipes are available to nodes in a given environment?
      - What recipes resolve under an environment's cookbook constraints?
      instructions:
      - text: List recipes available in environment {name} in org {org_id} on server {server_id}.
        slots:
          name: path.name
          org_id: path.org_id
          server_id: path.server_id
      - text: Show which recipes nodes in environment {name} can run, org {org_id}, server {server_id}.
        slots:
          name: path.name
          org_id: path.org_id
          server_id: path.server_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{server_id}/orgs/{org_id}/node/{name}/runlist/{environment}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a node's expanded run list for an environment
      effect: read
      questions:
      - What does a node's run list expand to once roles are resolved in an environment?
      - Can I see the full list of recipes a specific node will run in production?
      instructions:
      - text: Get the expanded run list of node {name} in environment {environment}, org {org_id}, server {server_id}.
        slots:
          name: path.name
          environment: path.environment
          org_id: path.org_id
          server_id: path.server_id
      - text: Show every recipe node {name} would run under {environment} in org {org_id} on server {server_id}.
        slots:
          name: path.name
          environment: path.environment
          org_id: path.org_id
          server_id: path.server_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{server_id}/orgs/{org_id}/nodes'].get
  update:
    x-apievangelist-phrasing:
      intent: List nodes in an organization
      effect: read
      questions:
      - Which nodes are registered in a Chef org?
      - Can I search an organization's nodes with a query and page through the results?
      instructions:
      - text: List nodes in org {org_id} on server {server_id}.
        slots:
          org_id: path.org_id
          server_id: path.server_id
      - text: Search nodes matching {q} in org {org_id} on server {server_id}.
        slots:
          q: query.search_query.q
          org_id: path.org_id
          server_id: path.server_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{server_id}/orgs/{org_id}/nodes/{name}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one node's details
      effect: read
      questions:
      - What run list, environment and attributes does a specific node have?
      - Can I pull up a single node by name from an org?
      instructions:
      - text: Get node {name} in org {org_id} on server {server_id}.
        slots:
          name: path.name
          org_id: path.org_id
          server_id: path.server_id
      - text: Show the full record of node {name} under organization {org_id}, infra server {server_id}.
        slots:
          name: path.name
          org_id: path.org_id
          server_id: path.server_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v0/infra/servers/{server_id}/orgs/{org_id}/nodes/{name}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a node's full configuration
      effect: write
      questions:
      - How do I change a node's run list and policy group in one update?
      - Can I rewrite a node's whole configuration including its environment and attributes?
      instructions:
      - text: Set the run list of node {name} in org {org_id} on server {server_id} to {run_list}.
        slots:
          name: path.name
          org_id: path.org_id
          server_id: path.server_id
          run_list: requestBody.run_list
      - text: Put node {name} on policy {policy_name} in group {policy_group}, org {org_id}, server {server_id}.
        slots:
          name: path.name
          policy_name: requestBody.policy_name
          policy_group: requestBody.policy_group
          org_id: path.org_id
          server_id: path.server_id
      method: generated
      generated: '2026-10-01'


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