> ## Documentation Index
> Fetch the complete documentation index at: https://vaquill.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Amendment History

> When a section changed, taken from the publisher's own credit line: amendmentYears, lastAmendedYear, amendmentsCount, amendmentHistory

Most statute sections carry a credit line that records the acts which enacted and amended them.
We parse that line into structured fields so you can filter and sort on when a section changed, instead of reading it out of prose.

These fields appear on `POST /us/statutes/search`, `GET /us/statutes/section/{actId}`, and `POST /us/statutes/sections`.

<Note>
  They are populated for statute corpora, where the publisher prints a credit line.
  Two corpora are different by nature rather than by coverage:

  * **Final rules** in `FEDERAL_REGISTER` carry the year the rule was published, because that is the year it amended the CFR.
  * **Proposed rules** carry no amendment years at all. A proposal amended nothing, so a year window returns none of them by design.

  See [Response Fields](/docs/api-guide/concepts/response-fields) for which fields apply to which corpus.
</Note>

## The fields

| Field | Meaning |
| - | - |
| `amendmentYears` | Distinct years credited to the section, **newest first**. |
| `amendmentsCount` | How many changes the publisher recorded. See the note below: this is **not** always the length of `amendmentYears`. |
| `lastAmendedYear` | The most recent year in `amendmentYears`. |
| `amendmentHistory` | Structured entries, where the publisher records them separately from the credit line. |
| `currentThrough` | The date the publisher states the text is current through. |

<Warning>
  **`amendmentsCount` is a count of amending events, not a count of years.**

  For statutes the two almost always agree. For **regulations and court rules** they often do not, because those publishers record one entry per amending action and two actions can fall in the same year. A section amended twice in 2019 reports `amendmentYears: [2019]` with `amendmentsCount: 2`.

  Treat `amendmentsCount` as "how many times it changed" and `amendmentYears.length` as "how many distinct years it changed in". If you need the second, take the length of the array rather than reading the count.
</Warning>

`amendmentYears` is returned newest first, so `amendmentYears[0]` and `lastAmendedYear` agree. Do not rely on `amendmentYears[-1]` being the latest.

```json theme={"theme":"github-dark"}
{
  "actId": "STATE_LA_Crevised-statutes_T39_S54",
  "citation": "La. Rev. Stat. § 39:54",
  "amendmentYears": [2015, 2013, 2011, 2003, 1997, 1993, 1989],
  "amendmentsCount": 7,
  "lastAmendedYear": 2015
}
```

### Whether the enactment year is included depends on the corpus

For **statutes**, `amendmentYears` includes the original enactment, so a section enacted in 1991 and never amended reports `[1991]` with `amendmentsCount: 1`.

Two corpora deliberately differ, because their publishers distinguish adoption from amendment and so do we:

* **State constitutions** exclude the adoption date. A section adopted and never amended reports `amendmentYears: []` with the adoption date preserved in the credit text, so "adopted, never amended" is not mistaken for "we found nothing".
* **Some state regulations** (Oklahoma among them) include the adoption year in `amendmentYears` but leave `lastAmendedYear` **null** until the section is actually amended. A null `lastAmendedYear` beside a populated `amendmentYears` therefore means "adopted, not yet amended", not missing data.

## Where the years come from

Every year we report is one the publisher printed in that section's own credit line.

```
Ark. Code Ann. 14-284-224
  "Acts 1991, No. 1028, § 2; 2005, No. 2145, § 55; 2007, No. 1049, § 77."
  -> amendmentYears [2007, 2005, 1991]

Ind. Code 12-15-20-2
  "As added by P.L.2-1992, SEC.9. Amended by P.L.27-1992, SEC.23; ... P.L.205-2013, SEC.203."
  -> amendmentYears [2013, 2011, 2007, 2003, 2002, 2001, 2000, 1999, 1998, 1997, 1992]
```

Each state prints its credits differently, so each has its own parser.
Indiana puts the year second (`P.L.1-1996` is public law 1 of 1996), Florida encodes it in a chapter number with no four-digit year at all (`ch. 89-257` is chapter 257 of 1989), and Hawaii abbreviates heavily inside brackets (`[L 1974, c 48, pt of §1; am L 1981, c 242, §5]`).

## What we deliberately exclude

A four-digit year in the text is not an amendment year just because it is a year.
Three kinds are excluded, because treating them as amendments produces a date the law never had:

**Compilation and codification references.**
A state that recodifies its statutes prints the codification alongside the real credits.
`R.S.1943`, `RSMo 1939`, `RL 1955` and `A.S.A. 1947` name a compilation, not an act that changed the section.

**Federal act names.**
A section that mentions the *Fair Labor Standards Act of 1938* was not amended in 1938 by doing so.

**Dates in the body.**
Effective-date clauses, fiscal years and cross-references all carry years that are not credits.

We exclude these structurally, by the token that introduces them, never by ignoring particular years.
A real 1943 session law still counts in a state whose compilation is also named 1943.

## Coverage varies by jurisdiction, and so does the reason

Coverage depends on what the publisher prints, and the reason a section has no amendment history matters more than the percentage.

<Note>
  Where a source does not publish a credit line, we say so rather than inferring a date from surrounding text. An absent `amendmentYears` means we found no credit, never that we guessed and gave up.
</Note>

Two cases look identical in a coverage number and are not the same thing:

* **The publisher prints no credit.** Wyoming annotates repealed and renumbered sections but not sections in force, so roughly three quarters of its sections carry no credit at any source we can lawfully use. No parser can recover what was never published.
* **The credit exists and we have not extracted it yet.** This is our gap, not the state's, and we treat it as a defect rather than a limitation.

A third case appears in the scanned federal corpora and is worth naming separately, because it looks like our gap and is really a limit of the artifact:

* **The publisher printed the credit and the scan destroyed it.** The `I&N Dec.` reporter prints a date line on every decision, but the pre-1985 volumes are OCR of paper prints and the line arrives damaged ("Docidcd by Docird Juno 25, 19.78"). We keep the publisher's printed string byte-identical in `effectiveDate` whatever state it is in, because it is the evidence, and we derive a clean date from it only where a second, independent source agrees. For that corpus the second source is the citation year on the publisher's own index, and the two disagree on 172 decisions, essentially always because the scan misread a digit. Rather than serve a year that is wrong by decades, we drop the derived date and take the year from the index. That derived date is held with the document for our own gating and is not served as its own response field.

<Note>
  A decision reissued with changes is a real amendment event, and this reporter states it in the date line itself: "Decided as amended March 19, 1998".
  We count it as one, so those decisions report an `amendmentsCount` of 2 rather than 1.
  The reissue marker itself is held with the document and is not exposed as a response field, so read the count.
</Note>

We publish per-jurisdiction figures once a jurisdiction has been measured against its own source, so the two cases can be told apart.
Ask us for the current position on any jurisdiction you depend on and we will give you the measured number and which of the two cases it is.

### AG opinions have no amendment concept, and that is a measured finding

`corpusType=STATE_AG_OPINION` returns empty `amendmentYears` and
`amendmentsCount: 0` on every section, and that is the recorded output of a sweep
rather than an unimplemented field.

**An AG opinion is not amended.** It is issued once, on a date, and is thereafter
withdrawn, overruled, modified, or left standing. The version event this corpus
has is supersession, not amendment.

Measured across all 898 documents in the Delaware archive on 2026-09-08:

* **0.00%** carry any publisher-printed statement that the opinion itself was
  revised, reissued or withdrawn;
* **100%** carry a publisher-assigned issue date, which is what `effectiveDate`
  serves;
* 35.5% carry a CMS "modified" timestamp later than their issue date, with a
  median gap of 5 days and a maximum of 27.5 YEARS. **That is a content-management
  touch, not an amendment**, and writing it to an amendment field would
  manufacture history that never happened. It is served as `observedDate`.

So an empty `amendmentYears` here means the instrument has no amendment concept,
not that we failed to extract one.

## Using the fields

Find sections changed recently, then confirm against the text:

```bash theme={"theme":"github-dark"}
curl -X POST https://api.vaquill.ai/api/v1/us/statutes/search \
  -H "Authorization: Bearer $VAQUILL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "public records retention", "state": "in", "limit": 10}'
```

Then read `lastAmendedYear` on each result to see which sections have moved most recently.

<Warning>
  `amendmentYears` records when an act credited a change to the section, which is the enactment year of that act. It is not the effective date, and the two differ when an act takes effect in a later year. Where a publisher prints an effective date we expose it separately; see [Status & Currency](/docs/api-guide/concepts/status-and-currency).
</Warning>

## Related

* [Status & Currency](/docs/api-guide/concepts/status-and-currency) for whether a section is still good law.
* [Law Change Alerts](/docs/api-guide/alerts) to be notified when a section changes, rather than polling its amendment history.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.