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.
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
# 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'