Upserts and retries
Renza supports upserts through external_id. This is the recommended way for a script or
authoring tool to keep one deck current across repeated publishes.
Upsert by external_id
An external_id is a client-chosen identifier that is unique within a workspace. On import:
external_id | Result | Status |
|---|---|---|
| provided and already used in the workspace | add a version to the existing deck | 200 |
| provided and new | create a deck | 201 |
| omitted | create a new deck with a server-assigned value | 201 |
renza publish deck.html --external-id q3-board-deck # creates the deck
renza publish deck.html --external-id q3-board-deck # adds a version to the same deck
The CLI writes the chosen identifier into the deck contract so a pull-edit-publish workflow can
continue updating the same deck. You can also use an external_id with supported lookups, such as
renza decks get q3-board-deck.
Retrying other writes
The public API does not currently implement general Idempotency-Key replay. Before retrying a
write after an unknown network outcome, retrieve or list the resource when possible. For imports,
use a stable external_id; that makes a repeated request update the intended deck instead of
creating another one.
Partial updates and metadata
PATCHchanges only the fields you send. Omit a field to leave it unchanged.- Arrays replace fully. Send
[]to clear an array, a complete array to replace it, or omit it to keep the current value. metadatamerges. Include a key to set it, sendnullto delete that key, or omit it to leave the key unchanged.