Change an entry's triage status
Status transitions only, forward-only (open -> acknowledged -> resolved). A reversal, or any other field, is rejected.
/ledger/entries/{entry_id}AuthorizationBearer token (JWT) · headerrequiredJWT issued by the external IdP via the OAuth 2.0 authorization-code flow (Kinde in
production; a simulator in test). The client obtains it and sends it as a Bearer token on
every authenticated call. Sarvex's services verify it — issuer, audience, signature
(IdP JWKS), expiry — and read identity and tenant from its claims. Sarvex does not issue
or revoke these tokens. merchant_id/store_id are read from the verified claims (and the
merchant→store mapping), never from the URL. The operator scope is required for
/operator/*. Operators acting on a specific merchant pass the X-Operate-As header,
which is recorded in the audit log.
entry_idstringrequiredA ledger entry the caller's merchant owns. Authorized server-side against the principal; not a free-form tenant selector.
application/jsonstatusledger_entry_statusrequiredopenacknowledgedresolvedUpdated entry.
entry_idstringoccurred_atstring<date-time>checkout_idstringstore_idstringsurfacestring | nullucp_checkoutstagestringfailure_codestringRaw serving-plane signal (e.g. CONNECTOR_CREATE_FAILED), or the literal ABANDONED for an abandonment entry.
causeledger_causeClosed classification — see internal/planes/control/ledger.Cause.
payment_handlerprofile_mismatchsync_freshnessescalation_dropoffplatform_errortimeoutbuyer_abandonedunclassifiedrecommended_actionstringMerchant-readable and imperative — what to do, never protocol jargon.
lost_revenue_minorintegerAmount in minor units (cents). Never an estimate — see revenue_unknown.
currencystring | nullrevenue_unknownbooleanTrue when no cart snapshot was available at the point of failure — lost_revenue_minor is 0 in that case, never imputed.
statusledger_entry_statusopenacknowledgedresolvedstatus_changed_atstring<date-time>created_atstring<date-time>Authenticated but not permitted (e.g. non-operator on an operator route).
errorobjectrequiredShow propertiesHide properties
codestringrequiredmessagestringrequireddetailsobject | nullResource not found within the caller's tenant.
errorobjectrequiredShow propertiesHide properties
codestringrequiredmessagestringrequireddetailsobject | nullThe requested status is not forward of the entry's current status.
errorobjectrequiredShow propertiesHide properties
codestringrequiredmessagestringrequireddetailsobject | nullRequest body failed validation.
errorobjectrequiredShow propertiesHide properties
codestringrequiredmessagestringrequireddetailsobject | null