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}/domainsAdds 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 }.