Returns every hostname this app answers on.
Returns every hostname this app answers on.
GET /v1/platform/projects/{project}/apps/{app}/domains
| Address | https://api.hanzo.ai/v1/platform/projects/{project}/apps/{app}/domains |
| Method | GET |
| Operation | get_platform_projects_by_project_apps_by_app_domains |
| Auth | Authorization: Bearer $HANZO_API_KEY |
Returns every hostname this app answers on.
It lists the app's hosts: the permanent default host it was born with, any org-subtree hosts attached to it, and every custom host claimed for it with its verification state and, while pending, the DNS challenge records to publish. Live endpoint status for each host is observed from the cluster. Requires a validated principal; 403 without one.
Request
2 fields.
| Field | In | Type | Required | Description |
|---|---|---|---|---|
project | path | string | yes | Project is the project the application lives under, from the path. |
app | path | string | yes | App is the application's slug, from the path. |
Response
| Status | Body | Meaning |
|---|---|---|
200 | domainView[] | ok |
200 body — 12 fields.
| Field | In | Type | Always | Description |
|---|---|---|---|---|
[].createdAt | body | integer | — | CreatedAt is the unix second the custom claim was made. |
[].detail | body | string | — | Detail says why a claim is still pending, in the resolver's own words. |
[].host | body | string | — | Host is the hostname itself. |
[].kind | body | string | — | Kind is default, subtree or custom — how the org came to own it. |
[].primary | body | boolean | — | Primary marks the app's permanent default host. |
[].records | body | Record[] | — | Records are the DNS records to publish while a custom claim is pending. |
[].records[].name | body | string | — | the record name the customer creates |
[].records[].type | body | string | — | TXT | CNAME |
[].records[].value | body | string | — | the record value |
[].status | body | string | — | Status is live, provisioning, pending_deploy or pending, derived from the operator CR and never fabricated. |
[].url | body | string | — | URL is the host as an HTTPS address. |
[].verified | body | boolean | — | Verified is whether ownership is settled — always true for a host the org structurally owns. |
Failure carries the platform error shape — see Errors.
Examples
hanzo platform projects apps domains list <project> <app>import { Configuration, PlatformApi } from 'hanzoai';
const api = new PlatformApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getPlatformProjectsByProjectAppsByAppDomains({ project: 'project', app: 'app' });from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import PlatformApi
client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = PlatformApi(client).get_platform_projects_by_project_apps_by_app_domains(project='project', app='app')cfg := cloud.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := cloud.NewAPIClient(cfg)
resp, _, err := client.PlatformAPI.GetPlatformProjectsByProjectAppsByAppDomains(context.Background()).Execute()
if err != nil {
return err
}use hanzo_cloud::apis::{configuration::Configuration, platform_api};
let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();
let result = platform_api::get_platform_projects_by_project_apps_by_app_domains(&cfg, Default::default()).await?;import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.PlatformApi;
ApiClient client = new ApiClient();
client.setRequestInterceptor(b -> b.header("Authorization", "Bearer " + System.getenv("HANZO_API_KEY")));
var result = new PlatformApi(client).getPlatformProjectsByProjectAppsByAppDomains();curl https://api.hanzo.ai/v1/platform/projects/<project>/apps/<app>/domains \
-H "Authorization: Bearer $HANZO_API_KEY"The door reaches platform through the platform tool, which names its 39 operations with its own verbs — this one among them, under a name only the door declares. describe explains any of them:
curl -X POST https://api.hanzo.ai/v1/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "describe",
"arguments": {
"op": "list_builds"
}
}
}'How is this guide?