Skip to main content

Response envelope

Every action-style response follows a consistent shape. On success:
On failure:
Responses may also carry businessRuleWarnings (when a rule warned but allowed the action) and approvalRequested (when an approval policy intercepted a validation). Always branch on errorCode, not on the error text — the text is for logs and may change or be localized; the code is stable.

HTTP status mapping

Errors are categorized, and the category determines the HTTP status (with a few per-code overrides): A notable override: PLAN_ALREADY_VALIDATED returns 409 Conflict rather than 422.

Common error codes

There are over a hundred specific codes (validation, plan/item operations, file upload, API tokens, …). Each endpoint documents the ones it can return in the API Reference tab.

Localized messages

Error codes are decoupled from display text so messages can be shown in the user’s language. In the web app, codes are translated to English or French; integrators should rely on the code and render their own message if needed.