HelipodDocs

Domains

Free *.helipod.app domains, your own domains, and TCP ports.

Every public port of a service can have a domain. HTTPS certificates are issued and renewed automatically.

List

GET/containers/services/{serviceId}/domains
{
  "success": true,
  "data": [
    { "id": "1a2b…", "kind": "helipod", "domain": "shop.helipod.app", "port": 3000, "protocol": "http", "status": "active", "url": "https://shop.helipod.app" },
    {
      "id": "3c4d…", "kind": "custom", "domain": "www.myshop.id", "port": 3000, "protocol": "http", "status": "active", "url": "https://www.myshop.id",
      "dns": { "type": "CNAME", "name": "www", "value": "cname.helipod.app" }
    },
    { "id": "5e6f…", "kind": "helipod", "domain": "shop-db.helipod.app", "port": 5432, "protocol": "tcp", "status": "active", "url": null }
  ]
}

status is provisioning while the route and certificate are being set up, then active (or failed).

Add a domain

POST/containers/services/{serviceId}/domains
Adds a Helipod domain or your own domain to a port.

Prop

Type

curl -X POST https://api.helipod.io/api/containers/services/$SERVICE/domains \
  -H "Authorization: Bearer hel_your_key" -H "Content-Type: application/json" \
  -d '{ "kind": "helipod", "port": 8080 }'

The name is based on the service name; if it is taken, a short random suffix is added.

Change the target port

PATCH/containers/services/{serviceId}/domains/{domainId}
Route the domain to another port of the service.

Prop

Type

curl -X PATCH https://api.helipod.io/api/containers/services/$SERVICE/domains/$DOMAIN \
  -H "Authorization: Bearer hel_your_key" -H "Content-Type: application/json" \
  -d '{ "port": 8080 }'

The response is { "domain": { ... }, "needsRedeploy": true }. When needsRedeploy is true, the new port is used from the next deploy.

Remove a domain

DELETE/containers/services/{serviceId}/domains/{domainId}

Returns { "id": "...", "deleted": true }.

On this page