admin-holds

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).

get/admin/holds

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

company_idstring nullable
causestring nullable

Headers

authorizationstring nullable

Cookies

access_tokenstring nullable

Response

Successful Response

totalinteger required
truncatedboolean required
by_causeobject required
could_not_codeinteger required

Changes

No recorded changes to this operation across all 1 revision of this API.