Skip to content

The Orders v2 Call Shape

Nearly every call in the Orders v2 stack follows one convention. Stating it once here means the module data-model pages do not repeat it on every row.

The refusal mapping is not only a convention of this stack. It is the wire rule of the D13 contract, whose section 2 fixes the same pairing — PRECONDITION to 409, POLICY to 403 — and requires the reason atom to travel verbatim rather than being re-worded per endpoint. A caller branching on RFrozen is reading the contract’s atom, not a string this service chose.

Putting the target id in the request body rather than the path is what lets a mutation carry effectiveAsOf alongside it as one object, so a call names both what it acts on and when it takes effect. A path-addressed mutation would have to carry the timestamp as a query parameter, which is how kanban does it and why kanban reads differently from everything else.

It does not enumerate endpoints. Each module’s data-model page lists its own API surface and links here for the shape those calls share; the data-model reading guide maps those pages.