Canonical · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for debarchive Local Service API

9 actions 9 updates phrasing extends openapi/canonical-localservice-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['/v1/locals'].get
$.paths['/v1/locals'].post
$.paths['/v1/locals/{local}'].get
$.paths['/v1/locals/{local}'].delete
$.paths['/v1/locals/{local}'].patch
$.paths['/v1/locals/{local}/packages'].get
$.paths['/v1/locals/{local}:importPackages'].post
$.paths['/v1/locals:batchGet'].post

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 debarchive Local Service API
  version: 1.0.0
extends: openapi/canonical-localservice-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: 8
- target: $.paths['/v1/locals'].get
  update:
    x-apievangelist-phrasing:
      intent: List local Debian repositories
      effect: read
      questions:
      - Which local package repositories have been set up in debarchive?
      - Can I filter or page through the list of local repositories?
      instructions:
      - text: List all local repositories.
      - text: List local repositories matching {filter}, {page_size} per page.
        slots:
          filter: query.filter
          page_size: query.pageSize
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/locals'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a local Debian repository
      effect: write
      questions:
      - How do I create a new local repository for my own packages?
      - What default distribution and component does a new local repo need?
      instructions:
      - text: Create local repository {display_name} with distribution {distribution} and component {component}.
        slots:
          display_name: requestBody.displayName
          distribution: requestBody.defaultDistribution
          component: requestBody.defaultComponent
      - text: Create local repo ID {local_id} named {display_name}, defaulting to {distribution}/{component}.
        slots:
          local_id: query.localId
          display_name: requestBody.displayName
          distribution: requestBody.defaultDistribution
          component: requestBody.defaultComponent
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/locals/{local}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a local repository
      effect: read
      questions:
      - What distribution and component is a given local repository set to?
      - When was a local repository last imported into?
      instructions:
      - text: Show local repository {local}.
        slots:
          local: path.local
      - text: Get the last import time of local repository {local}.
        slots:
          local: path.local
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/locals/{local}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a local repository
      effect: destructive
      questions:
      - How do I delete a local repository I no longer need?
      - Is deleting a local repository permanent?
      instructions:
      - text: Delete local repository {local}.
        slots:
          local: path.local
      - text: Permanently remove the local repo {local}.
        slots:
          local: path.local
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/locals/{local}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update a local repository
      effect: write
      questions:
      - How do I rename a local repository or change its default distribution?
      - Can I update only selected fields of a local repo with an update mask?
      instructions:
      - text: Rename local repository {local} to {display_name}.
        slots:
          local: path.local
          display_name: requestBody.displayName
      - text: Update local repo {local} fields {update_mask}, setting comment {comment}.
        slots:
          local: path.local
          update_mask: query.updateMask
          comment: requestBody.comment
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/locals/{local}/packages'].get
  update:
    x-apievangelist-phrasing:
      intent: List packages in a local repository
      effect: read
      questions:
      - Which packages are available in one of my local repositories?
      - Can I page through a large local repo's package list?
      instructions:
      - text: List the packages in local repository {local}.
        slots:
          local: path.local
      - text: Show {page_size} packages from local repo {local} starting at page {page_token}.
        slots:
          page_size: query.pageSize
          local: path.local
          page_token: query.pageToken
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/locals/{local}:importPackages'].post
  update:
    x-apievangelist-phrasing:
      intent: Import packages into a local repository
      effect: write
      questions:
      - How do I import packages into a local repo from a package index URL?
      - Can I validate a package import without actually running it?
      instructions:
      - text: Import packages from {url} into local repository {local}.
        slots:
          url: requestBody.url
          local: path.local
      - text: Dry-run the import of {url} into local repo {local} with validate only {validate_only}.
        slots:
          url: requestBody.url
          local: path.local
          validate_only: requestBody.validateOnly
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/locals:batchGet'].post
  update:
    x-apievangelist-phrasing:
      intent: Fetch several local repositories by name
      effect: read
      questions:
      - Can I retrieve several local repositories by name in one call?
      - What happens in a batch lookup if some local repo names don't exist?
      instructions:
      - text: Fetch local repositories {names} in one batch.
        slots:
          names: requestBody.names
      - text: 'Batch-get local repos {names}, allowing partial success: {partial}.'
        slots:
          names: requestBody.names
          partial: requestBody.returnPartialSuccess
      method: generated
      generated: '2026-09-26'