---
title: "Create a tunnel"
method: POST
path: "/v1/tunnel/create"
tags: ["Tunnel"]
---

# Create a tunnel

`POST /v1/tunnel/create`

Launches a new TestingBot Tunnel VM and returns its connection metadata. Most users start tunnels via the tunnel client/CLI rather than this endpoint directly.

## Response `201`

Create a tunnel

- TestingbotEntitiesTunnel — Testingbot_Entities_Tunnel model
  - `id` integer, required — Unique numeric tunnel ID.
  - `state` string, required — Tunnel lifecycle state (READY, STOPPED, …).
  - `private_ip` string, required — Internal IP of the tunnel VM, used to chain the tunnel with BrowserMob.
  - `ip` string, required — Public IP of the tunnel VM. Only present once `state` is READY.
  - `version` string, required — Latest tunnel client version TestingBot supports.

## Other responses

- `401` — Authentication required
- `402` — Tunnel quota exhausted

---

[API](https://skmtc.net/testingbot/apis/testingbot-rest-api.md) · [All operations](https://skmtc.net/testingbot/apis/testingbot-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/testingbot/testingbot-rest-api/versions/eff607a49246/schema)
