Hanzo AI
OpenapiDeploy

Create reconcile

Renders the configured git source and applies it to the cluster, once.

POST /v1/deploy/reconcile

Addresshttps://api.hanzo.ai/v1/deploy/reconcile
MethodPOST
Operationpost_deploy_reconcile
AuthAuthorization: Bearer $HANZO_API_KEY

Renders the configured git source and applies it to the cluster, once.

It runs one full GitOps sync through the embedded engine — render the configured repo, ref and path, then three-way server-side apply with scoped prune — and answers the revision it applied, the source it came from, the declared/synced/pruned/failed counts and a per-resource result. This is the WRITE half of the plane: it mutates live cluster objects and, with prune enabled, deletes objects the source no longer declares.

SuperAdmin-only and fail-closed, with the gate INSIDE the op because a typed op is also reached by POST /mcp and by the by-name call plane, where no route middleware runs. The git source is read AS THE PLATFORM, not as the caller: the coordinate is this deployment's own configuration and never a parameter, which is why the op reads no request body at all. A deployment with the engine switched off, or with no usable cluster config, answers 503; a failure to start, render or sync is a 502.

Request

The document declares no body for POST /v1/deploy/reconcile. The handler is typed in cloud but its shape is not yet emitted, so the fields are not listed here — ask MCP's describe for post_deploy_reconcile, which answers from the running route.

Response

StatusBodyMeaning
200reconcileReportok

200 body — 15 fields.

FieldInTypeAlwaysDescription
declaredbodyintegerDeclared is how many objects the rendered source declares — the denominator the three outcome counts below are read against.
failedbodyintegerFailed is how many objects the apply could not reconcile.
instancebodystringInstance is the tracking id this run stamps on everything it manages, so a later run can tell the objects it owns from objects another instance declares.
prunebodybooleanPrune reports whether DELETION was enabled for this run.
prunedbodyintegerPruned is how many live objects this run DELETED because the source no longer declares them.
resultsbodyappliedResource[]Results is one entry per object the run acted on, in the order the engine applied them.
results[].messagebodystringMessage is the engine's own sentence about this object — the apiserver's refusal on a failure, and typically empty on success.
results[].resourcebodystringResource identifies the object as group/version/kind/namespace/name, the engine's own key.
results[].statusbodystringStatus is what happened to this object, from the engine's closed vocabulary: Synced (applied), Pruned (deleted because the source no longer declares it),…
revisionbodystringRevision is the source commit this run applied, as the source resolved it — a git commit SHA, not an image tag.
sourcebodyreconcileSource
source.pathbodystringPath is the directory WITHIN the repository that is rendered — everything outside it is not this plane's desired state and is never applied.
source.refbodystringRef is the branch or tag the revision was resolved from.
source.repobodystringRepo is the clone URL of the repository holding the desired state.
syncedbodyintegerSynced is how many objects the run applied successfully.

Failure carries the platform error shape — see Errors.

Examples

hanzo deploy reconcile

Deploy API · All Hanzo APIs · Interactive reference

How is this guide?

On this page