naftiko: 1.0.0-alpha2 info: label: supports a RESTful API for the Libpod library — networks description: 'supports a RESTful API for the Libpod library — networks. 9 operations. Lead operation: Create network. Self-contained Naftiko capability covering one Podman business surface.' tags: - Podman - networks created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: PODMAN_API_KEY: PODMAN_API_KEY capability: consumes: - type: http namespace: podman-networks baseUri: http://podman.io description: supports a RESTful API for the Libpod library — networks business capability. Self-contained, no shared references. resources: - name: libpod-networks-create path: /libpod/networks/create operations: - name: networkcreatelibpod method: POST description: Create network outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: create in: body type: string description: attributes for creating a network - name: ignoreIfExists in: query type: boolean description: Ignore the request if a network with the same name already exists. - name: libpod-networks-json path: /libpod/networks/json operations: - name: networklistlibpod method: GET description: List networks outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filters in: query type: string description: 'JSON encoded value of the filters (a `map[string][]string`) to process on the network list. Available filters:' - name: libpod-networks-prune path: /libpod/networks/prune operations: - name: networkprunelibpod method: POST description: Delete unused networks outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filters in: query type: string description: Filters to process on the prune list, encoded as JSON (a `map[string][]string`). - name: libpod-networks-name path: /libpod/networks/{name} operations: - name: networkdeletelibpod method: DELETE description: Remove a network outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: the name of the network required: true - name: force in: query type: boolean description: remove containers associated with network - name: libpod-networks-name-connect path: /libpod/networks/{name}/connect operations: - name: networkconnectlibpod method: POST description: Connect container to network outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: the name of the network required: true - name: create in: body type: string description: attributes for connecting a container to a network - name: libpod-networks-name-disconnect path: /libpod/networks/{name}/disconnect operations: - name: networkdisconnectlibpod method: POST description: Disconnect container from network outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: the name of the network required: true - name: create in: body type: string description: attributes for disconnecting a container from a network - name: libpod-networks-name-exists path: /libpod/networks/{name}/exists operations: - name: networkexistslibpod method: GET description: Network exists outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: the name or ID of the network required: true - name: libpod-networks-name-json path: /libpod/networks/{name}/json operations: - name: networkinspectlibpod method: GET description: Inspect a network outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: the name of the network required: true - name: libpod-networks-name-update path: /libpod/networks/{name}/update operations: - name: networkupdatelibpod method: POST description: Update existing podman network outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: the name or ID of the network required: true - name: update in: body type: string description: attributes for updating a netavark network exposes: - type: rest namespace: podman-networks-rest port: 8080 description: REST adapter for supports a RESTful API for the Libpod library — networks. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/libpod/networks/create name: libpod-networks-create description: REST surface for libpod-networks-create. operations: - method: POST name: networkcreatelibpod description: Create network call: podman-networks.networkcreatelibpod with: create: rest.create ignoreIfExists: rest.ignoreIfExists outputParameters: - type: object mapping: $. - path: /v1/libpod/networks/json name: libpod-networks-json description: REST surface for libpod-networks-json. operations: - method: GET name: networklistlibpod description: List networks call: podman-networks.networklistlibpod with: filters: rest.filters outputParameters: - type: object mapping: $. - path: /v1/libpod/networks/prune name: libpod-networks-prune description: REST surface for libpod-networks-prune. operations: - method: POST name: networkprunelibpod description: Delete unused networks call: podman-networks.networkprunelibpod with: filters: rest.filters outputParameters: - type: object mapping: $. - path: /v1/libpod/networks/{name} name: libpod-networks-name description: REST surface for libpod-networks-name. operations: - method: DELETE name: networkdeletelibpod description: Remove a network call: podman-networks.networkdeletelibpod with: name: rest.name force: rest.force outputParameters: - type: object mapping: $. - path: /v1/libpod/networks/{name}/connect name: libpod-networks-name-connect description: REST surface for libpod-networks-name-connect. operations: - method: POST name: networkconnectlibpod description: Connect container to network call: podman-networks.networkconnectlibpod with: name: rest.name create: rest.create outputParameters: - type: object mapping: $. - path: /v1/libpod/networks/{name}/disconnect name: libpod-networks-name-disconnect description: REST surface for libpod-networks-name-disconnect. operations: - method: POST name: networkdisconnectlibpod description: Disconnect container from network call: podman-networks.networkdisconnectlibpod with: name: rest.name create: rest.create outputParameters: - type: object mapping: $. - path: /v1/libpod/networks/{name}/exists name: libpod-networks-name-exists description: REST surface for libpod-networks-name-exists. operations: - method: GET name: networkexistslibpod description: Network exists call: podman-networks.networkexistslibpod with: name: rest.name outputParameters: - type: object mapping: $. - path: /v1/libpod/networks/{name}/json name: libpod-networks-name-json description: REST surface for libpod-networks-name-json. operations: - method: GET name: networkinspectlibpod description: Inspect a network call: podman-networks.networkinspectlibpod with: name: rest.name outputParameters: - type: object mapping: $. - path: /v1/libpod/networks/{name}/update name: libpod-networks-name-update description: REST surface for libpod-networks-name-update. operations: - method: POST name: networkupdatelibpod description: Update existing podman network call: podman-networks.networkupdatelibpod with: name: rest.name update: rest.update outputParameters: - type: object mapping: $. - type: mcp namespace: podman-networks-mcp port: 9090 transport: http description: MCP adapter for supports a RESTful API for the Libpod library — networks. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: create-network description: Create network hints: readOnly: false destructive: false idempotent: false call: podman-networks.networkcreatelibpod with: create: tools.create ignoreIfExists: tools.ignoreIfExists outputParameters: - type: object mapping: $. - name: list-networks description: List networks hints: readOnly: true destructive: false idempotent: true call: podman-networks.networklistlibpod with: filters: tools.filters outputParameters: - type: object mapping: $. - name: delete-unused-networks description: Delete unused networks hints: readOnly: false destructive: false idempotent: false call: podman-networks.networkprunelibpod with: filters: tools.filters outputParameters: - type: object mapping: $. - name: remove-network description: Remove a network hints: readOnly: false destructive: true idempotent: true call: podman-networks.networkdeletelibpod with: name: tools.name force: tools.force outputParameters: - type: object mapping: $. - name: connect-container-network description: Connect container to network hints: readOnly: false destructive: false idempotent: false call: podman-networks.networkconnectlibpod with: name: tools.name create: tools.create outputParameters: - type: object mapping: $. - name: disconnect-container-network description: Disconnect container from network hints: readOnly: false destructive: false idempotent: false call: podman-networks.networkdisconnectlibpod with: name: tools.name create: tools.create outputParameters: - type: object mapping: $. - name: network-exists description: Network exists hints: readOnly: true destructive: false idempotent: true call: podman-networks.networkexistslibpod with: name: tools.name outputParameters: - type: object mapping: $. - name: inspect-network description: Inspect a network hints: readOnly: true destructive: false idempotent: true call: podman-networks.networkinspectlibpod with: name: tools.name outputParameters: - type: object mapping: $. - name: update-existing-podman-network description: Update existing podman network hints: readOnly: false destructive: false idempotent: false call: podman-networks.networkupdatelibpod with: name: tools.name update: tools.update outputParameters: - type: object mapping: $.