Returns the fleet as an argocd ApplicationList: one projected Application per…
Returns the fleet as an argocd ApplicationList: one projected Application per operator App CR, carrying the image tag the CR DECLARES, the tag actually…
GET /v1/deploy/applications
| Address | https://api.hanzo.ai/v1/deploy/applications |
| Method | GET |
| Operation | get_deploy_applications |
| Auth | Authorization: Bearer $HANZO_API_KEY |
Returns the fleet as an argocd ApplicationList: one projected Application per operator App CR, carrying the image tag the CR DECLARES, the tag actually RUNNING in the cluster's Deployment, the reconciled health, and the sync verdict those two produce (declared == running ⇒ Synced, both known and different ⇒ OutOfSync, either unknown ⇒ Unknown).
It is TENANT-SCOPED: a platform SuperAdmin reads every platform namespace, a validated org member reads only its own org's tenant namespace and only the App CRs labelled with its org, and anyone else is refused. A cross-tenant CR is never projected into an answer.
Request
GET /v1/deploy/applications takes no parameters and no body — the credential is the whole request.
Response
| Status | Body | Meaning |
|---|---|---|
200 | argoAppList | ok |
200 body — 44 fields.
| Field | In | Type | Always | Description |
|---|---|---|---|---|
apiVersion | body | string | — | APIVersion is the constant "argoproj.io/v1alpha1". |
items | body | argoApp[] | — | Items is one entry per operator App CR the caller may see — its own org's, or every platform namespace's for a SuperAdmin — followed, for a SuperAdmin only, by… |
items[].apiVersion | body | string | — | APIVersion is the constant "argoproj.io/v1alpha1" — the shape, not the source. |
items[].kind | body | string | — | Kind is the constant "Application". |
items[].metadata | body | argoMeta | — | |
items[].metadata.creationTimestamp | body | string | — | CreationTimestamp is when the source object was created, RFC 3339 to the second. |
items[].metadata.labels | body | object | — | Labels are the labels this projection puts on the row, not the source object's full label set. |
items[].metadata.labels.* | body | string | — | |
items[].metadata.name | body | string | — | Name is the projected object's name: the App CR's metadata.name for an application, the CD Application's name for a CD row, and the IAM project name for a… |
items[].metadata.namespace | body | string | — | Namespace is the namespace the source object was read from — the tenant or platform namespace for an App CR, CD's controller namespace for a CD row. |
items[].metadata.uid | body | string | — | UID is the k8s metadata.uid of the source object, which is what the SPA keys a row on across refreshes. |
items[].spec | body | argoSpec | — | |
items[].spec.destination | body | argoDestination | — | |
items[].spec.destination.name | body | string | — | ArgoCD allows a destination by cluster name; omitted for the in-cluster projection. |
items[].spec.destination.namespace | body | string | — | Namespace is where in that cluster the workload lands. |
items[].spec.destination.server | body | string | — | Server is the cluster API URL the application reconciles into. |
items[].spec.project | body | string | — | Project is the AppProject this application is grouped and filtered under. |
items[].spec.source | body | argoSource | — | |
items[].spec.source.path | body | string | — | Path is the directory within RepoURL. |
items[].spec.source.repoURL | body | string | — | RepoURL is the git repository the desired state comes from. |
items[].spec.source.targetRevision | body | string | — | TargetRevision is the git ref tracked there — a branch such as "main". |
items[].status | body | argoStatus | — | |
items[].status.health | body | argoHealth | — | |
items[].status.health.message | body | string | — | Message is why the status is what it is — "Running: no replicas ready", "iam: CrashLoopBackOff". |
items[].status.health.status | body | string | — | Status is the ArgoCD health vocabulary, Capitalized: Healthy, Progressing, Degraded, Suspended, Missing or Unknown. |
items[].status.reconciledAt | body | string | — | ReconciledAt is when the desired state was last compared against the cluster, RFC 3339. |
items[].status.resources | body | argoResourceStatus[] | — | Resources are the objects the application owns. |
items[].status.resources[].group | body | string | — | Group is the object's API group: empty for the core group (Pod, Service, ConfigMap), otherwise apps, networking.k8s.io, autoscaling or policy — and hanzo.ai… |
items[].status.resources[].health | body | argoHealth | — | |
items[].status.resources[].health.message | body | string | — | Message is why the status is what it is — "Running: no replicas ready", "iam: CrashLoopBackOff". |
items[].status.resources[].health.status | body | string | — | Status is the ArgoCD health vocabulary, Capitalized: Healthy, Progressing, Degraded, Suspended, Missing or Unknown. |
items[].status.resources[].kind | body | string | — | Kind is the object kind — App, Deployment, ReplicaSet, Pod, Service, Ingress, HorizontalPodAutoscaler, PodDisruptionBudget, ConfigMap. |
items[].status.resources[].name | body | string | — | Name is the object's metadata.name. |
items[].status.resources[].namespace | body | string | — | Namespace is the namespace the object was found in — the same one for every entry of an application, since the walk is confined to it. |
items[].status.resources[].status | body | string | — | Status is the APPLICATION's sync verdict repeated on every row, not a per-object one. |
items[].status.resources[].version | body | string | — | Version is the object's API version as the live object reports it: v1 for every kind here except the HorizontalPodAutoscaler, which is autoscaling/v2. |
items[].status.summary | body | argoSummary | — | |
items[].status.summary.images | body | string[] | — | Images are the container images the application runs. |
items[].status.sync | body | argoSyncStatus | — | |
items[].status.sync.revision | body | string | — | Revision is what Status was reached against. For an App CR that is the declared IMAGE TAG, not a commit — the CR is image-pinned. |
items[].status.sync.status | body | string | — | Status is the ArgoCD sync vocabulary, Capitalized: Synced, OutOfSync or Unknown. |
kind | body | string | — | Kind is the constant "ApplicationList". |
metadata | body | argoListMeta | — | |
metadata.resourceVersion | body | string | — | ResourceVersion is the k8s list version a watch would resume from. |
Failure carries the platform error shape — see Errors.
Examples
hanzo deploy applications listimport { Configuration, DeployApi } from 'hanzoai';
const api = new DeployApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getDeployApplications();from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import DeployApi
client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = DeployApi(client).get_deploy_applications()cfg := cloud.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := cloud.NewAPIClient(cfg)
resp, _, err := client.DeployAPI.GetDeployApplications(context.Background()).Execute()
if err != nil {
return err
}use hanzo_cloud::apis::{configuration::Configuration, deploy_api};
let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();
let result = deploy_api::get_deploy_applications(&cfg, Default::default()).await?;import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.DeployApi;
ApiClient client = new ApiClient();
client.setRequestInterceptor(b -> b.header("Authorization", "Bearer " + System.getenv("HANZO_API_KEY")));
var result = new DeployApi(client).getDeployApplications();curl https://api.hanzo.ai/v1/deploy/applications \
-H "Authorization: Bearer $HANZO_API_KEY"The door reaches deploy through the deploy tool, which names its 21 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": "get_deploy_account_can_i"
}
}
}'How is this guide?