{
  "service": "NORMOT read API",
  "generated": "2026-11-06 19:36",
  "counts": {
    "units": 120594,
    "params": 59613,
    "documents": 1337,
    "sections": 3819,
    "standards": 196,
    "locked_values": 114
  },
  "resources": [
    {
      "path": "/api/units",
      "desc": "list units; filters: authority, scope, doc, param, trust, q, limit (up to 200; no offset — bulk export is not available); each item carries print_check: how its text was checked against the printed source (official_text, print_two_reads, print_proofread — checked against print; source_file_text, copy_text, partial_match, not_quote, not_measured — not); measured error rates by layer and the map to Rishuy Zamin stages: /api/rishuy"
    },
    {
      "path": "/api/units/{unit_id}",
      "desc": "one unit: value, applicability, provenance, standards, links; text_fidelity: coverage of the statement against the extracted source text (verbatim = exact match, paraphrases and scan readings excluded; null = not measured); disputes: the value differs from the typed source (source_he), with the decision taken; tables: value tables, lists and forms from the source attached to this unit, rows as stored (only tables checked against the source are published; the rest wait for their check); printed: the table exactly as printed in the source, rows of cells {t, h (header), rs, cs} with markers ⟦sup:…⟧ ⟦sub:…⟧ ⟦br⟧ in t; checked_on, checked_against: what the table was checked against (layer source, Reshumot print references with sha256, print_check); evidence: where the text was officially published (published_in), where it was taken from and how (text_source, reading_he), the stored source file hash (snapshot), what the text was compared against (fidelity.method_he), text_state (quote as extracted / quote checked against the official print / database wording / scan reading / table row / not measured), the printed table row for units built from a table row (row), Hebrew notes on disputes; no bare \"verified\" label"
    },
    {
      "path": "/api/docs",
      "desc": "source documents with edition, freshness and unit counts"
    },
    {
      "path": "/api/docs/{doc_id}",
      "desc": "one document: editions, sections, first 200 units"
    },
    {
      "path": "/api/params",
      "desc": "every quantity in the corpus with occurrence count and range"
    },
    {
      "path": "/api/params/{name}",
      "desc": "every value of one quantity across all authorities"
    },
    {
      "path": "/api/locked",
      "desc": "requirements whose value the law delegates to a view-only standard"
    },
    {
      "path": "/api/standards",
      "desc": "SII standards referenced by the corpus (metadata only). title_he is this database's topical label, not the official title; catalog_name is the title as read from the SII catalog on catalog_checked_at (one check, 28.07.2026, not re-verified; null = never checked) — where they differ, trust neither blindly"
    },
    {
      "path": "/api/search?q=",
      "desc": "substring search over statements, sections and documents; rarer words weigh more, ties broken by unit id; norms of documents no longer in force come after all in-force ones and carry in_force=false, in_force_he"
    },
    {
      "path": "/api/hybrid?q=",
      "desc": "the search the site itself uses: meaning (vector), Hebrew trigrams, words and links between norms, fused by rank; limit up to 100; every row says which leg found it (why). q is sent server-side to OpenAI embeddings (the text only, no caller details) and its vector is cached by hash; see /terms"
    },
    {
      "path": "/api/applicable?<profile>",
      "desc": "the norms that apply to a project profile. Keys (all optional; a key you omit never excludes a norm): use — a use code, or several comma-separated for a mixed building (accommodation,food-service,assembly: a norm passes if it is labelled for any part); status new|existing; height_class low|high|multistory; city — municipality slug; stage feasibility|design|permit|execution|completion|operation; role; track standard|short|fast; site — comma-separated plot conditions that apply (none = checked, none apply; absent = not checked); features — the same for project elements; occupancy, floor_area, building_height, storeys, dwelling_units, beds, rooms — numbers for thresholds; limit up to 50. Unknown use, stage, site or feature codes are refused with the list of valid codes. The answer carries total, precision (how many norms are use-specific vs unlabelled), stage_elsewhere (norms that apply at other stages when a stage is given), site_dependent (norms that apply only on certain plots while site is not given) and items with each norm's stages and sites. view=flow answers with the project flow instead: steps in order by stage, each with actor, trigger, output, statutory clocks (deadlines, validity, fees and durations read live from the norms' parameters), conditions and backing norms; route (regular|licensee|mamad-only|business-use-change|exempt|exempt-industry|exempt-mamad), track, yes and no (comma-separated flag codes the project answered) and date (planned date of the act, YYYY-MM-DD) refine it"
    },
    {
      "path": "/api/page/{home|corpus|qa|profile|status|terms|checklist}",
      "desc": "the pre-rendered page payloads"
    }
  ],
  "license": "All rights reserved in the database: structure, extracted values, classifications, links and annotations (https://normot.co.il/terms). Copies obtained before 2026-10-06 remain under CC BY 4.0. Statutes and regulations themselves are public domain (sec. 6, Copyright Act 2007).",
  "notes": "Hebrew statements are taken from the cited source; text_fidelity on each unit tells whether a statement matches the source verbatim, and the binding text is always the official publication. Values are as printed; ranges are [min,max]. Standard texts are never included — see /api/locked."
}