Canonical · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for LXD external REST Auth Groups API

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

What the actions change

x-apievangelist-phrasing

Targets 9

$.info
$.paths['/1.0/auth/groups'].get
$.paths['/1.0/auth/groups'].post
$.paths['/1.0/auth/groups/{groupName}'].get
$.paths['/1.0/auth/groups/{groupName}'].put
$.paths['/1.0/auth/groups/{groupName}'].post
$.paths['/1.0/auth/groups/{groupName}'].delete
$.paths['/1.0/auth/groups/{groupName}'].patch
$.paths['/1.0/auth/groups?recursion=1'].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 LXD external REST Auth Groups API
  version: 1.0.0
extends: openapi/canonical-auth-groups-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: 8
- target: $.paths['/1.0/auth/groups'].get
  update:
    x-apievangelist-phrasing:
      intent: List authorization group URLs
      effect: read
      questions:
      - Which authorization groups exist on my LXD server?
      - How do I get links to every auth group?
      instructions:
      - text: List the URLs of all authorization groups.
      - text: Show me the names of the LXD auth groups.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1.0/auth/groups'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an authorization group
      effect: write
      questions:
      - How do I create a new group of permissions in LXD?
      - Can I grant permissions at the moment I create an auth group?
      instructions:
      - text: Create authorization group {name}.
        slots:
          name: requestBody.name
      - text: Create group {name} with permissions {permissions}.
        slots:
          name: requestBody.name
          permissions: requestBody.permissions
      method: generated
      generated: '2026-09-26'
- target: $.paths['/1.0/auth/groups/{groupName}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one authorization group
      effect: read
      questions:
      - What permissions does a particular auth group hold?
      - Who belongs to a given authorization group?
      instructions:
      - text: Show the details of authorization group {groupName}.
        slots:
          groupName: path.groupName
      - text: Tell me which permissions the named auth group grants.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/1.0/auth/groups/{groupName}'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace an authorization group's permissions
      effect: write
      questions:
      - Can I replace the entire permission list of an auth group?
      - How do I overwrite a group's description and permissions together?
      instructions:
      - text: Replace the permissions of auth group {groupName} with {permissions}.
        slots:
          groupName: path.groupName
          permissions: requestBody.permissions
      - text: Overwrite the auth group description with {description}.
        slots:
          description: requestBody.description
      method: generated
      generated: '2026-10-01'
- target: $.paths['/1.0/auth/groups/{groupName}'].post
  update:
    x-apievangelist-phrasing:
      intent: Rename an authorization group
      effect: write
      questions:
      - How do I rename an authorization group?
      - Can an auth group be renamed without losing its permissions?
      instructions:
      - text: Rename authorization group {groupName} to {name}.
        slots:
          groupName: path.groupName
          name: requestBody.name
      - text: Give the auth group the new name {name}.
        slots:
          name: requestBody.name
      method: generated
      generated: '2026-10-01'
- target: $.paths['/1.0/auth/groups/{groupName}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an authorization group
      effect: destructive
      questions:
      - How do I remove an auth group I no longer need?
      - Does deleting an authorization group revoke its permissions?
      instructions:
      - text: Delete authorization group {groupName}.
        slots:
          groupName: path.groupName
      - text: Remove the named auth group from the server.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/1.0/auth/groups/{groupName}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Partially update an authorization group
      effect: write
      questions:
      - Can I update just the description of an auth group?
      - How do I change an auth group's editable fields without a full replace?
      instructions:
      - text: Patch the description of auth group {groupName} to {description}.
        slots:
          groupName: path.groupName
          description: requestBody.description
      - text: Partially update the group with permissions {permissions}.
        slots:
          permissions: requestBody.permissions
      method: generated
      generated: '2026-10-01'
- target: $.paths['/1.0/auth/groups?recursion=1'].get
  update:
    x-apievangelist-phrasing:
      intent: List authorization groups with details
      effect: read
      questions:
      - Can I list every auth group together with its permissions?
      - How do I get full records of all authorization groups at once?
      instructions:
      - text: List all authorization groups with their full details.
      - text: Give me every auth group's permissions and members.
      method: generated
      generated: '2026-09-26'