{"name":"platform","stage":"ga","description":"Package platform is Hanzo PaaS: deploy containers to your own tenant namespace — builds, releases, environments, logs, custom domains.","operations":[{"operationId":"post_build","method":"POST","href":"/v1/build","summary":"Triggers a native build — an image, or the binaries a repo declares."},{"operationId":"get_build_by_id","method":"GET","href":"/v1/build/{id}","summary":"Answers one build: its status, and for a failed build the reason."},{"operationId":"get_platform_apps","method":"GET","href":"/v1/platform/apps","summary":"Answers what this organisation has declared, joined with what the delivery plane has done about it."},{"operationId":"post_platform_apps","method":"POST","href":"/v1/platform/apps","summary":"Deploy an app through cd.hanzo.ai"},{"operationId":"get_platform_apps_by_app","method":"GET","href":"/v1/platform/apps/{app}","summary":"Answers ONE declaration — what git says this app is, before the delivery plane has had any say in it."},{"operationId":"get_platform_apps_by_app_cd","method":"GET","href":"/v1/platform/apps/{app}/cd","summary":"Answers ONE app's reconciliation alone — the poll a deploy console makes while it waits, without re-reading the whole inventory each time."},{"operationId":"put_platform_apps_by_app_project","method":"PUT","href":"/v1/platform/apps/{app}/project","summary":"Moves an app to a project."},{"operationId":"get_platform_builds","method":"GET","href":"/v1/platform/builds","summary":"Returns real build records for your org."},{"operationId":"get_platform_cd","method":"GET","href":"/v1/platform/cd","summary":"Answers every Application the delivery plane holds."},{"operationId":"get_platform_environments","method":"GET","href":"/v1/platform/environments","summary":"Returns your deploy targets, and what is running on each."},{"operationId":"get_platform_fleet","method":"GET","href":"/v1/platform/fleet","summary":"Returns the platform's own service tier, and where it has drifted."},{"operationId":"get_platform_fleet_by_app","method":"GET","href":"/v1/platform/fleet/{app}","summary":"Returns one platform service, resolved to production by default."},{"operationId":"get_platform_health","method":"GET","href":"/v1/platform/health","summary":"Reports whether this control plane can actually deploy anything."},{"operationId":"get_platform_pipelines","method":"GET","href":"/v1/platform/pipelines","summary":"Returns one build-and-deploy pipeline per app, with its latest run."},{"operationId":"get_platform_projects","method":"GET","href":"/v1/platform/projects","summary":"Answers every project the caller may see, with how its apps stand."},{"operationId":"post_platform_projects","method":"POST","href":"/v1/platform/projects","summary":"Creates a project from the apps it starts with."},{"operationId":"delete_platform_projects_by_project","method":"DELETE","href":"/v1/platform/projects/{project}","summary":"Folds a project into another."},{"operationId":"get_platform_projects_by_project","method":"GET","href":"/v1/platform/projects/{project}","summary":"Answers one project and every app in it."},{"operationId":"put_platform_projects_by_project","method":"PUT","href":"/v1/platform/projects/{project}","summary":"Renames a project."},{"operationId":"get_platform_projects_by_project_apps","method":"GET","href":"/v1/platform/projects/{project}/apps","summary":"Returns the applications in one project, with what the cluster says about them."},{"operationId":"post_platform_projects_by_project_apps","method":"POST","href":"/v1/platform/projects/{project}/apps","summary":"Creates an application from a git repo or a container image."},{"operationId":"delete_platform_projects_by_project_apps_by_app","method":"DELETE","href":"/v1/platform/projects/{project}/apps/{app}","summary":"Deletes an application and tears down what it runs."},{"operationId":"get_platform_projects_by_project_apps_by_app","method":"GET","href":"/v1/platform/projects/{project}/apps/{app}","summary":"Returns one application, with its live phase, health and secret sync."},{"operationId":"post_platform_projects_by_project_apps_by_app_deploy","method":"POST","href":"/v1/platform/projects/{project}/apps/{app}/deploy","summary":"Deploys the app — building it first if it comes from git."},{"operationId":"get_platform_projects_by_project_apps_by_app_deployments","method":"GET","href":"/v1/platform/projects/{project}/apps/{app}/deployments","summary":"Returns an app's deployment history."},{"operationId":"get_platform_projects_by_project_apps_by_app_deployments_by_id","method":"GET","href":"/v1/platform/projects/{project}/apps/{app}/deployments/{id}","summary":"Returns one deployment of one app."},{"operationId":"get_platform_projects_by_project_apps_by_app_deployments_by_id_logs","method":"GET","href":"/v1/platform/projects/{project}/apps/{app}/deployments/{id}/logs","summary":"Returns real logs for a deployment — the build's, then the app's."},{"operationId":"get_platform_projects_by_project_apps_by_app_domains","method":"GET","href":"/v1/platform/projects/{project}/apps/{app}/domains","summary":"Returns every hostname this app answers on."},{"operationId":"post_platform_projects_by_project_apps_by_app_domains","method":"POST","href":"/v1/platform/projects/{project}/apps/{app}/domains","summary":"Attaches a hostname — instantly if you already own it, otherwise with a DNS challenge."},{"operationId":"delete_platform_projects_by_project_apps_by_app_domains_by_host","method":"DELETE","href":"/v1/platform/projects/{project}/apps/{app}/domains/{host}","summary":"Detaches a hostname and releases the claim."},{"operationId":"post_platform_projects_by_project_apps_by_app_domains_by_host_verify","method":"POST","href":"/v1/platform/projects/{project}/apps/{app}/domains/{host}/verify","summary":"Checks a custom domain's DNS and turns it on if it passes."},{"operationId":"put_platform_projects_by_project_apps_by_app_env","method":"PUT","href":"/v1/platform/projects/{project}/apps/{app}/env","summary":"Replaces an app's environment variables."},{"operationId":"post_platform_projects_by_project_apps_by_app_preview","method":"POST","href":"/v1/platform/projects/{project}/apps/{app}/preview","summary":"Puts a branch on its own URL."},{"operationId":"post_platform_projects_by_project_apps_by_app_promote","method":"POST","href":"/v1/platform/projects/{project}/apps/{app}/promote","summary":"Promotes an already-built release to the app."},{"operationId":"post_platform_projects_by_project_apps_by_app_rollback","method":"POST","href":"/v1/platform/projects/{project}/apps/{app}/rollback","summary":"Goes back to the previous release."},{"operationId":"post_platform_projects_by_project_apps_by_app_start","method":"POST","href":"/v1/platform/projects/{project}/apps/{app}/start","summary":"Starts a stopped app back up."},{"operationId":"post_platform_projects_by_project_apps_by_app_stop","method":"POST","href":"/v1/platform/projects/{project}/apps/{app}/stop","summary":"Stops an app without deleting it."},{"operationId":"get_platform_releases","method":"GET","href":"/v1/platform/releases","summary":"Returns the versions that actually reached the cluster."},{"operationId":"post_platform_run","method":"POST","href":"/v1/platform/run","summary":"Runs a container image and gives back a URL."}],"_links":{"describedby":{"href":"/v1/openapi.json?capability=platform"},"self":{"href":"/v1/platform"},"up":{"href":"/v1"}}}