legislation-nz · git:20260719.1748a98 · 2026-07-19 · sha256 b44d940687481ac1

legislation-nz git:20260719.1748a98A

Immutable. This exact content never changes and is served at /api/v1/blob/b44d940687481ac1.

---
name: legislation-nz
description: "Resolves, searches, and checks New Zealand Acts, Bills, secondary legislation, sections, point-in-time versions, and update feeds from official legislation.govt.nz and PCO sources. Use when a task needs NZ legislation text, exact section citations, current in-force status, amendments since a date, current Bills, or source caveats."
license: MIT
compatibility: "Requires Python 3.10+ and network access for live data"
metadata:
  thecolab.category: "government"
  thecolab.source_owner: "New Zealand Parliamentary Counsel Office"
  thecolab.source_type: "official"
  thecolab.auth: "mixed"
  thecolab.access_mode: "public-api"
  thecolab.data_class: "public"
  thecolab.writes: "false"
  thecolab.browser: "false"
  thecolab.risk: "medium"
  thecolab.cache_ttl: "24h"
  thecolab.schema_version: "1"
  thecolab.skill_type: "public-api"
  thecolab.pack: "nz-public-data"
  thecolab.source_url: "https://www.legislation.govt.nz"
  thecolab.allowed_domains: "api.legislation.govt.nz,catalogue.data.govt.nz,www.legislation.govt.nz"
  thecolab.last_verified: "2026-07-19"
  thecolab.health: "gated"
  thecolab.maintainer: "@adam91holt"
---

# New Zealand Legislation

## Goal

Use official New Zealand Legislation sources to resolve legislation records, quote current or point-in-time sections, list versions, inspect current Bills, and check recent publication/update feeds.

## Quick triage

Use this when:
- A user cites an Act or regulation by year/number and needs exact text
- A finding needs a current "as at" section citation from legislation.govt.nz
- A workflow needs to check versions or amendments since a date
- A user asks for Bills currently before Parliament
- A task needs to distinguish keyless web/XML access from the keyed PCO API

Do not use this for:
- Legal advice or statutory interpretation beyond quoting/checking source text
- Non-NZ legislation
- Unofficial commentary, case law, or policy guidance

## CLI

```bash
python3 skills/legislation-nz/scripts/cli.py search "Grocery Industry" --type act --json
python3 skills/legislation-nz/scripts/cli.py get-act 2003/52 --json
python3 skills/legislation-nz/scripts/cli.py get-section 2003/52 9C --json
python3 skills/legislation-nz/scripts/cli.py versions 2003/52 --json
python3 skills/legislation-nz/scripts/cli.py updates --since 2026-07-01 --json
python3 skills/legislation-nz/scripts/cli.py list-bills --json
python3 skills/legislation-nz/scripts/cli.py sources --json
```

Commands:

- `search QUERY [--type act|bill|regulation|secondary-legislation] [--field title|content] [--source auto|web|api] [--limit N] [--json]`
- `get-act ACT_ID [--version YYYY-MM-DD|latest] [--sections-limit N|--all-sections] [--json]`
- `get-section ACT_ID SECTION [--version YYYY-MM-DD|latest] [--json]`
- `versions ACT_ID [--version YYYY-MM-DD|latest] [--limit N] [--json]`
- `updates --since YYYY-MM-DD [--type act|bill|regulation|secondary-legislation] [--limit N] [--json]`
- `list-bills [QUERY] [--all-statuses] [--limit N] [--json]`
- `sources` or `datasets` for source metadata and caveats

`ACT_ID` can be a `year/number` pair such as `2003/52`, a work/version id such as `act_public_2003_52`, or a canonical legislation.govt.nz URL.

## Source Behaviour

- `get-act` and `get-section` use keyless official XML format URLs from legislation.govt.nz.
- `search`, `versions`, and `list-bills` use keyless official legislation.govt.nz web pages by default.
- `updates` uses the official public web-feed generator and parses the returned Atom feed.
- `search --source api` uses the PCO developer API and requires `LEGISLATION_NZ_API_KEY` or `PCO_API_KEY`.
- Network calls time out after 10 seconds by default. Upstream blocks, bot challenges, missing API keys, and parse failures are surfaced as explicit non-stacktrace errors.

## Resources

- CLI: `scripts/cli.py`
- Smoke test: `scripts/smoke_test.py`
- Source notes and caveats: `references/api-notes.md`