naftiko: 1.0.0-alpha2 info: label: Telnyx API — WireGuard Interfaces description: 'Telnyx API — WireGuard Interfaces. 10 operations. Lead operation: List all WireGuard Interfaces. Self-contained Naftiko capability covering one Telnyx business surface.' tags: - Telnyx - WireGuard Interfaces created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: TELNYX_API_KEY: TELNYX_API_KEY capability: consumes: - type: http namespace: telnyx-wireguard-interfaces baseUri: https://api.telnyx.com/v2 description: Telnyx API — WireGuard Interfaces business capability. Self-contained, no shared references. resources: - name: wireguard_interfaces path: /wireguard_interfaces operations: - name: listwireguardinterfaces method: GET description: List all WireGuard Interfaces outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filter in: query type: object description: 'Consolidated filter parameter (deepObject style). Originally: filter[network_id]' - name: createwireguardinterface method: POST description: Create a WireGuard Interface outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: wireguard_interfaces-id path: /wireguard_interfaces/{id} operations: - name: deletewireguardinterface method: DELETE description: Delete a WireGuard Interface outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getwireguardinterface method: GET description: Retrieve a WireGuard Interfaces outputRawFormat: json outputParameters: - name: result type: object value: $. - name: wireguard_peers path: /wireguard_peers operations: - name: listwireguardpeers method: GET description: List all WireGuard Peers outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filter in: query type: object description: 'Consolidated filter parameter (deepObject style). Originally: filter[wireguard_interface_id]' - name: createwireguardpeer method: POST description: Create a WireGuard Peer outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: wireguard_peers-id path: /wireguard_peers/{id} operations: - name: deletewireguardpeer method: DELETE description: Delete the WireGuard Peer outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getwireguardpeer method: GET description: Retrieve the WireGuard Peer outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatewireguardpeer method: PATCH description: Update the WireGuard Peer outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: wireguard_peers-id-config path: /wireguard_peers/{id}/config operations: - name: getwireguardpeerconfig method: GET description: Retrieve Wireguard config template for Peer outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.TELNYX_API_KEY}}' exposes: - type: rest namespace: telnyx-wireguard-interfaces-rest port: 8080 description: REST adapter for Telnyx API — WireGuard Interfaces. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/wireguard-interfaces name: wireguard-interfaces description: REST surface for wireguard_interfaces. operations: - method: GET name: listwireguardinterfaces description: List all WireGuard Interfaces call: telnyx-wireguard-interfaces.listwireguardinterfaces with: filter: rest.filter outputParameters: - type: object mapping: $. - method: POST name: createwireguardinterface description: Create a WireGuard Interface call: telnyx-wireguard-interfaces.createwireguardinterface with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/wireguard-interfaces/{id} name: wireguard-interfaces-id description: REST surface for wireguard_interfaces-id. operations: - method: DELETE name: deletewireguardinterface description: Delete a WireGuard Interface call: telnyx-wireguard-interfaces.deletewireguardinterface outputParameters: - type: object mapping: $. - method: GET name: getwireguardinterface description: Retrieve a WireGuard Interfaces call: telnyx-wireguard-interfaces.getwireguardinterface outputParameters: - type: object mapping: $. - path: /v1/wireguard-peers name: wireguard-peers description: REST surface for wireguard_peers. operations: - method: GET name: listwireguardpeers description: List all WireGuard Peers call: telnyx-wireguard-interfaces.listwireguardpeers with: filter: rest.filter outputParameters: - type: object mapping: $. - method: POST name: createwireguardpeer description: Create a WireGuard Peer call: telnyx-wireguard-interfaces.createwireguardpeer with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/wireguard-peers/{id} name: wireguard-peers-id description: REST surface for wireguard_peers-id. operations: - method: DELETE name: deletewireguardpeer description: Delete the WireGuard Peer call: telnyx-wireguard-interfaces.deletewireguardpeer outputParameters: - type: object mapping: $. - method: GET name: getwireguardpeer description: Retrieve the WireGuard Peer call: telnyx-wireguard-interfaces.getwireguardpeer outputParameters: - type: object mapping: $. - method: PATCH name: updatewireguardpeer description: Update the WireGuard Peer call: telnyx-wireguard-interfaces.updatewireguardpeer with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/wireguard-peers/{id}/config name: wireguard-peers-id-config description: REST surface for wireguard_peers-id-config. operations: - method: GET name: getwireguardpeerconfig description: Retrieve Wireguard config template for Peer call: telnyx-wireguard-interfaces.getwireguardpeerconfig outputParameters: - type: object mapping: $. - type: mcp namespace: telnyx-wireguard-interfaces-mcp port: 9090 transport: http description: MCP adapter for Telnyx API — WireGuard Interfaces. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-all-wireguard-interfaces description: List all WireGuard Interfaces hints: readOnly: true destructive: false idempotent: true call: telnyx-wireguard-interfaces.listwireguardinterfaces with: filter: tools.filter outputParameters: - type: object mapping: $. - name: create-wireguard-interface description: Create a WireGuard Interface hints: readOnly: false destructive: false idempotent: false call: telnyx-wireguard-interfaces.createwireguardinterface with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-wireguard-interface description: Delete a WireGuard Interface hints: readOnly: false destructive: true idempotent: true call: telnyx-wireguard-interfaces.deletewireguardinterface outputParameters: - type: object mapping: $. - name: retrieve-wireguard-interfaces description: Retrieve a WireGuard Interfaces hints: readOnly: true destructive: false idempotent: true call: telnyx-wireguard-interfaces.getwireguardinterface outputParameters: - type: object mapping: $. - name: list-all-wireguard-peers description: List all WireGuard Peers hints: readOnly: true destructive: false idempotent: true call: telnyx-wireguard-interfaces.listwireguardpeers with: filter: tools.filter outputParameters: - type: object mapping: $. - name: create-wireguard-peer description: Create a WireGuard Peer hints: readOnly: false destructive: false idempotent: false call: telnyx-wireguard-interfaces.createwireguardpeer with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-wireguard-peer description: Delete the WireGuard Peer hints: readOnly: false destructive: true idempotent: true call: telnyx-wireguard-interfaces.deletewireguardpeer outputParameters: - type: object mapping: $. - name: retrieve-wireguard-peer description: Retrieve the WireGuard Peer hints: readOnly: true destructive: false idempotent: true call: telnyx-wireguard-interfaces.getwireguardpeer outputParameters: - type: object mapping: $. - name: update-wireguard-peer description: Update the WireGuard Peer hints: readOnly: false destructive: false idempotent: true call: telnyx-wireguard-interfaces.updatewireguardpeer with: body: tools.body outputParameters: - type: object mapping: $. - name: retrieve-wireguard-config-template-peer description: Retrieve Wireguard config template for Peer hints: readOnly: true destructive: false idempotent: true call: telnyx-wireguard-interfaces.getwireguardpeerconfig outputParameters: - type: object mapping: $.