Hanzo
Start

Store

KV round-trip — create a store, read it back, delete it.

KV round-trip — create a store, read it back, delete it.

The delete belongs in the language's finally/defer, so a failed read still cleans up instead of leaving the store for the next run to collide with. This is the provisioning plane — create a KV STORE, read it, drop it — at its served address, /v1/provisioning/kv. The bare /v1/kv spellings are the legacy dialect the binary itself tags compat, and the publication drops a compat operation by that declaration — so the day this file named them it would have named ids the published document does not have, which is exactly what test_flows.py went red on. Probed at api.hanzo.ai: GET /v1/provisioning/kv answers 403 while /v1/provisioning/kv-zzq9 answers 404, which is the existence proof this file requires (auth runs before the handler; only a mounted route can refuse).

CreateKV launches your org's OWN key-value instance and answers with its kv:// connection string.

POST /v1/provisioning/kv · reference →

CreateKV launches your org's OWN key-value instance and answers with its kv:// connection string.

The instance is yours alone — a deployment in your own tenant namespace, so its admin credential is naturally scoped to you and no other tenant shares the process. Off-cluster this fails closed with 503 rather than handing back a shared one.

ParameterInRequiredDescription
instancebodyInstance binds a DEDICATED add-on to the app instance whose <instance>-addons Secret receives the <KIND>_URL (
namebodyName is the org-unique slug for the new resource, matching ^a-z0-9?$. Every physica

hanzo has no subcommand for this operation — the CLI serves only what cloud's live route table confirms. Use HTTP or an SDK.

GetKV returns one Hanzo KV store's metadata.

GET /v1/provisioning/kv/{name} · reference →

GetKV returns one Hanzo KV store's metadata. It carries the store's status, its instance address and the Valkey user it authenticates as ("default", the only user a requirepass instance has) — never the password. A still-booting instance reads "provisioning", reconciled from the operator's live view.

ParameterInRequiredDescription
namepathyesName is the resource's org-unique slug, from the path. Lower-cased and trimmed before lookup, exactly as it wa

hanzo has no subcommand for this operation — the CLI serves only what cloud's live route table confirms. Use HTTP or an SDK.

DropKV deprovisions one Hanzo KV store.

DELETE /v1/provisioning/kv/{name} · reference →

DropKV deprovisions one Hanzo KV store. It reverts any app instance bound to it back to Base BEFORE tearing down the org's dedicated Valkey instance, then deletes the sealed credential and removes the metadata row. Answers 204 with no body; a second call is a 404.

ParameterInRequiredDescription
namepathyesName is the resource's org-unique slug, from the path. Lower-cased and trimmed before lookup, exactly as it wa

hanzo has no subcommand for this operation — the CLI serves only what cloud's live route table confirms. Use HTTP or an SDK.


Every command, call and tool above is generated from the same OpenAPI document that generates the SDKs themselves — the four surfaces are projections of one doc comment, so they cannot disagree.

How is this guide?

On this page