Telnyx · Capability

Telnyx API — WireGuard Interfaces

Telnyx API — WireGuard Interfaces. 10 operations. Lead operation: List all WireGuard Interfaces. Self-contained Naftiko capability covering one Telnyx business surface.

Run with Naftiko TelnyxWireGuard Interfaces

What You Can Do

GET
Listwireguardinterfaces — List all WireGuard Interfaces
/v1/wireguard-interfaces
POST
Createwireguardinterface — Create a WireGuard Interface
/v1/wireguard-interfaces
DELETE
Deletewireguardinterface — Delete a WireGuard Interface
/v1/wireguard-interfaces/{id}
GET
Getwireguardinterface — Retrieve a WireGuard Interfaces
/v1/wireguard-interfaces/{id}
GET
Listwireguardpeers — List all WireGuard Peers
/v1/wireguard-peers
POST
Createwireguardpeer — Create a WireGuard Peer
/v1/wireguard-peers
DELETE
Deletewireguardpeer — Delete the WireGuard Peer
/v1/wireguard-peers/{id}
GET
Getwireguardpeer — Retrieve the WireGuard Peer
/v1/wireguard-peers/{id}
PATCH
Updatewireguardpeer — Update the WireGuard Peer
/v1/wireguard-peers/{id}
GET
Getwireguardpeerconfig — Retrieve Wireguard config template for Peer
/v1/wireguard-peers/{id}/config

MCP Tools

list-all-wireguard-interfaces

List all WireGuard Interfaces

read-only idempotent
create-wireguard-interface

Create a WireGuard Interface

delete-wireguard-interface

Delete a WireGuard Interface

idempotent
retrieve-wireguard-interfaces

Retrieve a WireGuard Interfaces

read-only idempotent
list-all-wireguard-peers

List all WireGuard Peers

read-only idempotent
create-wireguard-peer

Create a WireGuard Peer

delete-wireguard-peer

Delete the WireGuard Peer

idempotent
retrieve-wireguard-peer

Retrieve the WireGuard Peer

read-only idempotent
update-wireguard-peer

Update the WireGuard Peer

idempotent
retrieve-wireguard-config-template-peer

Retrieve Wireguard config template for Peer

read-only idempotent

Capability Spec

telnyx-wireguard-interfaces.yaml Raw ↑
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: $.