get_version_changes
Returns the provisions added, removed or amended between a compilation and the one before it, with excerpts or the full old and new text. Each change record is computed when Advisor processes the new compilation, so a call retrieves it rather than comparing at request time.
| Fact | Value |
|---|---|
| Tool | get_version_changes |
| Partner scope required | legislation:read |
| Subscriber tier required | AI Pro |
Accepts as_at | no |
Parameters
| Name | Type | Required | Default |
|---|---|---|---|
legislation_id | string | no | null |
register_id | string | no | null |
change_type | array of string | no | null |
provision | string | no | null |
include_text | boolean | no | false |
limit | integer | no | 10 |
offset | integer | no | 0 |
cursor | string | no | null |
fields | array of string | no | null |
Notes
- Coverage. Acts in the Administrative Arrangements Order, and the titles of named products (the National Greenhouse and Energy Reporting Act and its Measurement Determination, Safeguard Mechanism Rule and Audit Determination). A record exists only for transitions Advisor has processed: an Act with none returns an empty
resultand a note, not an error. - Identify the Act by
legislation_idor byregister_id, either side of the transition.fromandtoname the two compilations. include_textfalse (the default) returns excerpts of about 600 characters; true returns the full old and new text.change_typefilters byadded,removed,amendedorheading_changed.provisionfilters by number or pinpoint, for example"1317E".- Order is by the size of the change (
char_delta), largest first.limitis capped at 25; page withpage.next_cursororoffset. fieldsnarrows each item; to count changes by type,["change_type"]is enough.
Request (get_version_changes with {"register_id":"C2026C00432","limit":3})
Python SDK
import asyncio, os
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client
async def main():
headers = {"Authorization": f"Bearer {os.environ['LAWATLAS_API_KEY']}"}
async with streamablehttp_client("https://advisor.lawatlas.ai/api/mcp-http/mcp", headers=headers) as (read, write, _):
async with ClientSession(read, write) as session:
await session.initialize()
result = await session.call_tool("get_version_changes", {
"register_id": "C2026C00432",
"limit": 3
})
print(result.content[0].text)
asyncio.run(main())
curl
curl -s https://advisor.lawatlas.ai/api/mcp-http/mcp \
-H "Authorization: Bearer $LAWATLAS_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_version_changes","arguments":{"register_id":"C2026C00432","limit":3}}}'
Response, as Advisor returned it on 10 October 2026. The tool's result is the JSON text of result.content[0].text; lists and long text are trimmed where marked "...".
{
"schema_version": "3.5",
"result": [
{
"pinpoint": "s 1069H",
"provision_type": "section",
"number": "1069H",
"heading": "Ministerial determination",
"change_type": "amended",
"char_delta": 862,
"old_excerpt": "a levy period; and\na sub-sector (the primary sub-sector);\ncould cause the sub-sector levy cap for the levy period and the primary sub-sector to be exceeded (or further exceeded).\nThe Minister may, by legislative instrument, make a determination for the levy period and the primary sub-sector dealing with one or more of the matters mentioned in subsections (3) to (5).\nNote:\tThe matter in subsection (5) involves the determination specifying further sub-sectors on which special levy will be imposed.\nManner of payment\nA determination made under subsection (2) may provide that an amount of compensat ...",
"truncated": true,
"new_excerpt": "a levy period; and\na sub-sector (the primary sub-sector);\ncould cause the sub-sector levy cap for the levy period and the primary sub-sector to be exceeded (or further exceeded).\nThe Minister may, by legislative instrument, make a determination for the levy period and the primary sub-sector dealing with one or more of the matters mentioned in subsections (3) to (5).\nNote:\tThe matter in subsection (5) involves the determination specifying further sub-sectors on which special levy will be imposed.\nManner of payment\nA determination made under subsection (2) may provide that an amount of compensat ..."
}
],
"page": {
"returned": 1,
"total": 1,
"next_cursor": null,
"truncated": false,
"limit_requested": 3,
"limit_applied": 3
},
"legislation_id": "8d10b297-598e-4127-88ae-d7411655afe1",
"title": "Corporations Act 2001",
"from": {
"register_id": "C2026C00382",
"source_url": "https://www.legislation.gov.au/Details/C2026C00382"
},
"to": {
"register_id": "C2026C00432",
"source_url": "https://www.legislation.gov.au/Details/C2026C00432"
},
"computed_at": "2026-10-02T04:00:44.189741",
"summary": {
"added": 0,
"removed": 0,
"amended": 1,
"heading_changed": 0,
"moved": 0,
"ambiguous": 0
},
"usage": "Compilation-to-compilation text deltas computed by this system at ingestion time. The authoritative texts are the compilations on the Federal Register of Legislation - cite the source_url for the current law."
}
Errors
| Code | Meaning | What to do |
|---|---|---|
INVALID_ARGUMENT | An id or a change_type or fields value is not valid | Correct the value |
TITLE_NOT_IN_FORCE | The title is not in force | Show the frl_link |