> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kynva.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 2026

> Changes to the Kynva public API in 2026.

This page tracks every change to the API surface. Breaking changes always ride on an [API version bump](/concepts/api-versioning); additive changes ship in the current version.

<Update label="2026-07-04" tags={["v4.0 surface"]}>
  ## Stateless v4.0 surface + signed image URLs

  The API consolidated on a single stateless entry point, and this
  documentation was updated to match — pages describing the retired
  pre-v4.0 surface (drafts workflow, `/renders`, assets registry,
  brandkit sub-routes) were removed.

  * **`POST /facade/generate`** is the canonical endpoint: `operation:
    "preview"` renders synchronously; `operation: "render"` returns a job.
  * **`GET /facade/render-jobs/{job_id}`** — JSON status poll for async
    jobs (alongside the existing SSE stream).
  * **Signed image URLs** — `POST /api/v1/generate/sign` mints URLs (batch
    ≤100) that render on first fetch and cache forever; built for OG images.
  * **`@kynva/sdk` v0.2.0** — render-job polling (`waitForRender`), webhook
    management, and delivery-signature verification.
  * **[Determinism contract](/concepts/determinism)** published: same
    request + engine version + seed → byte-identical output.
</Update>

<Update label="2026-01-01" tags={["API version"]}>
  ## First public release — `X-API-Version: 2026-01-01`

  The initial publicly stable API surface. Everything you see in the [reference](/api-reference/introduction) is part of this version.

  Highlights:

  * **Deterministic Workflow API** — `Draft → Compile → Preview → Render` with full decisions log.
  * **Spec Render API** — bring your own compiled Spec, get pixels.
  * **Render Now** — single-call `POST /facade/renders` for the simplest path.
  * **Webhooks** with HMAC signing, exponential-backoff retries, and a 14-day DLQ.
  * **Idempotency** on every POST mutation (UUID v4 keys, 24h cache).
  * **Brand-aware rendering** — versioned BrandKits with style-lock enforcement.

  New API keys use the `kyn_` prefix. Legacy `rf_` keys continue to work.
</Update>
