openapi: 3.1.0 info: title: Data WA CKAN Action API (operated by Landgate) version: '3' summary: OpenAPI description of the anonymously callable CKAN Action API behind data.wa.gov.au, the WA whole-of-government open data catalogue Landgate operates. description: | Landgate leads implementation of the WA Whole of Government Open Data Policy and operates data.wa.gov.au. Its catalogue runs CKAN, whose standard `/api/3/action/*` surface is exposed anonymously. CKAN publishes no OpenAPI, so this is an API Evangelist GENERATED description of the actions that this specific deployment answers. Every operation below was probed live on 2026-07-26 and returned HTTP 200 with `"success": true` and no credential (see `x-evidence`). Only actions that were actually exercised are described — the CKAN action surface is larger, and `helpShow` is the server's own machine-readable parameter reference for any action. Scale observed on 2026-07-26: 2,872 datasets in the catalogue, 395 published by the `landgate` organization. Licensing is mixed and should not be assumed open — 371 of the 395 Landgate datasets carry `license_id: custom_other`. contact: name: Landgate Customer Service url: https://www.landgate.wa.gov.au/help-centre/ license: name: Per-dataset; see each package's license_id url: https://catalogue.data.wa.gov.au/api/3/action/license_list x-generated-by: API Evangelist enrichment pipeline x-generated: '2026-07-26' x-method: generated x-source: live probes of https://catalogue.data.wa.gov.au/api/3/action x-authentication: none for read actions (write actions require a CKAN API key not issued publicly) servers: - url: https://catalogue.data.wa.gov.au description: Data WA CKAN catalogue tags: - name: Site description: Catalogue-level status and reference lists - name: Datasets description: Dataset (package) discovery and retrieval - name: Organizations description: Publishing organizations and groups - name: Discovery description: Autocomplete, resource search and the DCAT catalog paths: /api/3/action/status_show: get: operationId: ckanStatusShow tags: [Site] summary: Get catalogue status description: Returns the CKAN version, site title/url and the installed extension list. x-evidence: url: https://catalogue.data.wa.gov.au/api/3/action/status_show status: 200 probed: '2026-07-26' responses: '200': description: Status envelope content: application/json: schema: $ref: '#/components/schemas/Envelope' /api/3/action/package_list: get: operationId: ckanPackageList tags: [Datasets] summary: List every dataset name in the catalogue x-evidence: url: https://catalogue.data.wa.gov.au/api/3/action/package_list status: 200 probed: '2026-07-26' parameters: - name: limit in: query schema: { type: integer } - name: offset in: query schema: { type: integer } responses: '200': description: Envelope whose result is an array of dataset names content: application/json: schema: $ref: '#/components/schemas/Envelope' /api/3/action/package_search: get: operationId: ckanPackageSearch tags: [Datasets] summary: Search datasets (Solr query surface) description: | The primary discovery operation. Accepts a subset of Solr parameters. Filter to Landgate's own datasets with `fq=organization:landgate` (395 datasets on 2026-07-26). x-evidence: - url: https://catalogue.data.wa.gov.au/api/3/action/package_search?rows=1 status: 200 probed: '2026-07-26' - url: https://catalogue.data.wa.gov.au/api/3/action/package_search?fq=organization:landgate&rows=0 status: 200 probed: '2026-07-26' sample: '{"count":395}' parameters: - name: q in: query description: Solr query. Default `*:*`. schema: { type: string } - name: fq in: query description: Filter query, e.g. `organization:landgate` or `res_format:CSV`. schema: { type: string } - name: rows in: query description: Page size. Default 10; upper limit 1000. schema: { type: integer, default: 10, maximum: 1000 } - name: start in: query description: Pagination offset. schema: { type: integer, default: 0 } - name: sort in: query schema: { type: string } - name: facet.field in: query schema: { type: string } - name: include_private in: query schema: { type: boolean } responses: '200': description: Envelope whose result has count, results[] and search_facets content: application/json: schema: $ref: '#/components/schemas/SearchEnvelope' /api/3/action/package_show: get: operationId: ckanPackageShow tags: [Datasets] summary: Get one dataset with its resources x-evidence: url: https://catalogue.data.wa.gov.au/api/3/action/package_show?id=1-10-000-000-large-igneous-provinces-dmirs-081 status: 200 probed: '2026-07-26' parameters: - name: id in: query required: true description: Dataset name or id. schema: { type: string } responses: '200': description: Envelope whose result is a Package content: application/json: schema: $ref: '#/components/schemas/Envelope' '409': description: Validation Error when `id` is missing content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' /api/3/action/current_package_list_with_resources: get: operationId: ckanCurrentPackageListWithResources tags: [Datasets] summary: List recent datasets with their resources x-evidence: url: https://catalogue.data.wa.gov.au/api/3/action/current_package_list_with_resources?limit=1 status: 200 probed: '2026-07-26' parameters: - name: limit in: query schema: { type: integer } - name: offset in: query schema: { type: integer } responses: '200': description: Envelope whose result is an array of packages content: application/json: schema: $ref: '#/components/schemas/Envelope' /api/3/action/organization_list: get: operationId: ckanOrganizationList tags: [Organizations] summary: List publishing organizations x-evidence: url: https://catalogue.data.wa.gov.au/api/3/action/organization_list status: 200 probed: '2026-07-26' responses: '200': description: Envelope whose result is an array of organization names content: application/json: schema: $ref: '#/components/schemas/Envelope' /api/3/action/organization_show: get: operationId: ckanOrganizationShow tags: [Organizations] summary: Get one organization x-evidence: url: https://catalogue.data.wa.gov.au/api/3/action/organization_show?id=landgate status: 200 probed: '2026-07-26' parameters: - name: id in: query required: true description: Organization name or id, e.g. `landgate`. schema: { type: string } - name: include_datasets in: query schema: { type: boolean } responses: '200': description: Envelope whose result is an Organization content: application/json: schema: $ref: '#/components/schemas/Envelope' /api/3/action/group_list: get: operationId: ckanGroupList tags: [Organizations] summary: List catalogue groups x-evidence: url: https://catalogue.data.wa.gov.au/api/3/action/group_list status: 200 probed: '2026-07-26' responses: '200': description: Envelope whose result is an array of group names content: application/json: schema: $ref: '#/components/schemas/Envelope' /api/3/action/tag_list: get: operationId: ckanTagList tags: [Site] summary: List tags x-evidence: url: https://catalogue.data.wa.gov.au/api/3/action/tag_list?limit=5 status: 200 probed: '2026-07-26' parameters: - name: query in: query schema: { type: string } - name: limit in: query schema: { type: integer } responses: '200': description: Envelope whose result is an array of tag names content: application/json: schema: $ref: '#/components/schemas/Envelope' /api/3/action/license_list: get: operationId: ckanLicenseList tags: [Site] summary: List the licences the catalogue recognises description: Useful for interpreting `license_id` on Landgate datasets — most are `custom_other` (a Landgate licence), not an open licence. x-evidence: url: https://catalogue.data.wa.gov.au/api/3/action/license_list status: 200 probed: '2026-07-26' responses: '200': description: Envelope whose result is an array of licence objects content: application/json: schema: $ref: '#/components/schemas/Envelope' /api/3/action/vocabulary_list: get: operationId: ckanVocabularyList tags: [Site] summary: List controlled vocabularies x-evidence: url: https://catalogue.data.wa.gov.au/api/3/action/vocabulary_list status: 200 probed: '2026-07-26' responses: '200': description: Envelope whose result is an array of vocabularies content: application/json: schema: $ref: '#/components/schemas/Envelope' /api/3/action/resource_search: get: operationId: ckanResourceSearch tags: [Discovery] summary: Search resources (distributions) directly x-evidence: url: https://catalogue.data.wa.gov.au/api/3/action/resource_search?query=name:cadastre status: 200 probed: '2026-07-26' parameters: - name: query in: query required: true description: Field-scoped query, e.g. `name:cadastre`. schema: { type: string } - name: limit in: query schema: { type: integer } - name: offset in: query schema: { type: integer } responses: '200': description: Envelope whose result has count and results[] content: application/json: schema: $ref: '#/components/schemas/Envelope' /api/3/action/package_autocomplete: get: operationId: ckanPackageAutocomplete tags: [Discovery] summary: Autocomplete dataset titles x-evidence: url: https://catalogue.data.wa.gov.au/api/3/action/package_autocomplete?q=land&limit=3 status: 200 probed: '2026-07-26' parameters: - name: q in: query required: true schema: { type: string } - name: limit in: query schema: { type: integer } responses: '200': description: Envelope whose result is an array of matches content: application/json: schema: $ref: '#/components/schemas/Envelope' /api/3/action/format_autocomplete: get: operationId: ckanFormatAutocomplete tags: [Discovery] summary: Autocomplete resource formats x-evidence: url: https://catalogue.data.wa.gov.au/api/3/action/format_autocomplete?q=csv status: 200 probed: '2026-07-26' parameters: - name: q in: query required: true schema: { type: string } - name: limit in: query schema: { type: integer } responses: '200': description: Envelope whose result is an array of formats content: application/json: schema: $ref: '#/components/schemas/Envelope' /api/3/action/help_show: get: operationId: ckanHelpShow tags: [Site] summary: Get the docstring (parameter reference) for any action description: CKAN's own machine-readable parameter reference. Every envelope returned by this API carries a `help` URL pointing back at this action. x-evidence: url: https://catalogue.data.wa.gov.au/api/3/action/help_show?name=package_search status: 200 probed: '2026-07-26' parameters: - name: name in: query required: true schema: { type: string } responses: '200': description: Envelope whose result is the action docstring content: application/json: schema: $ref: '#/components/schemas/Envelope' /catalog.jsonld: get: operationId: getDataWaDcatCatalog tags: [Discovery] summary: Get the DCAT catalog as JSON-LD x-evidence: url: https://catalogue.data.wa.gov.au/catalog.jsonld status: 200 content_type: application/ld+json probed: '2026-07-26' responses: '200': description: DCAT catalog content: application/ld+json: schema: type: array items: { type: object } components: schemas: Envelope: type: object description: Standard CKAN response envelope. required: [help, success] properties: help: { type: string, format: uri } success: { type: boolean } result: {} SearchEnvelope: allOf: - $ref: '#/components/schemas/Envelope' - type: object properties: result: type: object properties: count: { type: integer } sort: { type: string } results: type: array items: { $ref: '#/components/schemas/Package' } search_facets: { type: object } ErrorEnvelope: type: object description: CKAN error envelope (observed on HTTP 409 validation errors). properties: help: { type: string, format: uri } success: { type: boolean, const: false } error: type: object properties: __type: { type: string, examples: [Validation Error, Not Found Error, Authorization Error] } Package: type: object description: A CKAN dataset. Fields observed on this deployment. properties: id: { type: string } name: { type: string } title: { type: string } notes: { type: string } access_level: { type: string } author: { type: string } author_email: { type: string } license_id: { type: string } metadata_created: { type: string } metadata_modified: { type: string } organization: { $ref: '#/components/schemas/Organization' } tags: type: array items: { type: object } resources: type: array items: { $ref: '#/components/schemas/Resource' } Resource: type: object properties: id: { type: string } package_id: { type: string } name: { type: string } url: { type: string, format: uri } format: { type: string } description: { type: string } Organization: type: object properties: id: { type: string } name: { type: string } title: { type: string } description: { type: string } package_count: { type: integer }