Extend a Domain pause's scheduled resume
Admin only. Pushes a pause’s scheduled resume further out, IN PLACE: the record gains an entry in its extensions audit array and keeps its identity, so “what is holding dispatch right now?” stays one record rather than a chain to reconstruct. Provide duration_seconds (relative to now) or an absolute expires_at.
Extension is forward-only: a released record and an expiry that is not later than the current one are both refused with 409 — shortening a hold is an explicit release-and-re-pause, never a silent edit. Explicit JSON null is rejected; omit a field instead. Cross-tenant access returns 404, never 403.
Authorizations
Body
Push a pause's scheduled resume further out.
Provide duration_seconds (relative to now) or an absolute
expires_at — at least one is required. Extension is forward-only: a
hold can never be silently shortened, only released and re-opened.
Response
Successful Response
One hold on dispatch — an admin hold or an automatic backoff.
Both kinds share this one shape, so a single listing shows everything
currently holding dispatch. scope says how much is held and the
matching target field (tenancy_id, lane, bucket, or batch_id)
says exactly what. cause is the machine-readable origin
(admin_request for a human hold, the provider fault tag for an
automatic backoff) and reason is the human note, if any. A released
pause keeps its record: released_at and released_by complete the
audit trail, and extensions lists every time a scheduled resume was
pushed out.