Every response carries a one-line
note, a machine-readable caveats[] array, and a methodology link back to this page.
Why caveats are structured
Each caveat is{ code, plain, affects }:
code— a stable key you can branch on in code. It does not change without a version bump.plain— the caveat in plain English, for a human (or an LLM writing for one).affects— the exact response fields the caveat governs, so you know which numbers it applies to instead of guessing.
The house rules
We return null rather than guess. If a filing omits a value, the affected total isnull and a companion count tells you how many rows were missing it. A partial sum presented as a precise figure is a wrong number, and a wrong number is worse than no number.
We withhold rather than serve a figure we know is stale. If the filing window contains an amendment, we withhold the whole window until the amendment ages out — and you are not charged for that call. Amendments restate only the corrected lines, so there is no safe way to automatically compose one; serving the superseded original would be quietly wrong.
We don’t dress up what the filing doesn’t say. The clearest example: SEC codes P and S cover both open-market and privately negotiated transactions. The filing does not distinguish them, so we never label them “open-market” and never call them “conviction” buying.
