Webhook Relay Tunnels API

Tunnels allow remote access to internal web services such as local Wordpress, Jekyll or Hexo. Recommended `crypto` options are `flexible` or `tls-pass-through`.

Operations 5

GET /v1/tunnels List All Tunnels #
POST /v1/tunnels Create a New Tunnel #
GET /v1/tunnels/{tunnelID} Get Tunnel Details #
PUT /v1/tunnels/{tunnelID} Update Tunnel Details #
DELETE /v1/tunnels/{tunnelID} Delete Tunnel #

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/webhook-relay:webhook-relay-tunnels-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

webhook-relay-tunnels-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: '1.0'
  title: Webhook Relay Tunnels API
  description: '# Introduction

    Fast, secure tunnels to your internal networks.'
  termsOfService: https://webhookrelay.com/tos/
  contact:
    email: support@webhookrelay.com
servers:
- url: https://my.webhookrelay.com/
tags:
- name: Tunnels
  description: Tunnels allow remote access to internal web services such as local Wordpress, Jekyll or Hexo. Recommended `crypto` options are `flexible` or `tls-pass-through`.
paths:
  /v1/tunnels:
    x-summary: List and create tunnels
    get:
      tags:
      - Tunnels
      summary: List All Tunnels
      responses:
        200:
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Tunnel'
              example:
              - id: b3237483-e96e-4f3a-905c-0d9603d66c1f
                created_at: 1534409264
                updated_at: 1534409264
                name: tunnel-x
                destination: http://localhost:4000
                host: tunnelx.webrelay.io
      operationId: getV1Tunnels
      x-operation-id-source: derived
    post:
      tags:
      - Tunnels
      description: You may create your own tunnel using this action. It takes a JSON object containing a tunnel request with a specified destination. Paid plans have an option to specify either encryption, subdomain or full domain.
      summary: Create a New Tunnel
      responses:
        201:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Tunnel'
              example:
                id: b3237483-e96e-4f3a-905c-0d9603d66c1f
                created_at: 1534409264
                updated_at: 1534409264
                name: tunnel-x
                destination: http://localhost:4000
                host: tunnelx.webrelay.io
        400:
          description: Invalid tunnel request supplied
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Tunnel'
        required: true
      operationId: postV1Tunnels
      x-operation-id-source: derived
  /v1/tunnels/{tunnelID}:
    x-summary: Get, update and delete tunnels
    parameters:
    - name: tunnelID
      in: path
      description: ID of tunnel to return
      required: true
      schema:
        type: string
    get:
      tags:
      - Tunnels
      summary: Get Tunnel Details
      responses:
        200:
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Tunnel'
              example:
                created_at: 1534409264
                updated_at: 1534409264
                id: b3237483-e96e-4f3a-905c-0d9603d66c1f
                destination: http://localhost:8090
                name: tunnel
                group: ''
                addr: ''
                host: tunnelx.webrelay.io
                mode: active
                protocol: http
                account_id: bd7e1dfc-54c8-408c-a885-7498bf1d8522
                description: ''
                features: null
                auth:
                  created_at: 1534409264
                  updated_at: 1534409264
                  id: eb3fbc49-0713-48b1-8971-a7c4a9c64dfb
                  type: none
                agent_id: ''
                ingress_rules: null
                crypto: 'off'
        404:
          description: Tunnel not found
      operationId: getV1TunnelsByTunnelID
      x-operation-id-source: derived
    put:
      tags:
      - Tunnels
      summary: Update Tunnel Details
      responses:
        200:
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Tunnel'
              example:
                created_at: 1534409264
                updated_at: 1534409264
                id: b3237483-e96e-4f3a-905c-0d9603d66c1f
                destination: http://localhost:8090
                name: tunnel
                group: ''
                addr: ''
                host: tunnelx.webrelay.io
                mode: active
                protocol: http
                account_id: bd7e1dfc-54c8-408c-a885-7498bf1d8522
                description: ''
                features: null
                auth:
                  created_at: 1534409264
                  updated_at: 1534409264
                  id: eb3fbc49-0713-48b1-8971-a7c4a9c64dfb
                  type: none
                agent_id: ''
                ingress_rules: null
                crypto: 'off'
        404:
          description: Tunnel not found
        400:
          description: Bad request (check response message)
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Tunnel'
        required: true
      operationId: putV1TunnelsByTunnelID
      x-operation-id-source: derived
    delete:
      tags:
      - Tunnels
      summary: Delete Tunnel
      responses:
        200:
          description: Successful Response
        404:
          description: Tunnel not found
      operationId: deleteV1TunnelsByTunnelID
      x-operation-id-source: derived
components:
  schemas:
    TunnelAuth:
      title: Tunnel Authentication
      type: object
      properties:
        id:
          type: string
          readOnly: true
        created_at:
          type: integer
          readOnly: true
        updated_at:
          type: integer
          readOnly: true
        type:
          type: string
        username:
          type: string
        password:
          type: string
        token:
          type: string
    Tunnel:
      title: Tunnel
      type: object
      properties:
        id:
          type: string
          readOnly: true
        created_at:
          type: integer
          readOnly: true
        updated_at:
          type: integer
          readOnly: true
        destination:
          type: string
        name:
          type: string
        region:
          type: string
          enum:
          - ''
          - us-west
          - eu
          - au
          description: Tunnel region
          example: au
        group:
          type: string
          description: Groups allow agents to subscribe to one or more tunnels
        host:
          type: string
        protocol:
          type: string
        description:
          type: string
        auth:
          type: object
          $ref: '#/components/schemas/TunnelAuth'
        crypto:
          enum:
          - 'off'
          - flexible
          - full
          - full-strict
          - tls-pass-through
          type: string
          description: Tunnel encryption type
          example: flexible
      example:
        created_at: 1534409264
        updated_at: 1534409264
        id: b3237483-e96e-4f3a-905c-0d9603d66c1f
        destination: http://localhost:8090
        name: tunnel
        group: ''
        addr: ''
        host: tunnelx.webrelay.io
        protocol: http
        account_id: bd7e1dfc-54c8-408c-a885-7498bf1d8522
        description: ''
        features: null
        auth:
          created_at: 1534409264
          updated_at: 1534409264
          id: eb3fbc49-0713-48b1-8971-a7c4a9c64dfb
          type: none
        agent_id: ''
        ingress_rules: null
        crypto: 'off'
externalDocs:
  description: Find out more in the official documentation.
  url: https://webhookrelay.com/docs
x-tagGroups:
- name: Authentication
  tags:
  - Tokens
- name: Webhook Forwarding
  tags:
  - Buckets
  - Outputs
  - Inputs
  - Logs
  - Functions
- name: Tunneling
  tags:
  - Tunnels