ManagementApiError
Fields
- statusCodenumberrequired
The HTTP status, repeated in the body so a caller that logs only the body still knows what happened. Always the same number as the status line — never a second, body-only code.
- timestampstring<date-time>required
When we produced the failure, ISO-8601 UTC.
- pathstringrequired
The ROUTE that failed —
/management/stores/fetchStores. No query string. - methodstringrequired
The HTTP method of the failed call. Always
POSTon this API today. - messagestringrequired
A human-readable summary — for a human. Do not branch on it: it is not part of the contract and changes without notice. Branch on
statusCodeand on documented fields. - txIdstring
The support handle: the identifier for THIS one call, the same value on the
x-mealco-tx-idresponse header and on every log line the call produced. Quote it in a ticket and we can pull the complete record of that single call.OPTIONAL, AND THE REASON IS A REAL, ACCEPTED GAP — not an oversight, and not something to code defensively around beyond checking for absence. A request whose body is not valid JSON is rejected by Express's body parser BEFORE webpieces publishes the route to
RequestContext. At that moment there is no path and no method to build an envelope from, so the translation inManagementErrorEnvelope.tscorrectly declines to produce one and that400answers a bare{"message": "Bad Request"}with notxIdand no header. Every other failure on this API carries the full envelope including this field.