curl --request GET \
--url https://api.vaquill.ai/api/v1/us/statutes/section/{act_id}/enactments \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.vaquill.ai/api/v1/us/statutes/section/{act_id}/enactments"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.vaquill.ai/api/v1/us/statutes/section/{act_id}/enactments', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.vaquill.ai/api/v1/us/statutes/section/{act_id}/enactments"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Which acts a state publisher lists against this section
The state session laws a publisher’s own tables list against one code section: which act added,
amended or repealed it, when the act took effect, and what the publisher printed. Start from a
section (an actId from /us/statutes/search, or a citation) and get to the act, then read the
act at href, or its text at href plus /body.
Stage 1, and honest about it. This reads the code-section TABLES that state publishers print
against their session laws (“sections affected”), through a reverse lookup. It is never read out of
the acts’ prose and it is never a complete amendment history: only acts we hold, in sessions we
hold (coverage.sessionsHeld), whose table lists the section in the printed form we map. Every row
says basis: publisher_sections_affected and matchQuality: as_printed. An empty enactments with
supported: true means “no held table lists this section”, not “this section was never amended”. The
published coverage.note says, per jurisdiction, what is not read: entries printed as lists or ranges
(338-15, 21), with a subsection pincite, or by an act’s own section number are not matched.
Where it works. CA, DC, HI, KY, MO, MS, NE, UT, WA: the jurisdictions where the publisher’s printed form was shown to
map to our section numbers against real data on both sides, and each section’s stored number must be
in the form that mapping was proven on. Any other jurisdiction (and any federal, regulation or
constitution section) answers supported: false, an empty list, a reason and a coverage.note,
and is not charged. A wrong match is worse than a miss, so equality is on the whole number after
folding case, spacing, dashes and the section sign: 71-24,104 does not match 71-24,10, and 3 does
not match 3.1. Where a publisher qualifies a section by code (California, Hawaii, DC) the printed code
must match too.
Cost: 1 credit. A section that does not exist is not charged. A supported section whose
answer is empty IS charged: “no held table lists it” is the answer you paid for, as an empty history
is on /us/statutes/section/{actId}/changes. An unsupported jurisdiction or section is refunded, and
so is any failure on our side (503, 500). creditsConsumed reports what was billed. A citation in
place of the id also pays the /resolve price, whether or not it resolves.
What a row says. sessionLawId and href name the act; action is the normalised
added | amended | repealed | renumbered | other, mapped only where the publisher’s legend is settled
and other otherwise (Nebraska prints no action; Mississippi’s BF is “brought forward”, not a
change), and actionAsPrinted is always the publisher’s own code. effectiveDates are the ACT’s
dates, as printed, not necessarily this section’s. sectionAsPrinted, codeAsPrinted and
actSectionAsPrinted are verbatim. Rows are newest act first and one per printed entry: an act that
lists the section twice appears twice. truncated is true past 200 rows.
Example
curl "https://api.vaquill.ai/api/v1/us/statutes/section/STATE_MS_T27_C71_S27-71-5/enactments" \
-H "Authorization: Bearer $VAQUILL_API_KEY"
Related endpoints
GET /us/statutes/section/{actId}/changesis what our refreshes observed to the section.GET /us/session-laws/{sessionLawId}reads an act fromhref;/bodyreads its text.GET /us/statutes/coveragesays which sessions we hold and how complete each is, in each jurisdiction’ssessionLawsblock.
curl --request GET \
--url https://api.vaquill.ai/api/v1/us/statutes/section/{act_id}/enactments \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.vaquill.ai/api/v1/us/statutes/section/{act_id}/enactments"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.vaquill.ai/api/v1/us/statutes/section/{act_id}/enactments', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.vaquill.ai/api/v1/us/statutes/section/{act_id}/enactments"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Authorizations
API key issued from the developer dashboard. Pass as Authorization: Bearer vq_key_... (preferred).
Path Parameters
Section identifier, e.g. USC_T42_C21_S1983 (Title 42, Chapter 21, Section 1983, which a lawyer writes as 42 U.S.C. § 1983). Take it from a /us/statutes/search or /us/statutes/resolve result.
A citation also works here: 26 U.S.C. § 1, 42 USC 1983 or Cal. Civ. Code § 1950.5 is resolved with the same resolver /resolve uses, and the section is served. A citation costs this endpoint's price PLUS the /resolve price (2 credits), charged as its own line whether or not it resolves, exactly as /resolve charges; that is the same total as calling /resolve and then this endpoint, in one round trip. An exact act_id costs only this endpoint's price. When a citation resolves, or when the id only matched after surrounding whitespace, quotes or a trailing period were removed, the response carries resolvedFrom saying what your input was matched as. Check it the way you would check a /resolve answer. A citation containing / cannot travel in a URL path segment; resolve it with GET /us/statutes/resolve instead.
Do not assemble an id from a citation: the title and section are derivable, but the CHAPTER is not, so USC_T26_S1 misses. A miss returns 404 with reason and, where the section exists under another id, didYouMean.
State session laws (acts as enacted, ids starting SSL_) are not code sections: read them at /us/session-laws/{sessionLawId}.
3 - 200"STATE_MS_T27_C71_S27-71-5"
Response
The entries the publisher's tables list against the section, or supported: false (not charged). Not a complete history.
Response for GET /us/statutes/section/{act_id}/enactments.
The section's act_id as served, after any citation or copy damage was resolved.
"STATE_MS_T27_C71_S27-71-5"
True when this section's jurisdiction is one whose publisher table is mapped to the statutes section numbers and this section is in the form that mapping was proven on: then enactments is an answer, even when it is empty, and the call is charged. False when it is not (see reason): enactments is empty, says nothing about the section, and the call is NOT charged.
true
What this answer is read from, and what it is not. Show it with the list.
Show child attributes
Show child attributes
Present only when your input was a citation or an id carrying copy damage: what it was matched as. Null when you sent an exact act_id.
Show child attributes
Show child attributes
Lowercase two-letter code of the section's jurisdiction. Null for a federal section.
"ms"
Why supported is false. unsupported_jurisdiction: we do not read this jurisdiction's table (none is printed, or its form is not verified against our section numbers), see coverage.note. not_a_state_code_section: the section is not a state statute (a federal, regulation or constitution section). section_not_in_proven_form: the jurisdiction is read, but this section's stored number is not in a form the mapping was proven on, so it is not guessed at. Null when supported is true.
unsupported_jurisdiction, not_a_state_code_section, section_not_in_proven_form null
The entries of the publisher's tables whose printed section is this section, newest act first (by approval date, undated last), one per printed entry: an act that lists the section twice appears twice. NEVER a complete history: only acts we hold, in sessions we hold, whose table lists the section in the printed form this jurisdiction's mapping reads. Empty with supported: true is a real answer: no held table lists it.
Show child attributes
Show child attributes
Entries returned in enactments.
1
True when more entries matched than are returned (the newest are kept). A section amended by that many acts is not a case we have met.
false
Credits actually charged for this call, never the list price. 0 when supported is false (refunded) and on a failure. A citation sent in place of the act_id adds the /us/statutes/resolve price, charged whether or not it resolves.
1
Server-side time for this request in milliseconds, excluding network transit. Not billed on.
96.4
Was this page helpful?

