Dedicated tunnels give you a public protected IP with full TCP/UDP NAT through a GRE tunnel to your hidden origin server. Base URL: https://panel.oakwall.mom/api Price: 100 ₽ one-time (debited from account balance in USD at the current rate).

Authentication

Use either:
  1. Panel sessionAuthorization: Bearer <JWT> from login
  2. API keyAuthorization: Bearer oak_… (issued by OakWall for approved integrations)
API keys are not self-service. Request access through your OakWall account manager.

Quick flow


Endpoints

Pricing & availability

GET /dedicated/pricing
No auth required for pricing (auth optional). Response:
{
  "price": 100,
  "currency": "RUB",
  "price_usd": 1.0,
  "usd_rub_rate": 100,
  "billing": "one_time",
  "includes": ["dedicated_public_ip", "full_tcp_udp_nat", "gre_tunnel"],
  "admin_ssh_port": 52222,
  "availability": {
    "total": 2,
    "available": 1,
    "in_stock": true
  }
}

Purchase

POST /dedicated
Body:
{
  "name": "my-game-server",
  "origin_ip": "78.47.52.67",
  "promocode": "OPTIONAL"
}
Response 201:
{
  "tunnel": {
    "id": "uuid",
    "protected_ip": "140.238.220.241",
    "origin_ip": "78.47.52.67",
    "ports": "*",
    "protocol": "both",
    "tunnel_name": "ow-0d5dd983",
    "status": "pending",
    "admin_ssh_port": 52222
  },
  "charged": 100,
  "charged_usd": 1.0,
  "currency": "RUB",
  "balance_after": 49.0,
  "next_steps": {
    "setup": "/api/dedicated/{id}/setup",
    "provision": "/api/dedicated/{id}/provision"
  }
}

List tunnels

GET /dedicated

Setup scripts (origin)

GET /dedicated/:id/setup
Returns scripts.origin and scripts.systemd_origin to run on the hidden server (origin_ip).

Provision proxy

POST /dedicated/:id/provision
Configures the OakWall dedicated proxy (GRE + full NAT). Requires write permission.

Activate

POST /dedicated/:id/activate
Mark tunnel active after origin script is applied.

Delete

DELETE /dedicated/:id

Example (curl)

# Pricing
curl -s https://panel.oakwall.mom/api/dedicated/pricing | jq

# Purchase
curl -s -X POST https://panel.oakwall.mom/api/dedicated \
  -H "Authorization: Bearer oak_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"shop-order-42","origin_ip":"78.47.52.67"}'

# Provision
curl -s -X POST https://panel.oakwall.mom/api/dedicated/TUNNEL_ID/provision \
  -H "Authorization: Bearer oak_YOUR_KEY"
OpenAPI: Panel API spec