Skip to content

App domains

App domains are the base domains that the platform makes available for custom app subdomains. A custom domain is set on an app at creation time (or when deploying from a template) by combining one of these base domains with a subdomain of your choice, for example grafana.galaxygate.app. Before assigning a domain to an app, use the availability check to confirm the full name is not already taken.

List available domains

GET/v1/apps/domainsList available domains

Returns the list of base domains that can be used for app subdomains. Any authenticated user may call this endpoint.

Returns an array of domain objects.

FieldTypeDescription
namestringBase domain name, for example galaxygate.app
proxy_modestringHow traffic to apps on this domain is delivered. cloudflare means the subdomain is proxied through Cloudflare; direct means the DNS record points straight at the instance.
bash
curl -A 'curl/8.5' \
  -H "Authorization: Bearer $GALAXYGATE_TOKEN" \
  "https://api.galaxygate.net/v1/apps/domains"

Example response:

json
[
  { "name": "galaxygate.app", "proxy_mode": "cloudflare" },
  { "name": "galaxygate.cloud", "proxy_mode": "direct" },
  { "name": "memer.space", "proxy_mode": "cloudflare" }
]

Check domain availability

POST/v1/apps/domainsCheck domain availability

Checks whether a full domain name is already assigned to an app. The response status code carries the result; the body is empty in both cases.

Request body

FieldTypeRequiredDescription
domainstringyesFull domain name to check, for example grafana.galaxygate.app

Responses

StatusMeaning
200 OKThe domain is already in use. Choose a different subdomain.
404 Not FoundThe domain is available and can be assigned to an app.
bash
curl -X POST -A 'curl/8.5' \
  -H "Authorization: Bearer $GALAXYGATE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "domain": "grafana.galaxygate.app" }' \
  "https://api.galaxygate.net/v1/apps/domains"

A 404 response means the name is free. A 200 response means it is taken.