curl --request GET \
--url https://api.vaquill.ai/api/v1/us/statutes/divisions \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.vaquill.ai/api/v1/us/statutes/divisions"
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/divisions', 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/divisions"
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))
}{
"corpusType": "USC",
"level": "sections",
"parentLabel": "Title 42, Chapter 21",
"divisions": [
{
"identifier": "1981",
"name": "Equal rights under the law",
"kind": "section",
"isLeaf": true,
"actId": "USC_T42_C21_S1981"
},
{
"identifier": "1981a",
"name": "Damages in cases of intentional discrimination in employment",
"kind": "section",
"isLeaf": true,
"actId": "USC_T42_C21_S1981a"
},
{
"identifier": "1982",
"name": "Property rights of citizens",
"kind": "section",
"isLeaf": true,
"actId": "USC_T42_C21_S1982"
},
{
"identifier": "1983",
"name": "Civil action for deprivation of rights",
"kind": "section",
"isLeaf": true,
"actId": "USC_T42_C21_S1983"
}
],
"count": 38,
"processingTimeMs": 5.1,
"creditsConsumed": 1
}{
"detail": "Insufficient API credits."
}{
"detail": "Insufficient API credits."
}{
"detail": "Insufficient API credits."
}{
"detail": "Insufficient API credits."
}Browse the statutory hierarchy
Walk the statutory tree one level at a time, in statutory order. Each call returns the immediate children of wherever you are, so you can enumerate a code top to bottom without searching.
Cost: 1 credit. Failed lookups are refunded, and so is a browse that returns no rows, so exploring the hierarchy never costs you anything for a level that turns out to be empty.
Pass the deepest level you already know; the response returns the level below it:
corpusType=USC-> the titlescorpusType=USC&titleNumber=42-> the chapters in Title 42corpusType=USC&titleNumber=42&chapter=21-> the sections in Chapter 21 (leaf)corpusType=CFR&titleNumber=17&part=240-> the sections in Part 240 (leaf)corpusType=STATE&state=tx-> the state’s codescorpusType=STATE&state=tx&code=tx_pe-> the chapters in the Texas Penal Code
Interior nodes carry a sectionCount and isLeaf: false; drill into one by
passing its identifier back as the matching filter (chapter, part, or
code). Leaf nodes are sections and carry an actId for
/us/statutes/section/{actId}. Browse supports USC, CFR, STATE, and
REGULATION; other corpora are flatter, so use /us/statutes/search for those.
curl --request GET \
--url https://api.vaquill.ai/api/v1/us/statutes/divisions \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.vaquill.ai/api/v1/us/statutes/divisions"
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/divisions', 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/divisions"
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))
}{
"corpusType": "USC",
"level": "sections",
"parentLabel": "Title 42, Chapter 21",
"divisions": [
{
"identifier": "1981",
"name": "Equal rights under the law",
"kind": "section",
"isLeaf": true,
"actId": "USC_T42_C21_S1981"
},
{
"identifier": "1981a",
"name": "Damages in cases of intentional discrimination in employment",
"kind": "section",
"isLeaf": true,
"actId": "USC_T42_C21_S1981a"
},
{
"identifier": "1982",
"name": "Property rights of citizens",
"kind": "section",
"isLeaf": true,
"actId": "USC_T42_C21_S1982"
},
{
"identifier": "1983",
"name": "Civil action for deprivation of rights",
"kind": "section",
"isLeaf": true,
"actId": "USC_T42_C21_S1983"
}
],
"count": 38,
"processingTimeMs": 5.1,
"creditsConsumed": 1
}{
"detail": "Insufficient API credits."
}{
"detail": "Insufficient API credits."
}{
"detail": "Insufficient API credits."
}{
"detail": "Insufficient API credits."
}Authorizations
API key issued from the developer dashboard. Pass as Authorization: Bearer vq_key_...
Query Parameters
Corpus to browse: USC, CFR, STATE, or REGULATION.
USC, CFR, STATE, REGULATION "USC"
2-letter jurisdiction code, required for STATE and REGULATION. Case-insensitive.
al, ak, az, ar, ca, co, ct, de, dc, fl, ga, hi, id, il, in, ia, ks, ky, la, me, md, ma, mi, mn, ms, mo, mt, ne, nv, nh, nj, nm, ny, nc, nd, oh, ok, or, pa, pr, ri, sc, sd, tn, tx, ut, vt, va, wa, wv, wi, wy "tx"
USC/CFR title number to drill into.
x >= 142
State code identifier, e.g. tx_pe (browse /us/statutes/divisions with corpusType=STATE&state=<code> to list them).
"tx_pe"
Chapter identifier to drill into (USC and state codes).
"21"
Part identifier to drill into (CFR).
"240"
Leave out sections whose status is affirmatively dead (repealed, superseded, renumbered and similar). A section carrying no recorded status is KEPT: a missing status is not evidence of repeal. Same vocabulary as the filter of this name on POST /us/statutes/search.
List only sections carrying this status, e.g. repealed. The inverse of excludeRepealed, and useful for auditing what a container holds that is no longer operative.
Resume token from a previous response's nextCursor. Only meaningful at the level that lists sections. Omit it to start at the beginning of the container.
Response
The child divisions at the requested level.
Response for GET /us/statutes/divisions.
The corpus being walked, echoed back from the request.
"USC"
Kind of children returned: titles, chapters, parts, codes, or sections.
The jurisdiction, for state-scoped corpora.
Human label for the container these divisions sit under.
The child divisions, in statutory (natural) order.
Show child attributes
Show child attributes
Number of divisions returned.
Opaque token to resume this listing. Present only when truncated is true. Pass it back as cursor to get the next batch of sections in the same container, and keep going until it comes back null. Treat it as opaque: it encodes a storage position, and building one by hand will not work.
One ordering caveat. divisions is sorted into statutory order WITHIN each response, and pages are walked in storage order, so concatenating pages does not give you one globally sorted list. The union of every page is the complete container; sort it yourself once you hold it all.
"s~a3f1c2e0-55b1-4a7d-9d02-1f3b6c8e9a44"
True when this container held more sections than one call can walk, so divisions is a PREFIX of its contents rather than all of them. Check it before treating a listing as complete: the level that returns sections is bounded, and a container past that bound previously returned a short list that looked whole. When it is true, narrow the scope (drill into a chapter or part rather than a whole code), or page through it with nextCursor.
false
Why the result is empty, when it is. Absent on a normal result. An empty divisions with a note is an answer; without one it would be ambiguous between a bad identifier and a level this corpus does not store.
"New York statutes are organized by article, which this corpus does not index."
Server-side time for this request in milliseconds, excluding network transit. Useful for spotting a slow query; not billed on.
240.5
Credits actually charged for this call. Read it rather than assuming the list price: failed and refunded work bills 0, and batch endpoints charge per item returned, so a partial result costs less than a full one.
1
Was this page helpful?

