Canonical Security API

The Security API from Canonical — 15 operation(s) for security.

Operations 17

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /security/compat/notices.json List security notices (compat format) · Get security compat notices json #
Ask an LLM
“Is there a backward-compatible feed of Ubuntu security notices?”
“Can I page through notices in the legacy compat format for one release?”
Tell an agent
List compat-format security notices for release {release}.
Get {limit} compat security notices mentioning CVE {cve_id}.
GET /security/compat/notices/{notice_id}.json Get one security notice (compat format) · Get security compat notices {notice id} json #
Ask an LLM
“Can I fetch a single USN in the older compat format?”
“Where is the compat version of one specific security notice?”
Tell an agent
Get compat-format notice {notice_id}.
Show security notice {notice_id} in compat format, including hidden: {show_hidden}.
GET /security/cves.json Search CVEs · Get security cves json #
Ask an LLM
“Which CVEs affect a given Ubuntu package?”
“Can I list high-priority CVEs grouped by priority?”
Tell an agent
Find CVEs affecting package {package}.
Search CVEs for {q} with priority {priority}.
GET /security/cves/{cve_id}.json Get one CVE · Get security cves {cve id} json #
Ask an LLM
“What is Ubuntu's status and priority for a specific CVE?”
“Which packages are fixed for a particular CVE ID?”
Tell an agent
Show CVE {cve_id}.
Get Ubuntu's tracking details for {cve_id}.
GET /security/notices.json List Ubuntu security notices · Get security notices json #
Ask an LLM
“Which Ubuntu Security Notices were published for noble?”
“Can I find the USNs that fix a particular CVE?”
Tell an agent
List security notices for release {release}.
Find USNs that address CVEs {cves}.
GET /security/notices/{notice_id}.json Get one Ubuntu security notice · Get security notices {notice id} json #
Ask an LLM
“What does a specific USN fix and which packages does it update?”
“Can I read the instructions published with one security notice?”
Tell an agent
Show security notice {notice_id}.
Get the packages and CVEs of USN {notice_id}.
GET /security/page/notices.json List notices for the security web page · Get security page notices json #
Ask an LLM
“Is there a notices listing shaped for the security notices web page?”
“Can I build a notices page filtered to several releases at once?”
Tell an agent
List page-format notices for releases {release}.
Get page {offset} of security page notices, {limit} per page.
GET /security/releases.json List Ubuntu releases · Get security releases json #
Ask an LLM
“Which Ubuntu releases does the security tracker cover?”
“When does standard support end for each Ubuntu release?”
Tell an agent
List all Ubuntu releases in the security tracker.
Show every tracked release with its support dates.
GET /security/releases/{release_codename}.json Get one Ubuntu release · Get security releases {release codename} json #
Ask an LLM
“Is a given Ubuntu release LTS, and when does its ESM expire?”
“What version number belongs to a release codename?”
Tell an agent
Show release {release_codename}.
Get support and ESM dates for {release_codename}.
PUT /security/updates/cves.json Bulk update CVE records · Replace security updates cves json #
Ask an LLM
“How do I push a batch of CVE updates into the security tracker?”
“Can CVE records be replaced in bulk?”
Tell an agent
Replace the CVE records with this batch.
Bulk upload these CVE updates to the tracker.
DELETE /security/updates/cves/{cve_id}.json Delete a CVE record · Delete security updates cves {cve id} json #
Ask an LLM
“How do I remove a CVE entry from the security tracker?”
“Can a mistaken CVE record be deleted?”
Tell an agent destructive · confirm first
Delete CVE record {cve_id}.
Remove {cve_id} from the security tracker.
POST /security/updates/notices.json Publish a new security notice · Create security updates notices json #
Ask an LLM
“How do I create a new Ubuntu Security Notice?”
“Which fields are required to publish a USN?”
Tell an agent
Create notice {id} titled {title} with summary {summary}, instructions {instructions}, published {published}.
Publish USN {id} "{title}" on {published}: {summary}. Instructions: {instructions}.
DELETE /security/updates/notices/{notice_id}.json Delete a security notice · Delete security updates notices {notice id} json #
Ask an LLM
“How do I delete a security notice that was published in error?”
“Is removing a USN permanent?”
Tell an agent destructive · confirm first
Delete security notice {notice_id}.
Remove USN {notice_id} from the tracker.
PUT /security/updates/notices/{notice_id}.json Update an existing security notice · Replace security updates notices {notice id} json #
Ask an LLM
“How do I correct a security notice that is already published?”
“Can I hide an existing USN by updating it?”
Tell an agent
Update notice {notice_id} with title {title}, summary {summary}, instructions {instructions}, published {published}, id {id}.
Replace existing USN {notice_id} and set hidden to {is_hidden}.
POST /security/updates/releases.json Add an Ubuntu release · Create security updates releases json #
Ask an LLM
“How do I add a new Ubuntu release to the security tracker?”
“What dates must I provide when registering a release?”
Tell an agent
Add release {codename} ({name} {version}) out {release_date}, LTS {lts}, dev {development}, support to {support_expires}, ESM to {esm_expires}.
Register new release {codename} version {version}.
DELETE /security/updates/releases/{release_codename}.json Delete an Ubuntu release · Delete security updates releases {release codename} json #
Ask an LLM
“How do I remove a release from the security tracker?”
“Can a release codename added by mistake be deleted?”
Tell an agent destructive · confirm first
Delete release {release_codename}.
Remove {release_codename} from the tracked releases.
PUT /security/updates/releases/{release_codename}.json Update an Ubuntu release · Replace security updates releases {release codename} json #
Ask an LLM
“How do I change the support end date of a tracked release?”
“Can I mark an existing release as no longer in development?”
Tell an agent
Update release {release_codename} to support until {support_expires} and ESM until {esm_expires}.
Set development to {development} on existing release {release_codename}.

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/canonical:canonical-security-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

canonical-security-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Ubuntu Security API
  version: v1
tags:


# --- truncated at 32 KB (46 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/canonical/refs/heads/main/openapi/canonical-security-api-openapi.yml