Canonical · Schema
ConnectionStatus
The overall connection status of plugs and slots on the system.
CanonicalCloudLinuxOpen SourceUbuntuContainersBare MetalCharmsIdentity
Properties
| Name | Type | Description |
|---|---|---|
| established | array | A list of connections that are currently established. |
| undesired | array | A list of connections that have been manually disconnected. |
| plugs | array | A list of all available plugs. |
| slots | array | A list of all available slots. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/canonical/main/json-schema/canonical-connection-status-schema.json",
"title": "ConnectionStatus",
"description": "The overall connection status of plugs and slots on the system.",
"x-generated": "2026-10-04",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/canonical-interfaces-api-openapi.yml#/components/schemas/ConnectionStatus",
"type": "object",
"properties": {
"established": {
"type": "array",
"description": "A list of connections that are currently established.",
"items": {
"$ref": "#/$defs/Connection"
}
},
"undesired": {
"type": "array",
"description": "A list of connections that have been manually disconnected.",
"items": {
"$ref": "#/$defs/Connection"
}
},
"plugs": {
"type": "array",
"description": "A list of all available plugs.",
"items": {
"$ref": "#/$defs/Plug"
}
},
"slots": {
"type": "array",
"description": "A list of all available slots.",
"items": {
"$ref": "#/$defs/Slot"
}
}
},
"$defs": {
"Connection": {
"type": "object",
"description": "Represents a connection between a specific plug and slot.",
"properties": {
"slot": {
"$ref": "#/$defs/SlotRef"
},
"plug": {
"$ref": "#/$defs/PlugRef"
},
"interface": {
"type": "string",
"description": "The name of the interface governing the connection."
},
"manual": {
"type": "boolean",
"description": "True if the connection was established manually."
},
"gadget": {
"type": "boolean",
"description": "True if the connection is defined by the gadget snap."
},
"slot-attrs": {
"type": "object",
"additionalProperties": true,
"description": "A map of the slot's attributes.\nThese are negotiated by and belong to the connection."
},
"plug-attrs": {
"type": "object",
"additionalProperties": true,
"description": "A map of the plug's attributes.\nThese are negotiated by and belong to the connection."
}
}
},
"Plug": {
"type": "object",
"description": "Detailed information about a plug.",
"properties": {
"snap": {
"type": "string",
"description": "The name of the snap providing the plug."
},
"plug": {
"type": "string",
"description": "The name of the plug itself."
},
"interface": {
"type": "string",
"description": "The interface name for the plug."
},
"attrs": {
"type": "object",
"additionalProperties": true,
"description": "A static map of the plug's attributes.\nThese are attributes that belong to the plug"
},
"apps": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of apps associated with this plug."
},
"label": {
"type": "string",
"description": "The display label for the plug."
},
"connections": {
"type": "array",
"items": {
"$ref": "#/$defs/SlotRef"
},
"description": "A list of slots this plug is connected to."
}
}
},
"PlugRef": {
"type": "object",
"description": "A reference to a specific plug.",
"properties": {
"snap": {
"type": "string",
"description": "The name of the snap providing the plug."
},
"plug": {
"type": "string",
"description": "The name of the plug."
}
}
},
"Slot": {
"type": "object",
"description": "Detailed information about a slot.",
"properties": {
"snap": {
"type": "string",
"description": "The name of the snap providing the slot."
},
"slot": {
"type": "string",
"description": "The name of the slot itself."
},
"interface": {
"type": "string",
"description": "The interface name for the slot."
},
"attrs": {
"type": "object",
"additionalProperties": true,
"description": "A static map of the slot's attributes.\nThese are attributes that belong to the slot"
},
"apps": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of apps associated with this slot."
},
"label": {
"type": "string",
"description": "The display label for the slot."
},
"connections": {
"type": "array",
"items": {
"$ref": "#/$defs/PlugRef"
},
"description": "A list of plugs connected to this slot."
}
}
},
"SlotRef": {
"type": "object",
"description": "A reference to a specific slot.",
"properties": {
"snap": {
"type": "string",
"description": "The name of the snap providing the slot."
},
"slot": {
"type": "string",
"description": "The name of the slot."
}
}
}
}
}
Work with this as data
Every JSON Schema 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 schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/canonical-connection-status"
All schemas
curl "https://apis.io/api/v1/json-schemas?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.