List Holds
Everything the estate is waiting on a human for, grouped by why (admin).
The queue a support accountant works from. Each row names its tenant, the derived cause it is grouped by, and the original reason prose an accountant actually reads before deciding.
cause is derived, not stored. gl_autopost_decision.reason is 300-char free text, which is fine for reading one row and useless for filtering thousands; invoiage_core.accounting.gl.hold_cause classifies it. Because it is derived it cannot be pushed into SQL, so the filter applies inside a bounded window of the newest decisions — the response says so via truncated rather than leaving the reader to assume they saw everything.
by_cause describes the window, not the estate, for the same reason, and is labelled that way in the UI. total and could_not_code are true estate figures.
could_not_code is reported beside the queue and never inside it. Those rows are what the coder wrote when it could not RUN at all — an LLM outage, a quota stop. They carry no proposal and 409 on accept, so an operator who works them achieves nothing: they are a platform incident, and adding them to a review count reports an outage as customer work (ZET-84).
Request
- Base URL: https://app.zeno-works.ch (the document declares no server; this is the origin it was published from)
- URL: https://app.zeno-works.ch/admin/holds
- Auth: none declared
Query parameters
Headers
Cookies
Response
Successful Response
Changes
No recorded changes to this operation across all 1 revision of this API.