Static Tunnels API
Manage reserved static tunnel slugs for persistent HTTP tunnel subdomains.
Paid Feature
Static tunnels require a paid plan. See Plans & Billing.
List static tunnels
GET /api/v1/organizations/:id/static-tunnels
curl https://app.hooklistener.com/api/v1/organizations/org_abc123/static-tunnels \
-H "Authorization: Bearer hklst_your_api_key"
Response:
{
"data": [
{
"id": "st_abc123",
"slug": "my-cool-app",
"name": "Local App",
"created_at": "2025-01-15T10:00:00Z"
}
]
}
Create a static tunnel slug
POST /api/v1/organizations/:id/static-tunnels
curl -X POST https://app.hooklistener.com/api/v1/organizations/org_abc123/static-tunnels \
-H "Authorization: Bearer hklst_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"slug": "my-cool-app",
"name": "Local App"
}'
Request body:
| Field | Type | Required | Description |
|---|---|---|---|
slug | string | Yes | Subdomain to reserve |
name | string | No | Display name |
Response: 201 Created
{
"id": "st_abc123",
"slug": "my-cool-app",
"name": "Local App",
"created_at": "2025-01-15T10:00:00Z"
}
Delete a static tunnel slug
DELETE /api/v1/organizations/:id/static-tunnels/:slug_id
curl -X DELETE https://app.hooklistener.com/api/v1/organizations/org_abc123/static-tunnels/st_abc123 \
-H "Authorization: Bearer hklst_your_api_key"
Response: 204 No Content
Using static tunnel slugs
After creating a slug, use it with the CLI:
hooklistener tunnel --slug my-cool-app --port 3000
# Tunnel URL: https://my-cool-app.hooklistener.dev
See CLI: Static Tunnels for CLI usage.