List apps
Answers what this organisation has declared, joined with what the delivery plane has done about it.
GET /v1/platform/apps
| Address | https://api.hanzo.ai/v1/platform/apps |
| Method | GET |
| Operation | get_platform_apps |
| Auth | Authorization: Bearer $HANZO_API_KEY |
Answers what this organisation has declared, joined with what the delivery plane has done about it.
The join is best-effort BY DESIGN and says so when it is missing: the
declarations ARE the answer to "what have I deployed", so refusing the whole
board because the cluster is unreadable would lose the half that is readable.
What must never happen is a silent null — an unreadable plane is reported as
cd.unavailable carrying the reason, never as an app with no reconciliation.
Request
1 field.
| Field | In | Type | Required | Description |
|---|---|---|---|---|
org | query | string | — | Org names the organisation whose declarations to read, defaulting to the caller's own. |
Response
| Status | Body | Meaning |
|---|---|---|
200 | declaredResp | ok |
200 body — 33 fields.
| Field | In | Type | Always | Description |
|---|---|---|---|---|
apps | body | declared[] | — | |
apps[].application | body | string | — | |
apps[].automated | body | boolean | — | |
apps[].cd | body | CDApp | — | |
apps[].cd.automated | body | boolean | — | Automated is whether CD applies git without being asked. |
apps[].cd.health | body | string | — | Health is the workload's verdict: Healthy, Progressing, Degraded, Missing. |
apps[].cd.message | body | string | — | Message is why, when Health is not Healthy. |
apps[].cd.name | body | string | — | Name is the Application name the generator mints: <namespace>-<app>. |
apps[].cd.namespace | body | string | — | Namespace is the DESTINATION namespace as the CR declares it — where the workload lands. |
apps[].cd.operationMessage | body | string | — | |
apps[].cd.path | body | string | — | Path is the values file CD renders against, relative to the chart source. |
apps[].cd.phase | body | string | — | Phase is the last sync operation's phase (Running, Succeeded, Failed) and OperationMessage is its message. |
apps[].cd.project | body | string | — | Project is the AppProject fence the sync is admitted under. |
apps[].cd.reconciledAt | body | string | — | ReconciledAt is when CD last compared this Application. |
apps[].cd.revision | body | string | — | Revision is the universe commit CD last applied. |
apps[].cd.selfHeal | body | boolean | — | SelfHeal is whether CD also corrects drift the cluster introduced. |
apps[].cd.sync | body | string | — | Sync is CD's verdict on git-versus-cluster: Synced, OutOfSync, or Unknown. |
apps[].digest | body | string | — | |
apps[].env | body | declareEnv[] | — | |
apps[].env[].name | body | string | — | |
apps[].env[].public | body | boolean | — | Public marks a value that may be WRITTEN INTO GIT. Absent, it is false, and the value is sealed into KMS and referenced. |
apps[].env[].value | body | string | — | |
apps[].hosts | body | string[] | — | |
apps[].name | body | string | — | |
apps[].org | body | string | — | |
apps[].path | body | string | — | |
apps[].project | body | string | — | |
apps[].replicas | body | integer | — | |
apps[].repository | body | string | — | |
apps[].tag | body | string | — | |
cdUnavailable | body | unreadable | — | |
cdUnavailable.reason | body | string | — | |
org | body | string | — | Org is the directory read — the caller's own, or another when a SuperAdmin asked to act as it. |
Failure carries the platform error shape — see Errors.
Examples
hanzo platform apps listimport { Configuration, PlatformApi } from 'hanzoai';
const api = new PlatformApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getPlatformApps();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_apps()cfg := cloud.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := cloud.NewAPIClient(cfg)
resp, _, err := client.PlatformAPI.GetPlatformApps(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_apps(&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).getPlatformApps();curl https://api.hanzo.ai/v1/platform/apps \
-H "Authorization: Bearer $HANZO_API_KEY"MCP reaches platform through the platform tool, which names its 39 operations with its own verbs — this one among them, under a name only MCP 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?