Canonical · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Ubuntu Security API

18 actions 18 updates phrasing extends openapi/canonical-security-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 18 · first 16 shown; the file carries all of them

$.info
$.paths['/security/compat/notices.json'].get
$.paths['/security/compat/notices/{notice_id}.json'].get
$.paths['/security/cves.json'].get
$.paths['/security/cves/{cve_id}.json'].get
$.paths['/security/notices.json'].get
$.paths['/security/notices/{notice_id}.json'].get
$.paths['/security/page/notices.json'].get
$.paths['/security/releases.json'].get
$.paths['/security/releases/{release_codename}.json'].get
$.paths['/security/updates/cves.json'].put
$.paths['/security/updates/cves/{cve_id}.json'].delete
$.paths['/security/updates/notices.json'].post
$.paths['/security/updates/notices/{notice_id}.json'].put
$.paths['/security/updates/notices/{notice_id}.json'].delete
$.paths['/security/updates/releases.json'].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 Ubuntu Security API
  version: 1.0.0
extends: openapi/canonical-security-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: 17
- target: $.paths['/security/compat/notices.json'].get
  update:
    x-apievangelist-phrasing:
      intent: List security notices (compat format)
      effect: read
      questions:
      - Is there a backward-compatible feed of Ubuntu security notices?
      - Can I page through notices in the legacy compat format for one release?
      instructions:
      - text: List compat-format security notices for release {release}.
        slots:
          release: query.release
      - text: Get {limit} compat security notices mentioning CVE {cve_id}.
        slots:
          limit: query.limit
          cve_id: query.cve_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/security/compat/notices/{notice_id}.json'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one security notice (compat format)
      effect: read
      questions:
      - Can I fetch a single USN in the older compat format?
      - Where is the compat version of one specific security notice?
      instructions:
      - text: Get compat-format notice {notice_id}.
        slots:
          notice_id: path.notice_id
      - text: 'Show security notice {notice_id} in compat format, including hidden: {show_hidden}.'
        slots:
          notice_id: path.notice_id
          show_hidden: query.show_hidden
      method: generated
      generated: '2026-10-01'
- target: $.paths['/security/cves.json'].get
  update:
    x-apievangelist-phrasing:
      intent: Search CVEs
      effect: read
      questions:
      - Which CVEs affect a given Ubuntu package?
      - Can I list high-priority CVEs grouped by priority?
      - What are the most recently updated CVEs?
      instructions:
      - text: Find CVEs affecting package {package}.
        slots:
          package: query.package
      - text: Search CVEs for {q} with priority {priority}.
        slots:
          q: query.q
          priority: query.priority
      - text: List CVEs with status {status} on releases {version}.
        slots:
          status: query.status
          version: query.version
      method: generated
      generated: '2026-10-01'
- target: $.paths['/security/cves/{cve_id}.json'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one CVE
      effect: read
      questions:
      - What is Ubuntu's status and priority for a specific CVE?
      - Which packages are fixed for a particular CVE ID?
      instructions:
      - text: Show CVE {cve_id}.
        slots:
          cve_id: path.cve_id
      - text: Get Ubuntu's tracking details for {cve_id}.
        slots:
          cve_id: path.cve_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/security/notices.json'].get
  update:
    x-apievangelist-phrasing:
      intent: List Ubuntu security notices
      effect: read
      questions:
      - Which Ubuntu Security Notices were published for noble?
      - Can I find the USNs that fix a particular CVE?
      instructions:
      - text: List security notices for release {release}.
        slots:
          release: query.release
      - text: Find USNs that address CVEs {cves}.
        slots:
          cves: query.cves
      - text: Show the {limit} newest notices matching {details}.
        slots:
          limit: query.limit
          details: query.details
      method: generated
      generated: '2026-10-01'
- target: $.paths['/security/notices/{notice_id}.json'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one Ubuntu security notice
      effect: read
      questions:
      - What does a specific USN fix and which packages does it update?
      - Can I read the instructions published with one security notice?
      instructions:
      - text: Show security notice {notice_id}.
        slots:
          notice_id: path.notice_id
      - text: Get the packages and CVEs of USN {notice_id}.
        slots:
          notice_id: path.notice_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/security/page/notices.json'].get
  update:
    x-apievangelist-phrasing:
      intent: List notices for the security web page
      effect: read
      questions:
      - Is there a notices listing shaped for the security notices web page?
      - Can I build a notices page filtered to several releases at once?
      instructions:
      - text: List page-format notices for releases {release}.
        slots:
          release: query.release
      - text: Get page {offset} of security page notices, {limit} per page.
        slots:
          offset: query.offset
          limit: query.limit
      method: generated
      generated: '2026-10-01'
- target: $.paths['/security/releases.json'].get
  update:
    x-apievangelist-phrasing:
      intent: List Ubuntu releases
      effect: read
      questions:
      - Which Ubuntu releases does the security tracker cover?
      - When does standard support end for each Ubuntu release?
      instructions:
      - text: List all Ubuntu releases in the security tracker.
      - text: Show every tracked release with its support dates.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/security/releases/{release_codename}.json'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one Ubuntu release
      effect: read
      questions:
      - Is a given Ubuntu release LTS, and when does its ESM expire?
      - What version number belongs to a release codename?
      instructions:
      - text: Show release {release_codename}.
        slots:
          release_codename: path.release_codename
      - text: Get support and ESM dates for {release_codename}.
        slots:
          release_codename: path.release_codename
      method: generated
      generated: '2026-10-01'
- target: $.paths['/security/updates/cves.json'].put
  update:
    x-apievangelist-phrasing:
      intent: Bulk update CVE records
      effect: write
      questions:
      - How do I push a batch of CVE updates into the security tracker?
      - Can CVE records be replaced in bulk?
      instructions:
      - text: Replace the CVE records with this batch.
      - text: Bulk upload these CVE updates to the tracker.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/security/updates/cves/{cve_id}.json'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a CVE record
      effect: destructive
      questions:
      - How do I remove a CVE entry from the security tracker?
      - Can a mistaken CVE record be deleted?
      instructions:
      - text: Delete CVE record {cve_id}.
        slots:
          cve_id: path.cve_id
      - text: Remove {cve_id} from the security tracker.
        slots:
          cve_id: path.cve_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/security/updates/notices.json'].post
  update:
    x-apievangelist-phrasing:
      intent: Publish a new security notice
      effect: write
      questions:
      - How do I create a new Ubuntu Security Notice?
      - Which fields are required to publish a USN?
      instructions:
      - text: Create notice {id} titled {title} with summary {summary}, instructions {instructions}, published {published}.
        slots:
          id: requestBody.id
          title: requestBody.title
          summary: requestBody.summary
          instructions: requestBody.instructions
          published: requestBody.published
      - text: 'Publish USN {id} "{title}" on {published}: {summary}. Instructions: {instructions}.'
        slots:
          id: requestBody.id
          title: requestBody.title
          published: requestBody.published
          summary: requestBody.summary
          instructions: requestBody.instructions
      method: generated
      generated: '2026-10-01'
- target: $.paths['/security/updates/notices/{notice_id}.json'].put
  update:
    x-apievangelist-phrasing:
      intent: Update an existing security notice
      effect: write
      questions:
      - How do I correct a security notice that is already published?
      - Can I hide an existing USN by updating it?
      instructions:
      - text: Update notice {notice_id} with title {title}, summary {summary}, instructions {instructions}, published {published}, id {id}.
        slots:
          notice_id: path.notice_id
          title: requestBody.title
          summary: requestBody.summary
          instructions: requestBody.instructions
          published: requestBody.published
          id: requestBody.id
      - text: Replace existing USN {notice_id} and set hidden to {is_hidden}.
        slots:
          notice_id: path.notice_id
          is_hidden: requestBody.is_hidden
      method: generated
      generated: '2026-10-01'
- target: $.paths['/security/updates/notices/{notice_id}.json'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a security notice
      effect: destructive
      questions:
      - How do I delete a security notice that was published in error?
      - Is removing a USN permanent?
      instructions:
      - text: Delete security notice {notice_id}.
        slots:
          notice_id: path.notice_id
      - text: Remove USN {notice_id} from the tracker.
        slots:
          notice_id: path.notice_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/security/updates/releases.json'].post
  update:
    x-apievangelist-phrasing:
      intent: Add an Ubuntu release
      effect: write
      questions:
      - How do I add a new Ubuntu release to the security tracker?
      - What dates must I provide when registering a release?
      instructions:
      - text: Add release {codename} ({name} {version}) out {release_date}, LTS {lts}, dev {development}, support to {support_expires}, ESM to {esm_expires}.
        slots:
          codename: requestBody.codename
          name: requestBody.name
          version: requestBody.version
          release_date: requestBody.release_date
          lts: requestBody.lts
          development: requestBody.development
          support_expires: requestBody.support_expires
          esm_expires: requestBody.esm_expires
      - text: Register new release {codename} version {version}.
        slots:
          codename: requestBody.codename
          version: requestBody.version
      method: generated
      generated: '2026-10-01'
- target: $.paths['/security/updates/releases/{release_codename}.json'].put
  update:
    x-apievangelist-phrasing:
      intent: Update an Ubuntu release
      effect: write
      questions:
      - How do I change the support end date of a tracked release?
      - Can I mark an existing release as no longer in development?
      instructions:
      - text: Update release {release_codename} to support until {support_expires} and ESM until {esm_expires}.
        slots:
          release_codename: path.release_codename
          support_expires: requestBody.support_expires
          esm_expires: requestBody.esm_expires
      - text: Set development to {development} on existing release {release_codename}.
        slots:
          development: requestBody.development
          release_codename: path.release_codename
      method: generated
      generated: '2026-10-01'
- target: $.paths['/security/updates/releases/{release_codename}.json'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an Ubuntu release
      effect: destructive
      questions:
      - How do I remove a release from the security tracker?
      - Can a release codename added by mistake be deleted?
      instructions:
      - text: Delete release {release_codename}.
        slots:
          release_codename: path.release_codename
      - text: Remove {release_codename} from the tracked releases.
        slots:
          release_codename: path.release_codename
      method: generated
      generated: '2026-10-01'