Create reusable state with artifacts and bundles

You want to stop re-sending the same scaffolding and reference it by handle instead.

01

Create an artifact

An artifact is an immutable content unit - a policy, a tool bundle, a document. You get back an opaque art_ handle.

curl https://api.zumik.ai/v2/artifacts \
  -H "Authorization: Bearer zk_live_..." \
  -H "Content-Type: application/json" \
  -d '{"artifact_type":"policy","content":"Run the linter before every commit."}'
# => { "id": "art_01JY…", "artifact_type": "policy" }
02

Order them into a bundle

A bundle is an immutable, ordered list of artifacts. Order is semantic - Zumik will not silently re-sort it.

curl
curl https://api.zumik.ai/v2/bundles \
  -H "Authorization: Bearer zk_live_..." \
  -d '{"items":["art_policy…","art_tools…","art_context…"]}'
03

Reference the bundle by handle

Generate against the bundle. The stable prefix is reused; only your dynamic suffix changes.

Python
z.responses.create(
    model="code.balanced",
    bundle="bnd_01JY…",
    input="Why did CI fail on main?",
)

Got it running? Measure it.

Once requests flow through Zumik, a diagnostic shows exactly what you are reusing.