Skip to content

Attach a custom domain to an app

POST/apps/{name}/domains

Attaches a custom domain (FQDN, globally unique — one domain to one app). A request whose Host is the domain then routes to this app, and in terminate mode the proxy obtains a cert for it.

path parameters
object
namestringrequired

App name (a DNS label, e.g. web).

Request bodyapplication/json
AddDomainReq
domainstring
Responses
200 OKOK
AppResponse
can_callarray
items
string
created_atstringdate-time
desired_statestring
disk_bytesintegerint64
domainsarray
items
string
envobject
additional properties
string
generationintegermin 0
healthHealthCheck
cmdarray
items
string
healthy_thresholdinteger
interval_sinteger
pathstring
portinteger
start_period_sinteger
timeout_sinteger
typestring
unhealthy_thresholdinteger
http_redirectboolean | null
idstring
imageImageRef
ocistring
pathstring
memory_mibinteger
namestring
networkNetworkRequest
allowlistarray
items
string
allowlist_cidrarray
items
string
enabledboolean
full_egressboolean
portinteger
publisharray
items
PortMapping
guest_portinteger
host_ipstring
host_portinteger
protocolstring
publish_allboolean
pullstring
restartWireRestartPolicy
max_retriesinteger
policystring
serviceWireServiceSpec
cmdarray | null
items
string
cwdstring
envobject
additional properties
string
env_exactboolean
log_buffer_bytesinteger
restartWireRestartPolicy
max_retriesinteger
policystring
stop_grace_sinteger
stop_signalstring
userstring
sleepSleepPolicy
conn_idle_timeout_sinteger
idle_timeout_sinteger
keep_connectionsboolean
max_scaleinteger
min_scaleinteger
target_concurrencyinteger
statusAppStatus
healthstring
instance_generationintegermin 0
instance_idstring
instancesarray
items
InstanceStatus
generationintegermin 0
healthstring
instance_idstring
last_errorstring
last_wake_latency_msintegerint64
phasestring
ready_replicasinteger
replicasinteger
restartsinteger
sleep_countinteger
tls_modestring
updated_atstringdate-time
vcpusinteger
volumesarray
items
VolumeMount
namestring
pathstring
400 Bad requestBad Request
ErrorResponse
codestring
errorstring
404 Not foundNot Found
ErrorResponse
codestring
errorstring
409 ConflictConflict
ErrorResponse
codestring
errorstring
501 Not Implemented
ErrorResponse
codestring
errorstring
Authentication
bearerAuthHTTP bearer. Daemon API key. Omit on a keyless loopback daemon.
Request
POST/apps/{name}/domains
cURL
curl '/apps/{name}/domains' \
  -X POST \
  -H 'Content-Type: application/json' \
  -d '{}'
POST/apps/{name}/domains
Request
Path
Authorization
curl '/apps/{name}/domains' \
  -X POST \
  -H 'Content-Type: application/json' \
  -d '{}'
Response
Send a request to see the response.
Response
200 OK
{
  "can_call": [
    "string"
  ],
  "created_at": "2026-01-02T15:04:05Z",
  "desired_state": "string",
  "disk_bytes": 0,
  "domains": [
    "string"
  ],
  "env": {},
  "generation": 0,
  "health": {
    "cmd": [
      "string"
    ],
    "healthy_threshold": 0,
    "interval_s": 0,
    "path": "string",
    "port": 0,
    "start_period_s": 0,
    "timeout_s": 0,
    "type": "string",
    "unhealthy_threshold": 0
  },
  "http_redirect": false,
  "id": "string",
  "image": {
    "oci": "string",
    "path": "string"
  },
  "memory_mib": 0,
  "name": "string",
  "network": {
    "allowlist": [
      "string"
    ],
    "allowlist_cidr": [
      "string"
    ],
    "enabled": false,
    "full_egress": false
  },
  "port": 0,
  "publish": [
    {
      "guest_port": 0,
      "host_ip": "string",
      "host_port": 0,
      "protocol": "string"
    }
  ],
  "publish_all": false,
  "pull": "string",
  "restart": {
    "max_retries": 0,
    "policy": "string"
  },
  "service": {
    "cmd": [
      "string"
    ],
    "cwd": "string",
    "env": {},
    "env_exact": false,
    "log_buffer_bytes": 0,
    "restart": {
      "max_retries": 0,
      "policy": "string"
    },
    "stop_grace_s": 0,
    "stop_signal": "string",
    "user": "string"
  },
  "sleep": {
    "conn_idle_timeout_s": 0,
    "idle_timeout_s": 0,
    "keep_connections": false,
    "max_scale": 0,
    "min_scale": 0,
    "target_concurrency": 0
  },
  "status": {
    "health": "string",
    "instance_generation": 0,
    "instance_id": "string",
    "instances": [
      {
        "generation": 0,
        "health": "string",
        "instance_id": "string"
      }
    ],
    "last_error": "string",
    "last_wake_latency_ms": 0,
    "phase": "string",
    "ready_replicas": 0,
    "replicas": 0,
    "restarts": 0,
    "sleep_count": 0
  },
  "tls_mode": "string",
  "updated_at": "2026-01-02T15:04:05Z",
  "vcpus": 0,
  "volumes": [
    {
      "name": "string",
      "path": "string"
    }
  ]
}
Was this page helpful?