Skip to content

Review notes (annotations)

While it works through a tender, Mercura's matching agent — or a reviewer — can attach review notes to an ordinal number: a special condition found in the LV ("alle Preise inkl. Montage", a contract penalty, a handwritten remark), an open technical question, a scope deviation. Every line reports them as annotations:

"annotations": [
  {
    "key": "special_condition",
    "level": "CRITICAL",
    "value": "Alle Preise inkl. Montage gefordert",
    "detail": "Vorbemerkung 0.3: „Sämtliche Leistungen sind betriebsfertig montiert anzubieten.“",
    "url": null
  }
]
  • level is INFO, WARNING or CRITICAL; CRITICAL marks notes that can change the price or scope of the whole tender. detail is optional Markdown.
  • url is set when the note points to a web page (e.g. a data sheet). A note carries either detail or url, never both; links into the Mercura app are not exposed.
  • key identifies the note on its ordinal number (unique there) and stays the same when the note's text is updated, so you can upsert on it.
  • Notes belong to the ordinal number: every line sharing a position_number carries the same list. A position flagged not relevant keeps its notes too — read with include_all_positions=true to receive them on its LV-only line.
  • Notes are read-only. They are not part of the ETag (a new note never turns your pending PATCH into a 412), they are ignored when echoed back in a PATCH body, and a change to the notes alone does not move the tender's updated_at — re-read the tender when you need the current notes.