Skip to content

Auth & versioning

Authentication

None. The current endpoints serve the Keur Songho reference project only, hold no user data and take no credentials. Authentication is not yet designed; it belongs to ROADMAP Phase 3 (API polish), and this page will describe it when it exists.

Versioning

  • The API version is info.version in openapi.json, and GET /health returns the version of the running server.
  • There is no versioned URL prefix (/v1/…) yet. Until the first tagged release the API is pre-1.0 and may change without notice; every change is recorded in the changelog and is visible as a diff of the committed openapi.json.

Reading a result

Every per-material (or, for A5, per-equipment) row carries a status:

status Meaning Counts toward the stage total?
computed Value present and defensible — cited and reviewable. Yes
provisional Value present but not yet defensible (e.g. an expired FDES). No — blocks the total
blocked No value: the factor is absent, uncited or anomalous. No — blocks the total

A stage total is null whenever any row is not computed. The tool never emits a partial total as if it were complete (decision #23); the rows responsible are named in incomplete_reason, and each carries its own blocked_reason. A null total is a result, not an error.

Status codes

Code When
200 Success — including results with a null total.
422 The request body fails validation (e.g. a malformed BoQ on POST /quantities/explode).
501 POST /quantities/explode names a project other than Keur Songho (Phase 1 limit).