Skip to main content
GET
Every recorded amendment to one provision

Authorizations

Authorization
string
header
required

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

Path Parameters

act_id
string
required
Required string length: 1 - 200
Pattern: ^[a-zA-Z0-9_-]+$
Example:

"IND_state_20326"

section_number
string
required
Required string length: 1 - 40
Pattern: ^[A-Za-z0-9().\- ]{1,40}$
Example:

"23"

Query Parameters

limit
integer
default:100

Events per page.

Required range: 1 <= x <= 500
Example:

50

offset
integer
default:0

Zero-based offset.

Required range: x >= 0
Example:

0

asOf
string | null

Split the recorded amendments around a date (YYYY-MM-DD). Returns a timeline, never reconstructed text.

Example:

"2019-03-12"

Response

Successful Response

actId
string
required
citation
Citation · object
required

How to cite the thing this response is about.

Present on 99.90% of served acts. Where the publisher's own title carries a defect, so does the citation: 10.4% of titles end in a period, which reads as ... Act., s. 3, and 4.7% carry no year at all. Both are recorded defects rather than reasons to withhold the field.

events
AmendmentEvent · object[]
required
total
integer
required

Events on THIS page.

coverage
HistoryCoverage · object
required
meta
Meta · object
required
sectionNumber
string | null
hasMore
boolean
default:false

True when more events exist beyond this page. The list was previously unbounded by contract: bounded in practice, but with nothing telling a caller so.

offset
integer
default:0

Zero-based offset of this page.

asOf
AsOfAnswer · object | null

A dated question answered with a TIMELINE, never with reconstructed text.

We hold amendment EVENTS and no versioned text, so there is no honest way to render this provision as it stood on a date. Returning current text under a date parameter would be a wrong answer shaped like a right one.

Last modified on September 7, 2026