Skip to main content
GET
Get amendment history

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_-]+$

Query Parameters

section
string | null

Filter by section number

type
enum<string>

Amendment action class. Served in the NOMINAL spelling; the corpus stores the verbal form (substituted) and either is accepted.

Available options:
substitution,
insertion,
omission,
renumbering,
addition,
repeal,
deletion,
adaptation,
amendment,
note
Example:

"substitution"

page
integer
default:1

Page number

Required range: x >= 1
pageSize
integer
default:100

Results per page

Required range: 1 <= x <= 200

Response

Successful Response

actId
string
required
title
string
required
totalFootnotes
integer
required

Footnotes on THIS page, not in the act. Paging is by page/pageSize, so this equals pageSize on a full page.

footnotes
FootnoteItem · object[]
required
typeCounts
Typecounts · object
required
page
integer
default:1
pageSize
integer
default:100
hasMore
boolean
default:false

True when a further page of footnotes exists.

meta
ActMeta · object

What this call cost and how long it took.

🔴 Added 2026-09-06. Five of the six original routes returned NO statement of what they billed: /text (3 credits), /amendments (5), /list (1), /filters (0) and /corresponding-provisions (1). The house rule on the US surface is that creditsConsumed is the CONTRACT and the list price is not, and it matters most exactly where refunds happen -- /text refunds on a missing act, /corresponding-provisions refunds when a mapping does not exist yet. Without this field a caller cannot tell a refunded call from a charged one, and has to reconcile against the ledger to find out.

Last modified on September 7, 2026