{
  "openapi": "3.1.0",
  "info": {
    "title": "Australian Shark-Incident Database query API",
    "version": "2026-09-03",
    "summary": "Filter, page and aggregate Australian Shark-Incident Database from Taronga Conservation Society Australia.",
    "description": "The query API returns only the rows you ask for, as JSON, NDJSON or CSV, from the same typed rows as the files. It needs no key. The API allows 60 requests in 10 seconds from one address. Above that it answers 429 for 10 seconds with a `Retry-After` header, a `RateLimit-Policy` header and a JSON body that gives the limit. Every API answer carries the same `RateLimit-Policy`. A client should wait the `Retry-After` seconds, or read the files, which have no limit. Every JSON answer carries the version, licence and attribution. CSV and NDJSON answers carry them in response headers. Taronga Conservation Society Australia has not endorsed this site. The whole site is described in https://publicdata.au/openapi.json.",
    "license": {
      "name": "CC BY 4.0",
      "url": "https://creativecommons.org/licenses/by/4.0/"
    }
  },
  "servers": [
    {
      "url": "https://publicdata.au"
    }
  ],
  "externalDocs": {
    "url": "https://publicdata.au/d/au-shark-incidents/#query"
  },
  "tags": [
    {
      "name": "query"
    }
  ],
  "paths": {
    "/api/v1/datasets/au-shark-incidents/rows": {
      "get": {
        "tags": [
          "query"
        ],
        "summary": "Query Australian Shark-Incident Database",
        "operationId": "queryRows_au_shark_incidents",
        "description": "Rows of Australian Shark-Incident Database in the newest loaded version, filtered and paged. Each filter is `field=operator.value` in the query string, and every filter must match. A number or date field compares as a number or date, and a text field compares as text. Values are case-sensitive except with `ilike`. Prefix `not.` to negate a filter, as `not.eq.value`. Operators: `eq.value`, `neq.value`, `gt.value`, `gte.value`, `lt.value`, `lte.value`, `like.*text*`, `ilike.*text*`, `in.(a,b,c)`, `is.null`.",
        "parameters": [
          {
            "name": "uin",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string."
          },
          {
            "name": "incident_month",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "integer. Values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12.",
            "examples": [
              "eq.12"
            ]
          },
          {
            "name": "incident_year",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "integer. From 1791 to 2026."
          },
          {
            "name": "victim_injury",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: Injured, fatal, injured, injury, uninjured, unknown.",
            "examples": [
              "eq.unknown"
            ]
          },
          {
            "name": "state",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. As recorded; the file mixes Qld and QLD and other spellings, kept as published. Values: NSW, NT, QLD, Qld, SA, TAS, VIC, WA.",
            "examples": [
              "eq.WA"
            ]
          },
          {
            "name": "location",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string."
          },
          {
            "name": "latitude",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. From -43.6523 to -9.3809."
          },
          {
            "name": "longitude",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. From 96.8192 to 4034.0."
          },
          {
            "name": "site_category",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: Coastal, Ocean/pelagic, bay to open ocean, coastal, estuary/harbour, island, island open ocean, ocean/pelagic, open ocean, other: fish farm, river.",
            "examples": [
              "eq.river"
            ]
          },
          {
            "name": "site_category_comment",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: bay, bay to open ocean, beach, beach to open ocean, estuary, harbour, harbour beach, inlet from ocean, island, ocean beach, open ocean, other: reef, reef, river, surf beach, surf reef.",
            "examples": [
              "eq.surf reef"
            ]
          },
          {
            "name": "shark_common_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.wobbegong"
            ]
          },
          {
            "name": "shark_scientific_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.unknown"
            ]
          },
          {
            "name": "shark_identification_method",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.witnesses"
            ]
          },
          {
            "name": "shark_identification_source",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: DPIRD fisheries NSW, Fisheries NSW, SLS, fisheries WA, fisheries officer, footage, government official, other: doctor, other: report, researcher, researcher, footage, swab taken for DNA, victim, witness/victim.",
            "examples": [
              "eq.witness/victim"
            ]
          },
          {
            "name": "shark_length_m",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. As recorded, sometimes a range or a word rather than a figure.",
            "examples": [
              "eq.6"
            ]
          },
          {
            "name": "basis_for_length",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.witness/victim, other: comparison to boat"
            ]
          },
          {
            "name": "provoked_unprovoked",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: provoked, unprovoked.",
            "examples": [
              "eq.unprovoked"
            ]
          },
          {
            "name": "provocative_act",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: N/A, capture of shark, enticed shark, enticed shark, physical contact, fishing, jumped on shark by accident, phyical contact, physical contact, snorkelling, speared fish on weightbelt, spearfishing, stood on shark, surf ski, victim intentionally hurt shark, victim intentionally moved into immediate proximity of shark.",
            "examples": [
              "eq.victim intentionally moved into immediate proximity of shark"
            ]
          },
          {
            "name": "no_sharks",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "integer. Values: 1, 2, 3, 4, 10.",
            "examples": [
              "eq.10"
            ]
          },
          {
            "name": "victim_activity",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.wing foiler"
            ]
          },
          {
            "name": "fish_speared",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: no, yes.",
            "examples": [
              "eq.yes"
            ]
          },
          {
            "name": "commercial_dive_activity",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: Y, board, n.",
            "examples": [
              "eq.n"
            ]
          },
          {
            "name": "object_of_bite",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.windsurfer sail"
            ]
          },
          {
            "name": "present_at_time_of_bite",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.two surfers in the water"
            ]
          },
          {
            "name": "direction_first_strike",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: behind, behind, above, below, below, behind, front, in front, left, left, below, left, in front, other: side, right, side.",
            "examples": [
              "eq.side"
            ]
          },
          {
            "name": "shark_behaviour",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string."
          },
          {
            "name": "victim_aware_of_shark",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: N, Y, n, y.",
            "examples": [
              "eq.y"
            ]
          },
          {
            "name": "shark_captured",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: N, Y, Y - released, n, y.",
            "examples": [
              "eq.y"
            ]
          },
          {
            "name": "injury_location",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.torso, thigh"
            ]
          },
          {
            "name": "injury_severity",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.uninjured"
            ]
          },
          {
            "name": "victim_gender",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: female, male.",
            "examples": [
              "eq.male"
            ]
          },
          {
            "name": "victim_age",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.teen"
            ]
          },
          {
            "name": "victim_clothing",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: 7 mm wetsuit, boardshorts, clothes, shark-proof suit, swimwear, wetsuit, wetsuit/drysuit.",
            "examples": [
              "eq.wetsuit/drysuit"
            ]
          },
          {
            "name": "clothing_coverage",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: full, full body, short arm-short legs, short only.",
            "examples": [
              "eq.short only"
            ]
          },
          {
            "name": "dominant_clothing_colour",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.red"
            ]
          },
          {
            "name": "other_clothing_colour",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: black, black, orange, blue, brown, green, grey, orange, purple, red, red, blue, red, yellow, white, white, orange, yellow.",
            "examples": [
              "eq.yellow"
            ]
          },
          {
            "name": "clothing_pattern",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: camoflage, camouflage, floral, stripe.",
            "examples": [
              "eq.stripe"
            ]
          },
          {
            "name": "fin_colour",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: black, blue, green, multicolour: black, red, red, white, yellow.",
            "examples": [
              "eq.yellow"
            ]
          },
          {
            "name": "diversionary_action_taken",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string."
          },
          {
            "name": "diversionary_action_outcome",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.shark then swam towards victim and turned to bite and bit foilboard"
            ]
          },
          {
            "name": "people_under_3m",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "integer. Values: 0, 1, 2, 3, 4, 5, 6, 7, 12.",
            "examples": [
              "eq.12"
            ]
          },
          {
            "name": "people_3_15m",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "integer. Values: 0, 1, 2, 3, 4, 5, 7, 8, 10, 12, 30, 40.",
            "examples": [
              "eq.40"
            ]
          },
          {
            "name": "time_of_incident",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.morning"
            ]
          },
          {
            "name": "depth_of_incident_m",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. As recorded, sometimes a range or a word rather than a figure.",
            "examples": [
              "eq.surface"
            ]
          },
          {
            "name": "teeth_recovered",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: N, Y, y.",
            "examples": [
              "eq.y"
            ]
          },
          {
            "name": "time_in_water_min",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. As recorded, sometimes a range or a word rather than a figure.",
            "examples": [
              "eq.>60"
            ]
          },
          {
            "name": "water_temperature_c",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. From 0.3 to 29.0.",
            "examples": [
              "eq.29.0"
            ]
          },
          {
            "name": "total_water_depth_m",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. As recorded, sometimes a range or a word rather than a figure.",
            "examples": [
              "eq.9"
            ]
          },
          {
            "name": "water_visability_m",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 15.0, 17.0, 20.0, 23.0, 25.0, 30.0, 50.0, 100.0.",
            "examples": [
              "eq.100.0"
            ]
          },
          {
            "name": "distance_to_shore_m",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. From 1.0 to 280000.0.",
            "examples": [
              "eq.280000.0"
            ]
          },
          {
            "name": "spring_or_neap_tide",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string."
          },
          {
            "name": "tidal_cycle",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: High, Incoming, Incoming low, Incoming mid, Low, Mid, Outgoing, high, low tide.",
            "examples": [
              "eq.low tide"
            ]
          },
          {
            "name": "wind_condition",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: 12 knot, NE, calm, moderate breeze, windy.",
            "examples": [
              "eq.windy"
            ]
          },
          {
            "name": "weather_condition",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: SUNNY, clear, cloud cover, overcast, partly cloudy, rainy, stormy, sunny.",
            "examples": [
              "eq.sunny"
            ]
          },
          {
            "name": "air_temperature_c",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 10.0, 15.0, 16.0, 18.0, 19.0, 20.0, 21.0, 21.1, 21.6, 22.0, 23.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0, 35.0.",
            "examples": [
              "eq.35.0"
            ]
          },
          {
            "name": "personal_protective_device",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: board, deterrent/repellent, knife, n, no, other: camera, other: prawn scoop, other: shovel, shark suit, speargun.",
            "examples": [
              "eq.speargun"
            ]
          },
          {
            "name": "deterrent_brand_and_type",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: Shark Pod, Shark Pod, on, Shark Shield, Shark Shield, off, Shark Shield, on.",
            "examples": [
              "eq.Shark Shield, on"
            ]
          },
          {
            "name": "data_source",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.witness account"
            ]
          },
          {
            "name": "reference",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string."
          },
          {
            "name": "sa2_2021_code",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Code of the Statistical Area Level 2 (2021) the point falls in. Joined by location from abs-sa2-2021, not published by the publisher."
          },
          {
            "name": "sa2_2021_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Name of the Statistical Area Level 2 (2021) the point falls in. Joined by location from abs-sa2-2021, not published by the publisher."
          },
          {
            "name": "lga_2025_code",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Code of the Local Government Area (2025) the point falls in. Joined by location from abs-lga-2025, not published by the publisher.",
            "examples": [
              "eq.99399"
            ]
          },
          {
            "name": "lga_2025_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Name of the Local Government Area (2025) the point falls in. Joined by location from abs-lga-2025, not published by the publisher.",
            "examples": [
              "eq.Yorke Peninsula"
            ]
          },
          {
            "name": "sal_2021_code",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Code of the Suburb and Locality (2021) the point falls in. Joined by location from abs-suburbs-localities-2021, not published by the publisher."
          },
          {
            "name": "sal_2021_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Name of the Suburb and Locality (2021) the point falls in. Joined by location from abs-suburbs-localities-2021, not published by the publisher."
          },
          {
            "name": "poa_2021_code",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Code of the Postal Area (2021) the point falls in. Joined by location from abs-postal-areas-2021, not published by the publisher.",
            "examples": [
              "eq.7215"
            ]
          },
          {
            "name": "poa_2021_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Name of the Postal Area (2021) the point falls in. Joined by location from abs-postal-areas-2021, not published by the publisher.",
            "examples": [
              "eq.7215"
            ]
          },
          {
            "name": "sed_2025_code",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Code of the State Electoral Division (2025) the point falls in. Joined by location from abs-state-electoral-divisions-2025, not published by the publisher.",
            "examples": [
              "eq.99191"
            ]
          },
          {
            "name": "sed_2025_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Name of the State Electoral Division (2025) the point falls in. Joined by location from abs-state-electoral-divisions-2025, not published by the publisher.",
            "examples": [
              "eq.Wyong"
            ]
          },
          {
            "name": "ced_2025_code",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Code of the Commonwealth Electoral Division (2025) the point falls in. Joined by location from abs-federal-electoral-divisions-2025, not published by the publisher.",
            "examples": [
              "eq.803"
            ]
          },
          {
            "name": "ced_2025_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Name of the Commonwealth Electoral Division (2025) the point falls in. Joined by location from abs-federal-electoral-divisions-2025, not published by the publisher.",
            "examples": [
              "eq.Wide Bay"
            ]
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Fields to return, comma-separated. Every field when absent."
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "`field.asc` or `field.desc`, comma-separated. The publisher's row order when absent."
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 10000,
              "default": 100
            },
            "description": "Rows per page, 1 to 10,000. 100 when absent."
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            },
            "description": "Rows to skip. The `next` URL in each answer sets it for you."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "json",
                "ndjson",
                "csv"
              ],
              "default": "json"
            },
            "description": "`json`, `ndjson` or `csv`. JSON carries the provenance header, and the others carry it in response headers."
          }
        ],
        "responses": {
          "200": {
            "description": "Rows with the version, licence and attribution. `next` is the URL of the following page, or null."
          },
          "400": {
            "description": "The query names a field the dataset does not have, or a value of the wrong type."
          },
          "404": {
            "description": "The dataset or version is not loaded for queries."
          },
          "429": {
            "description": "More than 60 requests in 10 seconds from one address. Blocked for 10 seconds. Wait `Retry-After` seconds.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                },
                "description": "Seconds until the block lifts."
              },
              "RateLimit-Policy": {
                "schema": {
                  "type": "string"
                },
                "description": "The limit, as \"fair-use\";q=60;w=10."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer",
                      "const": 429
                    },
                    "limit": {
                      "type": "integer"
                    },
                    "window_seconds": {
                      "type": "integer"
                    },
                    "block_seconds": {
                      "type": "integer"
                    },
                    "docs": {
                      "type": "string",
                      "format": "uri"
                    },
                    "files": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/datasets/au-shark-incidents/versions/{version}/rows": {
      "get": {
        "tags": [
          "query"
        ],
        "summary": "Query Australian Shark-Incident Database",
        "operationId": "queryRows_au_shark_incidents_version",
        "description": "Rows of Australian Shark-Incident Database in one dated version, filtered and paged. Each filter is `field=operator.value` in the query string, and every filter must match. A number or date field compares as a number or date, and a text field compares as text. Values are case-sensitive except with `ilike`. Prefix `not.` to negate a filter, as `not.eq.value`. Operators: `eq.value`, `neq.value`, `gt.value`, `gte.value`, `lt.value`, `lte.value`, `like.*text*`, `ilike.*text*`, `in.(a,b,c)`, `is.null`.",
        "parameters": [
          {
            "name": "version",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "A dated version loaded for queries, from the versions path. Answers for a dated version never change."
          },
          {
            "name": "uin",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string."
          },
          {
            "name": "incident_month",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "integer. Values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12.",
            "examples": [
              "eq.12"
            ]
          },
          {
            "name": "incident_year",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "integer. From 1791 to 2026."
          },
          {
            "name": "victim_injury",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: Injured, fatal, injured, injury, uninjured, unknown.",
            "examples": [
              "eq.unknown"
            ]
          },
          {
            "name": "state",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. As recorded; the file mixes Qld and QLD and other spellings, kept as published. Values: NSW, NT, QLD, Qld, SA, TAS, VIC, WA.",
            "examples": [
              "eq.WA"
            ]
          },
          {
            "name": "location",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string."
          },
          {
            "name": "latitude",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. From -43.6523 to -9.3809."
          },
          {
            "name": "longitude",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. From 96.8192 to 4034.0."
          },
          {
            "name": "site_category",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: Coastal, Ocean/pelagic, bay to open ocean, coastal, estuary/harbour, island, island open ocean, ocean/pelagic, open ocean, other: fish farm, river.",
            "examples": [
              "eq.river"
            ]
          },
          {
            "name": "site_category_comment",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: bay, bay to open ocean, beach, beach to open ocean, estuary, harbour, harbour beach, inlet from ocean, island, ocean beach, open ocean, other: reef, reef, river, surf beach, surf reef.",
            "examples": [
              "eq.surf reef"
            ]
          },
          {
            "name": "shark_common_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.wobbegong"
            ]
          },
          {
            "name": "shark_scientific_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.unknown"
            ]
          },
          {
            "name": "shark_identification_method",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.witnesses"
            ]
          },
          {
            "name": "shark_identification_source",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: DPIRD fisheries NSW, Fisheries NSW, SLS, fisheries WA, fisheries officer, footage, government official, other: doctor, other: report, researcher, researcher, footage, swab taken for DNA, victim, witness/victim.",
            "examples": [
              "eq.witness/victim"
            ]
          },
          {
            "name": "shark_length_m",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. As recorded, sometimes a range or a word rather than a figure.",
            "examples": [
              "eq.6"
            ]
          },
          {
            "name": "basis_for_length",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.witness/victim, other: comparison to boat"
            ]
          },
          {
            "name": "provoked_unprovoked",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: provoked, unprovoked.",
            "examples": [
              "eq.unprovoked"
            ]
          },
          {
            "name": "provocative_act",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: N/A, capture of shark, enticed shark, enticed shark, physical contact, fishing, jumped on shark by accident, phyical contact, physical contact, snorkelling, speared fish on weightbelt, spearfishing, stood on shark, surf ski, victim intentionally hurt shark, victim intentionally moved into immediate proximity of shark.",
            "examples": [
              "eq.victim intentionally moved into immediate proximity of shark"
            ]
          },
          {
            "name": "no_sharks",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "integer. Values: 1, 2, 3, 4, 10.",
            "examples": [
              "eq.10"
            ]
          },
          {
            "name": "victim_activity",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.wing foiler"
            ]
          },
          {
            "name": "fish_speared",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: no, yes.",
            "examples": [
              "eq.yes"
            ]
          },
          {
            "name": "commercial_dive_activity",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: Y, board, n.",
            "examples": [
              "eq.n"
            ]
          },
          {
            "name": "object_of_bite",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.windsurfer sail"
            ]
          },
          {
            "name": "present_at_time_of_bite",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.two surfers in the water"
            ]
          },
          {
            "name": "direction_first_strike",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: behind, behind, above, below, below, behind, front, in front, left, left, below, left, in front, other: side, right, side.",
            "examples": [
              "eq.side"
            ]
          },
          {
            "name": "shark_behaviour",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string."
          },
          {
            "name": "victim_aware_of_shark",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: N, Y, n, y.",
            "examples": [
              "eq.y"
            ]
          },
          {
            "name": "shark_captured",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: N, Y, Y - released, n, y.",
            "examples": [
              "eq.y"
            ]
          },
          {
            "name": "injury_location",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.torso, thigh"
            ]
          },
          {
            "name": "injury_severity",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.uninjured"
            ]
          },
          {
            "name": "victim_gender",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: female, male.",
            "examples": [
              "eq.male"
            ]
          },
          {
            "name": "victim_age",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.teen"
            ]
          },
          {
            "name": "victim_clothing",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: 7 mm wetsuit, boardshorts, clothes, shark-proof suit, swimwear, wetsuit, wetsuit/drysuit.",
            "examples": [
              "eq.wetsuit/drysuit"
            ]
          },
          {
            "name": "clothing_coverage",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: full, full body, short arm-short legs, short only.",
            "examples": [
              "eq.short only"
            ]
          },
          {
            "name": "dominant_clothing_colour",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.red"
            ]
          },
          {
            "name": "other_clothing_colour",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: black, black, orange, blue, brown, green, grey, orange, purple, red, red, blue, red, yellow, white, white, orange, yellow.",
            "examples": [
              "eq.yellow"
            ]
          },
          {
            "name": "clothing_pattern",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: camoflage, camouflage, floral, stripe.",
            "examples": [
              "eq.stripe"
            ]
          },
          {
            "name": "fin_colour",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: black, blue, green, multicolour: black, red, red, white, yellow.",
            "examples": [
              "eq.yellow"
            ]
          },
          {
            "name": "diversionary_action_taken",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string."
          },
          {
            "name": "diversionary_action_outcome",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.shark then swam towards victim and turned to bite and bit foilboard"
            ]
          },
          {
            "name": "people_under_3m",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "integer. Values: 0, 1, 2, 3, 4, 5, 6, 7, 12.",
            "examples": [
              "eq.12"
            ]
          },
          {
            "name": "people_3_15m",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "integer. Values: 0, 1, 2, 3, 4, 5, 7, 8, 10, 12, 30, 40.",
            "examples": [
              "eq.40"
            ]
          },
          {
            "name": "time_of_incident",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.morning"
            ]
          },
          {
            "name": "depth_of_incident_m",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. As recorded, sometimes a range or a word rather than a figure.",
            "examples": [
              "eq.surface"
            ]
          },
          {
            "name": "teeth_recovered",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: N, Y, y.",
            "examples": [
              "eq.y"
            ]
          },
          {
            "name": "time_in_water_min",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. As recorded, sometimes a range or a word rather than a figure.",
            "examples": [
              "eq.>60"
            ]
          },
          {
            "name": "water_temperature_c",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. From 0.3 to 29.0.",
            "examples": [
              "eq.29.0"
            ]
          },
          {
            "name": "total_water_depth_m",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. As recorded, sometimes a range or a word rather than a figure.",
            "examples": [
              "eq.9"
            ]
          },
          {
            "name": "water_visability_m",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 15.0, 17.0, 20.0, 23.0, 25.0, 30.0, 50.0, 100.0.",
            "examples": [
              "eq.100.0"
            ]
          },
          {
            "name": "distance_to_shore_m",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. From 1.0 to 280000.0.",
            "examples": [
              "eq.280000.0"
            ]
          },
          {
            "name": "spring_or_neap_tide",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string."
          },
          {
            "name": "tidal_cycle",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: High, Incoming, Incoming low, Incoming mid, Low, Mid, Outgoing, high, low tide.",
            "examples": [
              "eq.low tide"
            ]
          },
          {
            "name": "wind_condition",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: 12 knot, NE, calm, moderate breeze, windy.",
            "examples": [
              "eq.windy"
            ]
          },
          {
            "name": "weather_condition",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: SUNNY, clear, cloud cover, overcast, partly cloudy, rainy, stormy, sunny.",
            "examples": [
              "eq.sunny"
            ]
          },
          {
            "name": "air_temperature_c",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 10.0, 15.0, 16.0, 18.0, 19.0, 20.0, 21.0, 21.1, 21.6, 22.0, 23.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0, 35.0.",
            "examples": [
              "eq.35.0"
            ]
          },
          {
            "name": "personal_protective_device",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: board, deterrent/repellent, knife, n, no, other: camera, other: prawn scoop, other: shovel, shark suit, speargun.",
            "examples": [
              "eq.speargun"
            ]
          },
          {
            "name": "deterrent_brand_and_type",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: Shark Pod, Shark Pod, on, Shark Shield, Shark Shield, off, Shark Shield, on.",
            "examples": [
              "eq.Shark Shield, on"
            ]
          },
          {
            "name": "data_source",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.witness account"
            ]
          },
          {
            "name": "reference",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string."
          },
          {
            "name": "sa2_2021_code",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Code of the Statistical Area Level 2 (2021) the point falls in. Joined by location from abs-sa2-2021, not published by the publisher."
          },
          {
            "name": "sa2_2021_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Name of the Statistical Area Level 2 (2021) the point falls in. Joined by location from abs-sa2-2021, not published by the publisher."
          },
          {
            "name": "lga_2025_code",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Code of the Local Government Area (2025) the point falls in. Joined by location from abs-lga-2025, not published by the publisher.",
            "examples": [
              "eq.99399"
            ]
          },
          {
            "name": "lga_2025_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Name of the Local Government Area (2025) the point falls in. Joined by location from abs-lga-2025, not published by the publisher.",
            "examples": [
              "eq.Yorke Peninsula"
            ]
          },
          {
            "name": "sal_2021_code",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Code of the Suburb and Locality (2021) the point falls in. Joined by location from abs-suburbs-localities-2021, not published by the publisher."
          },
          {
            "name": "sal_2021_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Name of the Suburb and Locality (2021) the point falls in. Joined by location from abs-suburbs-localities-2021, not published by the publisher."
          },
          {
            "name": "poa_2021_code",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Code of the Postal Area (2021) the point falls in. Joined by location from abs-postal-areas-2021, not published by the publisher.",
            "examples": [
              "eq.7215"
            ]
          },
          {
            "name": "poa_2021_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Name of the Postal Area (2021) the point falls in. Joined by location from abs-postal-areas-2021, not published by the publisher.",
            "examples": [
              "eq.7215"
            ]
          },
          {
            "name": "sed_2025_code",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Code of the State Electoral Division (2025) the point falls in. Joined by location from abs-state-electoral-divisions-2025, not published by the publisher.",
            "examples": [
              "eq.99191"
            ]
          },
          {
            "name": "sed_2025_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Name of the State Electoral Division (2025) the point falls in. Joined by location from abs-state-electoral-divisions-2025, not published by the publisher.",
            "examples": [
              "eq.Wyong"
            ]
          },
          {
            "name": "ced_2025_code",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Code of the Commonwealth Electoral Division (2025) the point falls in. Joined by location from abs-federal-electoral-divisions-2025, not published by the publisher.",
            "examples": [
              "eq.803"
            ]
          },
          {
            "name": "ced_2025_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Name of the Commonwealth Electoral Division (2025) the point falls in. Joined by location from abs-federal-electoral-divisions-2025, not published by the publisher.",
            "examples": [
              "eq.Wide Bay"
            ]
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Fields to return, comma-separated. Every field when absent."
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "`field.asc` or `field.desc`, comma-separated. The publisher's row order when absent."
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 10000,
              "default": 100
            },
            "description": "Rows per page, 1 to 10,000. 100 when absent."
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            },
            "description": "Rows to skip. The `next` URL in each answer sets it for you."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "json",
                "ndjson",
                "csv"
              ],
              "default": "json"
            },
            "description": "`json`, `ndjson` or `csv`. JSON carries the provenance header, and the others carry it in response headers."
          }
        ],
        "responses": {
          "200": {
            "description": "Rows with the version, licence and attribution. `next` is the URL of the following page, or null."
          },
          "400": {
            "description": "The query names a field the dataset does not have, or a value of the wrong type."
          },
          "404": {
            "description": "The dataset or version is not loaded for queries."
          },
          "429": {
            "description": "More than 60 requests in 10 seconds from one address. Blocked for 10 seconds. Wait `Retry-After` seconds.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                },
                "description": "Seconds until the block lifts."
              },
              "RateLimit-Policy": {
                "schema": {
                  "type": "string"
                },
                "description": "The limit, as \"fair-use\";q=60;w=10."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer",
                      "const": 429
                    },
                    "limit": {
                      "type": "integer"
                    },
                    "window_seconds": {
                      "type": "integer"
                    },
                    "block_seconds": {
                      "type": "integer"
                    },
                    "docs": {
                      "type": "string",
                      "format": "uri"
                    },
                    "files": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/datasets/{slug}/aggregate": {
      "get": {
        "tags": [
          "query"
        ],
        "summary": "Counts, sums, averages, minimums and maximums by group",
        "operationId": "aggregate",
        "description": "Groups and totals of any dataset in the newest loaded version. Filters work as they do on rows. Each filter is `field=operator.value` in the query string, and every filter must match. A number or date field compares as a number or date, and a text field compares as text. Values are case-sensitive except with `ilike`. Prefix `not.` to negate a filter, as `not.eq.value`. Operators: `eq.value`, `neq.value`, `gt.value`, `gte.value`, `lt.value`, `lte.value`, `like.*text*`, `ilike.*text*`, `in.(a,b,c)`, `is.null`.",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "au-shark-incidents"
              ]
            },
            "description": "The dataset's slug, as in its page URL `/d/<slug>/`."
          },
          {
            "name": "group",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "On `aggregate`, fields to group by, comma-separated."
          },
          {
            "name": "metric",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "count"
            },
            "description": "On `aggregate`, `count`, `sum.field`, `avg.field`, `min.field` or `max.field`, comma-separated. `count` when absent."
          },
          {
            "name": "uin",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string."
          },
          {
            "name": "incident_month",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "integer. Values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12.",
            "examples": [
              "eq.12"
            ]
          },
          {
            "name": "incident_year",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "integer. From 1791 to 2026."
          },
          {
            "name": "victim_injury",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: Injured, fatal, injured, injury, uninjured, unknown.",
            "examples": [
              "eq.unknown"
            ]
          },
          {
            "name": "state",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. As recorded; the file mixes Qld and QLD and other spellings, kept as published. Values: NSW, NT, QLD, Qld, SA, TAS, VIC, WA.",
            "examples": [
              "eq.WA"
            ]
          },
          {
            "name": "location",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string."
          },
          {
            "name": "latitude",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. From -43.6523 to -9.3809."
          },
          {
            "name": "longitude",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. From 96.8192 to 4034.0."
          },
          {
            "name": "site_category",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: Coastal, Ocean/pelagic, bay to open ocean, coastal, estuary/harbour, island, island open ocean, ocean/pelagic, open ocean, other: fish farm, river.",
            "examples": [
              "eq.river"
            ]
          },
          {
            "name": "site_category_comment",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: bay, bay to open ocean, beach, beach to open ocean, estuary, harbour, harbour beach, inlet from ocean, island, ocean beach, open ocean, other: reef, reef, river, surf beach, surf reef.",
            "examples": [
              "eq.surf reef"
            ]
          },
          {
            "name": "shark_common_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.wobbegong"
            ]
          },
          {
            "name": "shark_scientific_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.unknown"
            ]
          },
          {
            "name": "shark_identification_method",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.witnesses"
            ]
          },
          {
            "name": "shark_identification_source",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: DPIRD fisheries NSW, Fisheries NSW, SLS, fisheries WA, fisheries officer, footage, government official, other: doctor, other: report, researcher, researcher, footage, swab taken for DNA, victim, witness/victim.",
            "examples": [
              "eq.witness/victim"
            ]
          },
          {
            "name": "shark_length_m",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. As recorded, sometimes a range or a word rather than a figure.",
            "examples": [
              "eq.6"
            ]
          },
          {
            "name": "basis_for_length",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.witness/victim, other: comparison to boat"
            ]
          },
          {
            "name": "provoked_unprovoked",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: provoked, unprovoked.",
            "examples": [
              "eq.unprovoked"
            ]
          },
          {
            "name": "provocative_act",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: N/A, capture of shark, enticed shark, enticed shark, physical contact, fishing, jumped on shark by accident, phyical contact, physical contact, snorkelling, speared fish on weightbelt, spearfishing, stood on shark, surf ski, victim intentionally hurt shark, victim intentionally moved into immediate proximity of shark.",
            "examples": [
              "eq.victim intentionally moved into immediate proximity of shark"
            ]
          },
          {
            "name": "no_sharks",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "integer. Values: 1, 2, 3, 4, 10.",
            "examples": [
              "eq.10"
            ]
          },
          {
            "name": "victim_activity",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.wing foiler"
            ]
          },
          {
            "name": "fish_speared",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: no, yes.",
            "examples": [
              "eq.yes"
            ]
          },
          {
            "name": "commercial_dive_activity",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: Y, board, n.",
            "examples": [
              "eq.n"
            ]
          },
          {
            "name": "object_of_bite",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.windsurfer sail"
            ]
          },
          {
            "name": "present_at_time_of_bite",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.two surfers in the water"
            ]
          },
          {
            "name": "direction_first_strike",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: behind, behind, above, below, below, behind, front, in front, left, left, below, left, in front, other: side, right, side.",
            "examples": [
              "eq.side"
            ]
          },
          {
            "name": "shark_behaviour",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string."
          },
          {
            "name": "victim_aware_of_shark",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: N, Y, n, y.",
            "examples": [
              "eq.y"
            ]
          },
          {
            "name": "shark_captured",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: N, Y, Y - released, n, y.",
            "examples": [
              "eq.y"
            ]
          },
          {
            "name": "injury_location",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.torso, thigh"
            ]
          },
          {
            "name": "injury_severity",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.uninjured"
            ]
          },
          {
            "name": "victim_gender",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: female, male.",
            "examples": [
              "eq.male"
            ]
          },
          {
            "name": "victim_age",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.teen"
            ]
          },
          {
            "name": "victim_clothing",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: 7 mm wetsuit, boardshorts, clothes, shark-proof suit, swimwear, wetsuit, wetsuit/drysuit.",
            "examples": [
              "eq.wetsuit/drysuit"
            ]
          },
          {
            "name": "clothing_coverage",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: full, full body, short arm-short legs, short only.",
            "examples": [
              "eq.short only"
            ]
          },
          {
            "name": "dominant_clothing_colour",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.red"
            ]
          },
          {
            "name": "other_clothing_colour",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: black, black, orange, blue, brown, green, grey, orange, purple, red, red, blue, red, yellow, white, white, orange, yellow.",
            "examples": [
              "eq.yellow"
            ]
          },
          {
            "name": "clothing_pattern",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: camoflage, camouflage, floral, stripe.",
            "examples": [
              "eq.stripe"
            ]
          },
          {
            "name": "fin_colour",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: black, blue, green, multicolour: black, red, red, white, yellow.",
            "examples": [
              "eq.yellow"
            ]
          },
          {
            "name": "diversionary_action_taken",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string."
          },
          {
            "name": "diversionary_action_outcome",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.shark then swam towards victim and turned to bite and bit foilboard"
            ]
          },
          {
            "name": "people_under_3m",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "integer. Values: 0, 1, 2, 3, 4, 5, 6, 7, 12.",
            "examples": [
              "eq.12"
            ]
          },
          {
            "name": "people_3_15m",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "integer. Values: 0, 1, 2, 3, 4, 5, 7, 8, 10, 12, 30, 40.",
            "examples": [
              "eq.40"
            ]
          },
          {
            "name": "time_of_incident",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.morning"
            ]
          },
          {
            "name": "depth_of_incident_m",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. As recorded, sometimes a range or a word rather than a figure.",
            "examples": [
              "eq.surface"
            ]
          },
          {
            "name": "teeth_recovered",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: N, Y, y.",
            "examples": [
              "eq.y"
            ]
          },
          {
            "name": "time_in_water_min",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. As recorded, sometimes a range or a word rather than a figure.",
            "examples": [
              "eq.>60"
            ]
          },
          {
            "name": "water_temperature_c",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. From 0.3 to 29.0.",
            "examples": [
              "eq.29.0"
            ]
          },
          {
            "name": "total_water_depth_m",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. As recorded, sometimes a range or a word rather than a figure.",
            "examples": [
              "eq.9"
            ]
          },
          {
            "name": "water_visability_m",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 15.0, 17.0, 20.0, 23.0, 25.0, 30.0, 50.0, 100.0.",
            "examples": [
              "eq.100.0"
            ]
          },
          {
            "name": "distance_to_shore_m",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. From 1.0 to 280000.0.",
            "examples": [
              "eq.280000.0"
            ]
          },
          {
            "name": "spring_or_neap_tide",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string."
          },
          {
            "name": "tidal_cycle",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: High, Incoming, Incoming low, Incoming mid, Low, Mid, Outgoing, high, low tide.",
            "examples": [
              "eq.low tide"
            ]
          },
          {
            "name": "wind_condition",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: 12 knot, NE, calm, moderate breeze, windy.",
            "examples": [
              "eq.windy"
            ]
          },
          {
            "name": "weather_condition",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: SUNNY, clear, cloud cover, overcast, partly cloudy, rainy, stormy, sunny.",
            "examples": [
              "eq.sunny"
            ]
          },
          {
            "name": "air_temperature_c",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 10.0, 15.0, 16.0, 18.0, 19.0, 20.0, 21.0, 21.1, 21.6, 22.0, 23.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0, 35.0.",
            "examples": [
              "eq.35.0"
            ]
          },
          {
            "name": "personal_protective_device",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: board, deterrent/repellent, knife, n, no, other: camera, other: prawn scoop, other: shovel, shark suit, speargun.",
            "examples": [
              "eq.speargun"
            ]
          },
          {
            "name": "deterrent_brand_and_type",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: Shark Pod, Shark Pod, on, Shark Shield, Shark Shield, off, Shark Shield, on.",
            "examples": [
              "eq.Shark Shield, on"
            ]
          },
          {
            "name": "data_source",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.witness account"
            ]
          },
          {
            "name": "reference",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string."
          },
          {
            "name": "sa2_2021_code",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Code of the Statistical Area Level 2 (2021) the point falls in. Joined by location from abs-sa2-2021, not published by the publisher."
          },
          {
            "name": "sa2_2021_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Name of the Statistical Area Level 2 (2021) the point falls in. Joined by location from abs-sa2-2021, not published by the publisher."
          },
          {
            "name": "lga_2025_code",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Code of the Local Government Area (2025) the point falls in. Joined by location from abs-lga-2025, not published by the publisher.",
            "examples": [
              "eq.99399"
            ]
          },
          {
            "name": "lga_2025_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Name of the Local Government Area (2025) the point falls in. Joined by location from abs-lga-2025, not published by the publisher.",
            "examples": [
              "eq.Yorke Peninsula"
            ]
          },
          {
            "name": "sal_2021_code",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Code of the Suburb and Locality (2021) the point falls in. Joined by location from abs-suburbs-localities-2021, not published by the publisher."
          },
          {
            "name": "sal_2021_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Name of the Suburb and Locality (2021) the point falls in. Joined by location from abs-suburbs-localities-2021, not published by the publisher."
          },
          {
            "name": "poa_2021_code",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Code of the Postal Area (2021) the point falls in. Joined by location from abs-postal-areas-2021, not published by the publisher.",
            "examples": [
              "eq.7215"
            ]
          },
          {
            "name": "poa_2021_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Name of the Postal Area (2021) the point falls in. Joined by location from abs-postal-areas-2021, not published by the publisher.",
            "examples": [
              "eq.7215"
            ]
          },
          {
            "name": "sed_2025_code",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Code of the State Electoral Division (2025) the point falls in. Joined by location from abs-state-electoral-divisions-2025, not published by the publisher.",
            "examples": [
              "eq.99191"
            ]
          },
          {
            "name": "sed_2025_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Name of the State Electoral Division (2025) the point falls in. Joined by location from abs-state-electoral-divisions-2025, not published by the publisher.",
            "examples": [
              "eq.Wyong"
            ]
          },
          {
            "name": "ced_2025_code",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Code of the Commonwealth Electoral Division (2025) the point falls in. Joined by location from abs-federal-electoral-divisions-2025, not published by the publisher.",
            "examples": [
              "eq.803"
            ]
          },
          {
            "name": "ced_2025_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Name of the Commonwealth Electoral Division (2025) the point falls in. Joined by location from abs-federal-electoral-divisions-2025, not published by the publisher.",
            "examples": [
              "eq.Wide Bay"
            ]
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "`field.asc` or `field.desc`, comma-separated. The publisher's row order when absent."
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 10000,
              "default": 100
            },
            "description": "Rows per page, 1 to 10,000. 100 when absent."
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            },
            "description": "Rows to skip. The `next` URL in each answer sets it for you."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "json",
                "ndjson",
                "csv"
              ],
              "default": "json"
            },
            "description": "`json`, `ndjson` or `csv`. JSON carries the provenance header, and the others carry it in response headers."
          }
        ],
        "responses": {
          "200": {
            "description": "Rows with the version, licence and attribution. `next` is the URL of the following page, or null."
          },
          "400": {
            "description": "The query names a field the dataset does not have, or a value of the wrong type."
          },
          "404": {
            "description": "The dataset or version is not loaded for queries."
          },
          "429": {
            "description": "More than 60 requests in 10 seconds from one address. Blocked for 10 seconds. Wait `Retry-After` seconds.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                },
                "description": "Seconds until the block lifts."
              },
              "RateLimit-Policy": {
                "schema": {
                  "type": "string"
                },
                "description": "The limit, as \"fair-use\";q=60;w=10."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer",
                      "const": 429
                    },
                    "limit": {
                      "type": "integer"
                    },
                    "window_seconds": {
                      "type": "integer"
                    },
                    "block_seconds": {
                      "type": "integer"
                    },
                    "docs": {
                      "type": "string",
                      "format": "uri"
                    },
                    "files": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/datasets/{slug}/versions/{version}/aggregate": {
      "get": {
        "tags": [
          "query"
        ],
        "summary": "Counts, sums, averages, minimums and maximums by group",
        "operationId": "aggregateVersion",
        "description": "Groups and totals of any dataset in one dated version. Filters work as they do on rows. Each filter is `field=operator.value` in the query string, and every filter must match. A number or date field compares as a number or date, and a text field compares as text. Values are case-sensitive except with `ilike`. Prefix `not.` to negate a filter, as `not.eq.value`. Operators: `eq.value`, `neq.value`, `gt.value`, `gte.value`, `lt.value`, `lte.value`, `like.*text*`, `ilike.*text*`, `in.(a,b,c)`, `is.null`.",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "au-shark-incidents"
              ]
            },
            "description": "The dataset's slug, as in its page URL `/d/<slug>/`."
          },
          {
            "name": "version",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "A dated version loaded for queries, from the versions path. Answers for a dated version never change."
          },
          {
            "name": "group",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "On `aggregate`, fields to group by, comma-separated."
          },
          {
            "name": "metric",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "count"
            },
            "description": "On `aggregate`, `count`, `sum.field`, `avg.field`, `min.field` or `max.field`, comma-separated. `count` when absent."
          },
          {
            "name": "uin",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string."
          },
          {
            "name": "incident_month",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "integer. Values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12.",
            "examples": [
              "eq.12"
            ]
          },
          {
            "name": "incident_year",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "integer. From 1791 to 2026."
          },
          {
            "name": "victim_injury",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: Injured, fatal, injured, injury, uninjured, unknown.",
            "examples": [
              "eq.unknown"
            ]
          },
          {
            "name": "state",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. As recorded; the file mixes Qld and QLD and other spellings, kept as published. Values: NSW, NT, QLD, Qld, SA, TAS, VIC, WA.",
            "examples": [
              "eq.WA"
            ]
          },
          {
            "name": "location",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string."
          },
          {
            "name": "latitude",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. From -43.6523 to -9.3809."
          },
          {
            "name": "longitude",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. From 96.8192 to 4034.0."
          },
          {
            "name": "site_category",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: Coastal, Ocean/pelagic, bay to open ocean, coastal, estuary/harbour, island, island open ocean, ocean/pelagic, open ocean, other: fish farm, river.",
            "examples": [
              "eq.river"
            ]
          },
          {
            "name": "site_category_comment",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: bay, bay to open ocean, beach, beach to open ocean, estuary, harbour, harbour beach, inlet from ocean, island, ocean beach, open ocean, other: reef, reef, river, surf beach, surf reef.",
            "examples": [
              "eq.surf reef"
            ]
          },
          {
            "name": "shark_common_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.wobbegong"
            ]
          },
          {
            "name": "shark_scientific_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.unknown"
            ]
          },
          {
            "name": "shark_identification_method",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.witnesses"
            ]
          },
          {
            "name": "shark_identification_source",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: DPIRD fisheries NSW, Fisheries NSW, SLS, fisheries WA, fisheries officer, footage, government official, other: doctor, other: report, researcher, researcher, footage, swab taken for DNA, victim, witness/victim.",
            "examples": [
              "eq.witness/victim"
            ]
          },
          {
            "name": "shark_length_m",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. As recorded, sometimes a range or a word rather than a figure.",
            "examples": [
              "eq.6"
            ]
          },
          {
            "name": "basis_for_length",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.witness/victim, other: comparison to boat"
            ]
          },
          {
            "name": "provoked_unprovoked",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: provoked, unprovoked.",
            "examples": [
              "eq.unprovoked"
            ]
          },
          {
            "name": "provocative_act",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: N/A, capture of shark, enticed shark, enticed shark, physical contact, fishing, jumped on shark by accident, phyical contact, physical contact, snorkelling, speared fish on weightbelt, spearfishing, stood on shark, surf ski, victim intentionally hurt shark, victim intentionally moved into immediate proximity of shark.",
            "examples": [
              "eq.victim intentionally moved into immediate proximity of shark"
            ]
          },
          {
            "name": "no_sharks",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "integer. Values: 1, 2, 3, 4, 10.",
            "examples": [
              "eq.10"
            ]
          },
          {
            "name": "victim_activity",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.wing foiler"
            ]
          },
          {
            "name": "fish_speared",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: no, yes.",
            "examples": [
              "eq.yes"
            ]
          },
          {
            "name": "commercial_dive_activity",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: Y, board, n.",
            "examples": [
              "eq.n"
            ]
          },
          {
            "name": "object_of_bite",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.windsurfer sail"
            ]
          },
          {
            "name": "present_at_time_of_bite",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.two surfers in the water"
            ]
          },
          {
            "name": "direction_first_strike",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: behind, behind, above, below, below, behind, front, in front, left, left, below, left, in front, other: side, right, side.",
            "examples": [
              "eq.side"
            ]
          },
          {
            "name": "shark_behaviour",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string."
          },
          {
            "name": "victim_aware_of_shark",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: N, Y, n, y.",
            "examples": [
              "eq.y"
            ]
          },
          {
            "name": "shark_captured",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: N, Y, Y - released, n, y.",
            "examples": [
              "eq.y"
            ]
          },
          {
            "name": "injury_location",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.torso, thigh"
            ]
          },
          {
            "name": "injury_severity",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.uninjured"
            ]
          },
          {
            "name": "victim_gender",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: female, male.",
            "examples": [
              "eq.male"
            ]
          },
          {
            "name": "victim_age",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.teen"
            ]
          },
          {
            "name": "victim_clothing",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: 7 mm wetsuit, boardshorts, clothes, shark-proof suit, swimwear, wetsuit, wetsuit/drysuit.",
            "examples": [
              "eq.wetsuit/drysuit"
            ]
          },
          {
            "name": "clothing_coverage",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: full, full body, short arm-short legs, short only.",
            "examples": [
              "eq.short only"
            ]
          },
          {
            "name": "dominant_clothing_colour",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.red"
            ]
          },
          {
            "name": "other_clothing_colour",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: black, black, orange, blue, brown, green, grey, orange, purple, red, red, blue, red, yellow, white, white, orange, yellow.",
            "examples": [
              "eq.yellow"
            ]
          },
          {
            "name": "clothing_pattern",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: camoflage, camouflage, floral, stripe.",
            "examples": [
              "eq.stripe"
            ]
          },
          {
            "name": "fin_colour",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: black, blue, green, multicolour: black, red, red, white, yellow.",
            "examples": [
              "eq.yellow"
            ]
          },
          {
            "name": "diversionary_action_taken",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string."
          },
          {
            "name": "diversionary_action_outcome",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.shark then swam towards victim and turned to bite and bit foilboard"
            ]
          },
          {
            "name": "people_under_3m",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "integer. Values: 0, 1, 2, 3, 4, 5, 6, 7, 12.",
            "examples": [
              "eq.12"
            ]
          },
          {
            "name": "people_3_15m",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "integer. Values: 0, 1, 2, 3, 4, 5, 7, 8, 10, 12, 30, 40.",
            "examples": [
              "eq.40"
            ]
          },
          {
            "name": "time_of_incident",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.morning"
            ]
          },
          {
            "name": "depth_of_incident_m",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. As recorded, sometimes a range or a word rather than a figure.",
            "examples": [
              "eq.surface"
            ]
          },
          {
            "name": "teeth_recovered",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: N, Y, y.",
            "examples": [
              "eq.y"
            ]
          },
          {
            "name": "time_in_water_min",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. As recorded, sometimes a range or a word rather than a figure.",
            "examples": [
              "eq.>60"
            ]
          },
          {
            "name": "water_temperature_c",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. From 0.3 to 29.0.",
            "examples": [
              "eq.29.0"
            ]
          },
          {
            "name": "total_water_depth_m",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. As recorded, sometimes a range or a word rather than a figure.",
            "examples": [
              "eq.9"
            ]
          },
          {
            "name": "water_visability_m",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 15.0, 17.0, 20.0, 23.0, 25.0, 30.0, 50.0, 100.0.",
            "examples": [
              "eq.100.0"
            ]
          },
          {
            "name": "distance_to_shore_m",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. From 1.0 to 280000.0.",
            "examples": [
              "eq.280000.0"
            ]
          },
          {
            "name": "spring_or_neap_tide",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string."
          },
          {
            "name": "tidal_cycle",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: High, Incoming, Incoming low, Incoming mid, Low, Mid, Outgoing, high, low tide.",
            "examples": [
              "eq.low tide"
            ]
          },
          {
            "name": "wind_condition",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: 12 knot, NE, calm, moderate breeze, windy.",
            "examples": [
              "eq.windy"
            ]
          },
          {
            "name": "weather_condition",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: SUNNY, clear, cloud cover, overcast, partly cloudy, rainy, stormy, sunny.",
            "examples": [
              "eq.sunny"
            ]
          },
          {
            "name": "air_temperature_c",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 10.0, 15.0, 16.0, 18.0, 19.0, 20.0, 21.0, 21.1, 21.6, 22.0, 23.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0, 35.0.",
            "examples": [
              "eq.35.0"
            ]
          },
          {
            "name": "personal_protective_device",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: board, deterrent/repellent, knife, n, no, other: camera, other: prawn scoop, other: shovel, shark suit, speargun.",
            "examples": [
              "eq.speargun"
            ]
          },
          {
            "name": "deterrent_brand_and_type",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: Shark Pod, Shark Pod, on, Shark Shield, Shark Shield, off, Shark Shield, on.",
            "examples": [
              "eq.Shark Shield, on"
            ]
          },
          {
            "name": "data_source",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.witness account"
            ]
          },
          {
            "name": "reference",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string."
          },
          {
            "name": "sa2_2021_code",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Code of the Statistical Area Level 2 (2021) the point falls in. Joined by location from abs-sa2-2021, not published by the publisher."
          },
          {
            "name": "sa2_2021_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Name of the Statistical Area Level 2 (2021) the point falls in. Joined by location from abs-sa2-2021, not published by the publisher."
          },
          {
            "name": "lga_2025_code",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Code of the Local Government Area (2025) the point falls in. Joined by location from abs-lga-2025, not published by the publisher.",
            "examples": [
              "eq.99399"
            ]
          },
          {
            "name": "lga_2025_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Name of the Local Government Area (2025) the point falls in. Joined by location from abs-lga-2025, not published by the publisher.",
            "examples": [
              "eq.Yorke Peninsula"
            ]
          },
          {
            "name": "sal_2021_code",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Code of the Suburb and Locality (2021) the point falls in. Joined by location from abs-suburbs-localities-2021, not published by the publisher."
          },
          {
            "name": "sal_2021_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Name of the Suburb and Locality (2021) the point falls in. Joined by location from abs-suburbs-localities-2021, not published by the publisher."
          },
          {
            "name": "poa_2021_code",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Code of the Postal Area (2021) the point falls in. Joined by location from abs-postal-areas-2021, not published by the publisher.",
            "examples": [
              "eq.7215"
            ]
          },
          {
            "name": "poa_2021_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Name of the Postal Area (2021) the point falls in. Joined by location from abs-postal-areas-2021, not published by the publisher.",
            "examples": [
              "eq.7215"
            ]
          },
          {
            "name": "sed_2025_code",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Code of the State Electoral Division (2025) the point falls in. Joined by location from abs-state-electoral-divisions-2025, not published by the publisher.",
            "examples": [
              "eq.99191"
            ]
          },
          {
            "name": "sed_2025_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Name of the State Electoral Division (2025) the point falls in. Joined by location from abs-state-electoral-divisions-2025, not published by the publisher.",
            "examples": [
              "eq.Wyong"
            ]
          },
          {
            "name": "ced_2025_code",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Code of the Commonwealth Electoral Division (2025) the point falls in. Joined by location from abs-federal-electoral-divisions-2025, not published by the publisher.",
            "examples": [
              "eq.803"
            ]
          },
          {
            "name": "ced_2025_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Name of the Commonwealth Electoral Division (2025) the point falls in. Joined by location from abs-federal-electoral-divisions-2025, not published by the publisher.",
            "examples": [
              "eq.Wide Bay"
            ]
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "`field.asc` or `field.desc`, comma-separated. The publisher's row order when absent."
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 10000,
              "default": 100
            },
            "description": "Rows per page, 1 to 10,000. 100 when absent."
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            },
            "description": "Rows to skip. The `next` URL in each answer sets it for you."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "json",
                "ndjson",
                "csv"
              ],
              "default": "json"
            },
            "description": "`json`, `ndjson` or `csv`. JSON carries the provenance header, and the others carry it in response headers."
          }
        ],
        "responses": {
          "200": {
            "description": "Rows with the version, licence and attribution. `next` is the URL of the following page, or null."
          },
          "400": {
            "description": "The query names a field the dataset does not have, or a value of the wrong type."
          },
          "404": {
            "description": "The dataset or version is not loaded for queries."
          },
          "429": {
            "description": "More than 60 requests in 10 seconds from one address. Blocked for 10 seconds. Wait `Retry-After` seconds.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                },
                "description": "Seconds until the block lifts."
              },
              "RateLimit-Policy": {
                "schema": {
                  "type": "string"
                },
                "description": "The limit, as \"fair-use\";q=60;w=10."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer",
                      "const": 429
                    },
                    "limit": {
                      "type": "integer"
                    },
                    "window_seconds": {
                      "type": "integer"
                    },
                    "block_seconds": {
                      "type": "integer"
                    },
                    "docs": {
                      "type": "string",
                      "format": "uri"
                    },
                    "files": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/datasets/{slug}/versions": {
      "get": {
        "tags": [
          "query"
        ],
        "summary": "The versions loaded for queries, newest first, with the URLs to query each",
        "operationId": "queryVersions",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "au-shark-incidents"
              ]
            },
            "description": "The dataset's slug, as in its page URL `/d/<slug>/`."
          }
        ],
        "responses": {
          "200": {
            "description": "Loaded versions with row counts and URLs."
          },
          "404": {
            "description": "The dataset or version is not loaded for queries."
          },
          "429": {
            "description": "More than 60 requests in 10 seconds from one address. Blocked for 10 seconds. Wait `Retry-After` seconds.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                },
                "description": "Seconds until the block lifts."
              },
              "RateLimit-Policy": {
                "schema": {
                  "type": "string"
                },
                "description": "The limit, as \"fair-use\";q=60;w=10."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer",
                      "const": 429
                    },
                    "limit": {
                      "type": "integer"
                    },
                    "window_seconds": {
                      "type": "integer"
                    },
                    "block_seconds": {
                      "type": "integer"
                    },
                    "docs": {
                      "type": "string",
                      "format": "uri"
                    },
                    "files": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
