API

Write

Layer stamps every row-producing write with _hevlayer_upserted_at for supported stores. The stamp is what holds the read watermark; the full set of reserved attributes Layer manages on a row lives in the document model.

Status

Layer validates the body before forwarding and can fail independently of the backing store, so the write path carries a few statuses a plain proxy wouldn’t:

  • 200 OK — applied to the store and stamped.
  • 422 Unprocessable Entity — Layer rejected the body before forwarding: no recognized native write operation, a reserved _hevlayer_* attribute name, a removed custom-write key, or a schema type the configured store cannot represent. The body is a Layer error ({ "error": "validation_error", … } or { "error": "UnsupportedByStore", … }), not a store one.
  • Upstream passthrough — any non-2xx the backing store returns is relayed verbatim.
  • 502 Bad Gateway — Layer could not reach the backing store ({ "error": "upstream_error", … }); the write did not apply.

The passthrough case includes a failed conditional write (upsert_condition, patch_condition, delete_condition) — turbopuffer’s error body comes back untouched.

esc