Skip to main content
GET
Resolve a citation to its section

Authorizations

Authorization
string
header
required

API key issued from the developer dashboard. Pass as Authorization: Bearer vq_key_... (preferred).

Headers

Idempotency-Key
string | null

Optional. 16 to 255 visible ASCII characters (a UUIDv4 works). Repeating the same request with the same key replays the original 2xx response for 24 hours without charging again. The same key on a different request is rejected. With the account's cacheQueryDerivedData retention setting off, no body is stored and a retry answers 409 idempotency_replay_unavailable, still without a second charge.

Required string length: 16 - 255
Pattern: ^[\x21-\x7e]+$
Example:

"3f9c2a1e-7b44-4d0a-9c1e-5a6b7c8d9e0f"

Query Parameters

cite
string
required

A Bluebook citation string, e.g. '42 U.S.C. 1983' or '16 C.F.R. 444.1'.

Required string length: 2 - 200
Example:

"42 U.S.C. 1983"

state
enum<string> | null

Optional jurisdiction to resolve WITHIN: a two-letter state code, e.g. tx, or federal for the U.S. Code, the C.F.R., federal rules and the U.S. Constitution. Some citation forms are shared: 8 CCR 1206-2 is Colorado and 22 CCR 76227 is California, and the acronym alone cannot say which. This is a constraint, not a hint -- a citation that names a different jurisdiction returns resolved: false rather than being forced into this one, and citationOutsideFilters says which section it names.

Available options:
federal,
al,
ak,
as,
az,
ar,
ca,
co,
ct,
de,
dc,
fl,
ga,
gu,
hi,
id,
il,
in,
ia,
ks,
ky,
la,
me,
md,
ma,
mi,
mn,
ms,
mo,
mt,
ne,
nv,
nh,
nj,
nm,
ny,
nc,
nd,
mp,
oh,
ok,
or,
pa,
pr,
ri,
sc,
sd,
tn,
tx,
ut,
vt,
vi,
va,
wa,
wv,
wi,
wy
Required string length: 2 - 7
Example:

"tx"

corpusType
enum<string> | null

Optional corpus to resolve WITHIN: STATE (statutory text, federal or state), REGULATION (administrative codes), STATE_RULES (court rules), CONSTITUTION (constitutional text), STATE_CONSTITUTION (constitutional text; a synonym of CONSTITUTION here, since state is what separates the two), FEDERAL_BILL (a bill or resolution of the 119th Congress, opt-in: H.R. 1, S.J. Res. 5; a proposal, not law). Narrows a citation whose form several corpora share; like state, a citation belonging to another corpus resolves to nothing instead.

Available options:
CONSTITUTION,
FEDERAL_BILL,
REGULATION,
STATE,
STATE_CONSTITUTION,
STATE_RULES,
US_TREATY
Example:

"REGULATION"

Response

The resolution verdict, with the section when resolved.

Response for GET /us/statutes/resolve.

resolved
boolean
required

True when the citation resolved to an exact section.

inputCitation
string
required

The citation string you asked to resolve, echoed back.

section
StatuteResult · object | null

The resolved section, or null when the citation did not resolve.

subsection
string | null

Parsed pinpoint subsection when the citation carried one, e.g. 'b.2' for '42 U.S.C. 1983(b)(2)'. The returned section is the parent. It is also set when the citation names a unit SMALLER than the one the publisher issues: Rhode Island cites a regulation by section ('250-RICR-120-05-15.2') but publishes the whole Part, so section is Part 15 and subsection is '15.2'. A non-null subsection always means section is the containing document, not the exact unit you cited. The string is dot-joined, so (f)(1.5) reads f.1.5: read pinpoint for the unit itself, with a machine-safe path.

citationOutsideFilters
CitationOutsideFilters · object | null

Set only when resolved is false because your state or corpusType scope excludes a section this citation DOES name, e.g. 42 U.S.C. 1983 under state=ca. The scope is a constraint, so the verdict stays resolved: false; this says why, so an unresolved result is not read as 'no such section'. Retry without the scope named in excludedBy to resolve it. No extra charge.

matchedCorpus
string | null

Present only when the citation names a STATE session law (an act as enacted, for example CHAPTER 2025-12 or S.F.No. 1552) rather than a code section. resolved stays false and section stays null, because both describe a code section; the law is in sessionLaw.

Allowed value: "session_law"
sessionLaw
SessionLawCitationMatch · object | null

The state session law this citation names, when it names no code section. status is matched (one law, read it at href) or ambiguous (several, all in candidates, none chosen for you). Absent when the citation resolved to a section, and whenever session laws cannot be checked. No extra charge.

matchLevel
enum<string> | null

Present only when section is NOT the exact unit you cited. container: you cited a container in one of the supported forms (a Missouri, New Jersey, West Virginia or Wyoming regulation series or chapter, a constitution article or amendment, an Indiana chapter, an Illinois article, or a U.S. Code chapter such as 18 U.S.C. ch. 96; a U.S. Code subchapter is not read), and section is the FIRST section inside it (see container for how many there are and what they are). A state STATUTE chapter, subchapter, title, article or part cited with its container word and a code name we read for that state (8 Del. C. ch. 1, subch. VII, Tex. Penal Code ch. 19, N.Y. Penal Law art. 125, Mass. Gen. Laws ch. 93A, La. R.S. Title 14) also answers container, with section the first live section in statutory order, but only where we hold that container and its number is unique within the code. A container we do not hold, a missing or unrecognised code name, a regulation or rule set, or a number that repeats in the code (California repeats chapter numbers across its titles) when the citation names more than one level, returns resolved: false with missReason: container_not_supported. An article that IS the section unit (La. Civ. Code art. 2315, Tex. Code Crim. Proc. art. 38.23) is read as a section. To browse chapters, titles and articles use GET /us/statutes/divisions. multiple: you cited several sections (§§ 8, 10, §§ 1983-1985) and section is the first of them (see citedSections), or your citation fits more than one held section (D.C.COLO.LR 7.1 is both Local Civil and Local Criminal Rule 7.1) and every candidate is listed in container; a state statute container number that repeats within its code (Cal. Penal Code tit. 8 is a title of each of four parts) lists each candidate container's first section there, never picking one, when there are at most 10. repaired: the code name you wrote is a recognised miscite and section is the one it names (see repair); or (repair.kind: prior_edition) the text you cited has been replaced by a current one, and section is NOT the text you cited: a C.F.R. or U.S.C. section the current code no longer holds, answered with the MOST RECENT historical annual edition we hold, or a superseded rule set whose rule numbers were kept, answered with the current rule (Tex. R. Civ. Evid. 803 is answered by Tex. R. Evid. 803), or a state regulation we hold only as superseded filings, answered with the latest filing (W. Va. Code R. § 64-14-5); repair.interpretedAs names what was served and why, and repair.alternatives lists the other held editions, if any; or (repair.kind: former_law, former_number) you cited a FORMER section number, recodified or renumbered since, and section is the successor the state's own disposition table or history line names, never the former text (a former section split into several answers multiple, every successor in citedSections). or (repair.kind: code_name_inferred) your citation named no code (CODE ANN. § 73.001, Code 4121-3-34) and section is the only one in the state that carries that number, so the code was inferred from the number and not read from your citation; or (repair.kind: repealed_range, renumbered_range, range_member) you cited a New York or California section the publisher printed only inside a run of sections (6 NYCRR 420.4 inside 420.3 to 420.4), and section is that stub, not the section's own text (repair.interpretedAs names the range); register_reference: you cited a state register page, and section is a rule whose history cites it (see registerReference). resolved keeps its meaning (a section was returned) and is true at every level; read matchLevel to tell an exact section from a first-of-several. Absent for an exact match.

Available options:
container,
multiple,
repaired,
register_reference
Example:

"container"

container
ResolveContainerInfo · object | null

Set with matchLevel: container. What you cited and the sections inside it; section is the first of them. Also set with matchLevel: multiple when the citation fits several held sections and none is the one cited (kind alternatives): every candidate is listed, section is only the first offered. Omitted from the response when it has no value.

citedSections
string[] | null

Set with matchLevel: multiple. The sections your citation named, as written (a range such as 1983-1985 is one entry); section is the first. Omitted from the response when it has no value.

repair
ResolveRepairInfo · object | null

Set with matchLevel: repaired. The miscite we corrected and how we read it. Omitted from the response when it has no value.

registerReference
ResolveRegisterReference · object | null

Present only when matchLevel is register_reference: the citation names a page, issue or filing of a state register or bulletin. When registerItemHeld is true section IS that register item (corpusType STATE_REGISTER, a notice as printed, not codified law). Otherwise the item is not held and section is a RULE whose history note cites it (the first of ruleCount, in document order); read rules for the others.

pagePinpoint
ResolvePagePinpoint · object | null

Present only when a treaty citation carried a pinpoint page. Which section that page prints, or why one section cannot be named. The page never changes subsection or pinpoint.

pinpoint
PinpointResult · object | null

Present only when the citation carried a pinpoint (625 ILCS 5/11-601(c)). The unit it names, located inside section, so (c) returns subsection (c) and not the whole section. The subsection a pinpoint names, located inside the returned section. ALWAYS read matched (or matchLevel) before using text or fullText: when the section has no such subsection the block says so rather than staying silent, and under matchLevel: ancestor the text fields describe the deepest unit that DOES exist (read unmatched for the part of your pinpoint that did not). path is the machine form of the pinpoint, one entry per level. (f)(1.5) is ["f", "1.5"] and (d-1) is ["d-1"], so a label that contains a dot or a hyphen is never split. text is the unit's own text (its lead-in when it has children), fullText is the unit with everything beneath it exactly as printed, and leadIn is each ancestor's own text in order, so a deeply nested unit can be read as the sentence it completes. charStart / charEnd index into the plain text of GET /us/statutes/section/{actId}/body (see structure.textSha256). No extra charge.

pinpointNote
string | null

Present only when the citation carried a pinpoint and we could not look it up this time (the section text was unavailable, or the lookup failed or ran out of time). The section itself resolved and is charged as usual; subsection still echoes the pinpoint. Retrying usually answers.

missReason
enum<string> | null

Present only when resolved is false and none of citationOutsideFilters / sessionLaw already explains it. WHY the citation did not resolve: ambiguous_jurisdiction (the form is one several jurisdictions print, or names none, and no state was given: pass state; candidates lists the held sections it could mean when we can name them, and never picks one), out_of_scope_corpus (it names a body of law this route does not serve; missReasonHint says which and where to look), former_law (it names a repealed, renumbered or retired compilation we do not serve as current law; missReasonHint names the successor where one is known), malformed (no parser reads it: a docket or database token, a case or treatise citation, a string with no section number, or a subdivision or edition year with no section before it), container_not_supported (it cites a chapter, article, title or part, not a section; this route resolves sections, and answers a container only in the forms matchLevel: container lists: browse it with GET /us/statutes/divisions, or cite a section inside it), not_held (it reads as a citation to a jurisdiction and corpus we serve, and that corpus does not hold the section), index_warming (batch items only: the code this citation names was still being read when the call arrived, so there is NO verdict about the citation; the item is not billed, and sending it again in a few seconds answers it), lookup_failed (batch items only: the citation resolved, but WE failed to load or serialize its section, so this says nothing about whether the section exists; the item is refunded and counted in the response's failedCount, and retrying it answers it). miss_reason_unavailable (the check that explains a miss timed out or failed on our side, so this response carries NO explanation: it says nothing about why the citation did not resolve, and resending it usually answers; the citation's own verdict, unresolved, is unchanged and charged as any miss is). A miss is still charged, because the verdict is the product, except index_warming and lookup_failed, which are not verdicts and are never charged; the reason itself adds no charge. Absent on a resolved citation.

Available options:
not_held,
former_law,
ambiguous_jurisdiction,
malformed,
out_of_scope_corpus,
container_not_supported,
index_warming,
lookup_failed,
miss_reason_unavailable
Example:

"ambiguous_jurisdiction"

candidates
MissReasonCandidate · object[] | null

Present only with missReason: ambiguous_jurisdiction, and only when we can name the held sections the citation could mean (an acronym two states print, such as CCR). At most 10 entries. Pass the right one's state to GET /us/statutes/resolve to resolve it. Never a pick: when several are listed, none is the answer.

missReasonHint
string | null

Present with missReason. One sentence on what to try next. Prose for a human or an agent; do not parse it. Omitted from the response when it has no value.

processingTimeMs
number
default:0

Server-side time for this request in milliseconds, excluding network transit. Useful for spotting a slow query; not billed on.

Example:

240.5

creditsConsumed
number
default:0

Credits actually charged for this call, after any refund. Failed work bills 0 and batch endpoints charge per item returned.

Example:

4