Halo v1 is live — read the launch notes.

Domains

Manage custom domains, certificates, and aliases.

The domain endpoints attach a custom hostname to a project, surface DNS instructions, and report cert status.

Add a domain

http
POST /v1/projects/{project_id}/domains
hostname string body required

Fully qualified domain. Wildcards allowed: *.example.com.

redirect_to string body

Optional. If set, this domain serves a 308 to the given hostname.

Response

hostname string
status string

pending, verifying, active, error.

dns object

Records you need to set. { type, name, value }[].

tls object

{ status, expires_at, issuer }. Halo auto-renews 30 days before expiry.

Request example
bash
curl https://api.halo.app/v1/projects/prj_abc123/domains \
  -H "Authorization: Bearer $HALO_TOKEN" \
  -d '{ "hostname": "my-app.com" }'
Response example
json
{
  "hostname": "my-app.com",
  "status": "pending",
  "dns": [
    { "type": "A", "name": "@", "value": "76.76.21.21" },
    { "type": "AAAA", "name": "@", "value": "2606:4700:4400::6810:1518" }
  ],
  "tls": { "status": "pending", "expires_at": null, "issuer": null }
}

List domains

http
GET /v1/projects/{project_id}/domains

Delete a domain

http
DELETE /v1/projects/{project_id}/domains/{hostname}

Releases the hostname and revokes the cert. The domain is detached from production within 5 seconds at the edge.

Last updated Edit this page
↑↓ navigate open esc close