{
  "openapi": "3.1.0",
  "info": {
    "title": "New households housed in public housing by council area, South Australia query API",
    "version": "2022-06-06",
    "summary": "Filter, page and aggregate New households housed in public housing by council area, South Australia from South Australian Housing Trust.",
    "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. South Australian Housing Trust 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/sa-public-housing-new-households/#query"
  },
  "tags": [
    {
      "name": "query"
    }
  ],
  "paths": {
    "/api/v1/datasets/sa-public-housing-new-households/rows": {
      "get": {
        "tags": [
          "query"
        ],
        "summary": "Query New households housed in public housing by council area, South Australia",
        "operationId": "queryRows_sa_public_housing_new_households",
        "description": "Rows of New households housed in public housing by council area, South Australia 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": "lga",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.Yorke Peninsula Council"
            ]
          },
          {
            "name": "new_households_housed",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 1.0, 5.0, 10.0, 15.0, 20.0, 25.0, 35.0, 40.0, 50.0, 55.0, 80.0, 105.0, 110.0, 120.0, 135.0, 140.0, 150.0, 200.0, 1626.0.",
            "examples": [
              "eq.1626.0"
            ]
          },
          {
            "name": "number_of_household_members",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. From 0.0 to 2802.0.",
            "examples": [
              "eq.2802.0"
            ]
          },
          {
            "name": "households_in_greatest_need",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.8886838868388683, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 50.0, 70.0, 80.0, 90.0, 110.0, 115.0, 135.0, 185.0, 1445.0.",
            "examples": [
              "eq.1445.0"
            ]
          },
          {
            "name": "aboriginal_households",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.2693726937269373, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 45.0, 55.0, 438.0.",
            "examples": [
              "eq.438.0"
            ]
          },
          {
            "name": "households_with_person_with_disability",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.518450184501845, 5.0, 10.0, 15.0, 20.0, 25.0, 35.0, 50.0, 60.0, 65.0, 70.0, 75.0, 85.0, 95.0, 843.0.",
            "examples": [
              "eq.843.0"
            ]
          },
          {
            "name": "paying_less_than_market_rent",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.8739237392373924, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 45.0, 50.0, 65.0, 90.0, 100.0, 105.0, 120.0, 125.0, 130.0, 185.0, 1421.0.",
            "examples": [
              "eq.1421.0"
            ]
          },
          {
            "name": "greatest_need_households_and_time_waited_was_under_6_months",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.7370242214532872, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 50.0, 60.0, 75.0, 100.0, 115.0, 140.0, 1065.0.",
            "examples": [
              "eq.1065.0"
            ]
          },
          {
            "name": "single_person",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.6549815498154982, 5.0, 10.0, 15.0, 20.0, 25.0, 35.0, 40.0, 50.0, 55.0, 65.0, 80.0, 85.0, 90.0, 150.0, 1065.0.",
            "examples": [
              "eq.1065.0"
            ]
          },
          {
            "name": "single_parent_with_dependent_children",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.2158671586715867, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 45.0, 351.0.",
            "examples": [
              "eq.351.0"
            ]
          },
          {
            "name": "couple_only",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.038130381303813035, 5.0, 10.0, 62.0.",
            "examples": [
              "eq.62.0"
            ]
          },
          {
            "name": "couple_with_dependent_children",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.032595325953259535, 5.0, 53.0.",
            "examples": [
              "eq.53.0"
            ]
          },
          {
            "name": "group_or_mixed_composition",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.05842558425584256, 5.0, 10.0, 95.0.",
            "examples": [
              "eq.95.0"
            ]
          },
          {
            "name": "has_child_under_15_years",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.25153751537515373, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 55.0, 409.0.",
            "examples": [
              "eq.409.0"
            ]
          },
          {
            "name": "has_child_under_5_years",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.13222632226322265, 5.0, 10.0, 15.0, 25.0, 30.0, 215.0.",
            "examples": [
              "eq.215.0"
            ]
          },
          {
            "name": "has_adult_65_years_or_more",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.1045510455104551, 5.0, 10.0, 15.0, 20.0, 170.0.",
            "examples": [
              "eq.170.0"
            ]
          },
          {
            "name": "younger_person_main_tenant_under_25_years",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.1008610086100861, 5.0, 10.0, 15.0, 20.0, 164.0.",
            "examples": [
              "eq.164.0"
            ]
          },
          {
            "name": "aged_pension",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.07195571955719557, 5.0, 10.0, 15.0, 117.0.",
            "examples": [
              "eq.117.0"
            ]
          },
          {
            "name": "disability_support_pension",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.2564575645756458, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 55.0, 417.0.",
            "examples": [
              "eq.417.0"
            ]
          },
          {
            "name": "job_seeker",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.3075030750307503, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 50.0, 70.0, 500.0.",
            "examples": [
              "eq.500.0"
            ]
          },
          {
            "name": "other_government_payment",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.23677736777367775, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 45.0, 50.0, 385.0.",
            "examples": [
              "eq.385.0"
            ]
          },
          {
            "name": "employee_cash_income",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.03013530135301353, 5.0, 10.0, 49.0.",
            "examples": [
              "eq.49.0"
            ]
          },
          {
            "name": "other_cash_income",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.004305043050430504, 7.0.",
            "examples": [
              "eq.7.0"
            ]
          },
          {
            "name": "income_not_stated",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.0928659286592866, 5.0, 10.0, 15.0, 20.0, 151.0.",
            "examples": [
              "eq.151.0"
            ]
          },
          {
            "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/sa-public-housing-new-households/versions/{version}/rows": {
      "get": {
        "tags": [
          "query"
        ],
        "summary": "Query New households housed in public housing by council area, South Australia",
        "operationId": "queryRows_sa_public_housing_new_households_version",
        "description": "Rows of New households housed in public housing by council area, South Australia 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": "lga",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.Yorke Peninsula Council"
            ]
          },
          {
            "name": "new_households_housed",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 1.0, 5.0, 10.0, 15.0, 20.0, 25.0, 35.0, 40.0, 50.0, 55.0, 80.0, 105.0, 110.0, 120.0, 135.0, 140.0, 150.0, 200.0, 1626.0.",
            "examples": [
              "eq.1626.0"
            ]
          },
          {
            "name": "number_of_household_members",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. From 0.0 to 2802.0.",
            "examples": [
              "eq.2802.0"
            ]
          },
          {
            "name": "households_in_greatest_need",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.8886838868388683, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 50.0, 70.0, 80.0, 90.0, 110.0, 115.0, 135.0, 185.0, 1445.0.",
            "examples": [
              "eq.1445.0"
            ]
          },
          {
            "name": "aboriginal_households",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.2693726937269373, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 45.0, 55.0, 438.0.",
            "examples": [
              "eq.438.0"
            ]
          },
          {
            "name": "households_with_person_with_disability",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.518450184501845, 5.0, 10.0, 15.0, 20.0, 25.0, 35.0, 50.0, 60.0, 65.0, 70.0, 75.0, 85.0, 95.0, 843.0.",
            "examples": [
              "eq.843.0"
            ]
          },
          {
            "name": "paying_less_than_market_rent",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.8739237392373924, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 45.0, 50.0, 65.0, 90.0, 100.0, 105.0, 120.0, 125.0, 130.0, 185.0, 1421.0.",
            "examples": [
              "eq.1421.0"
            ]
          },
          {
            "name": "greatest_need_households_and_time_waited_was_under_6_months",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.7370242214532872, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 50.0, 60.0, 75.0, 100.0, 115.0, 140.0, 1065.0.",
            "examples": [
              "eq.1065.0"
            ]
          },
          {
            "name": "single_person",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.6549815498154982, 5.0, 10.0, 15.0, 20.0, 25.0, 35.0, 40.0, 50.0, 55.0, 65.0, 80.0, 85.0, 90.0, 150.0, 1065.0.",
            "examples": [
              "eq.1065.0"
            ]
          },
          {
            "name": "single_parent_with_dependent_children",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.2158671586715867, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 45.0, 351.0.",
            "examples": [
              "eq.351.0"
            ]
          },
          {
            "name": "couple_only",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.038130381303813035, 5.0, 10.0, 62.0.",
            "examples": [
              "eq.62.0"
            ]
          },
          {
            "name": "couple_with_dependent_children",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.032595325953259535, 5.0, 53.0.",
            "examples": [
              "eq.53.0"
            ]
          },
          {
            "name": "group_or_mixed_composition",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.05842558425584256, 5.0, 10.0, 95.0.",
            "examples": [
              "eq.95.0"
            ]
          },
          {
            "name": "has_child_under_15_years",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.25153751537515373, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 55.0, 409.0.",
            "examples": [
              "eq.409.0"
            ]
          },
          {
            "name": "has_child_under_5_years",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.13222632226322265, 5.0, 10.0, 15.0, 25.0, 30.0, 215.0.",
            "examples": [
              "eq.215.0"
            ]
          },
          {
            "name": "has_adult_65_years_or_more",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.1045510455104551, 5.0, 10.0, 15.0, 20.0, 170.0.",
            "examples": [
              "eq.170.0"
            ]
          },
          {
            "name": "younger_person_main_tenant_under_25_years",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.1008610086100861, 5.0, 10.0, 15.0, 20.0, 164.0.",
            "examples": [
              "eq.164.0"
            ]
          },
          {
            "name": "aged_pension",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.07195571955719557, 5.0, 10.0, 15.0, 117.0.",
            "examples": [
              "eq.117.0"
            ]
          },
          {
            "name": "disability_support_pension",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.2564575645756458, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 55.0, 417.0.",
            "examples": [
              "eq.417.0"
            ]
          },
          {
            "name": "job_seeker",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.3075030750307503, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 50.0, 70.0, 500.0.",
            "examples": [
              "eq.500.0"
            ]
          },
          {
            "name": "other_government_payment",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.23677736777367775, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 45.0, 50.0, 385.0.",
            "examples": [
              "eq.385.0"
            ]
          },
          {
            "name": "employee_cash_income",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.03013530135301353, 5.0, 10.0, 49.0.",
            "examples": [
              "eq.49.0"
            ]
          },
          {
            "name": "other_cash_income",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.004305043050430504, 7.0.",
            "examples": [
              "eq.7.0"
            ]
          },
          {
            "name": "income_not_stated",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.0928659286592866, 5.0, 10.0, 15.0, 20.0, 151.0.",
            "examples": [
              "eq.151.0"
            ]
          },
          {
            "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": [
                "sa-public-housing-new-households"
              ]
            },
            "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": "lga",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.Yorke Peninsula Council"
            ]
          },
          {
            "name": "new_households_housed",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 1.0, 5.0, 10.0, 15.0, 20.0, 25.0, 35.0, 40.0, 50.0, 55.0, 80.0, 105.0, 110.0, 120.0, 135.0, 140.0, 150.0, 200.0, 1626.0.",
            "examples": [
              "eq.1626.0"
            ]
          },
          {
            "name": "number_of_household_members",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. From 0.0 to 2802.0.",
            "examples": [
              "eq.2802.0"
            ]
          },
          {
            "name": "households_in_greatest_need",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.8886838868388683, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 50.0, 70.0, 80.0, 90.0, 110.0, 115.0, 135.0, 185.0, 1445.0.",
            "examples": [
              "eq.1445.0"
            ]
          },
          {
            "name": "aboriginal_households",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.2693726937269373, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 45.0, 55.0, 438.0.",
            "examples": [
              "eq.438.0"
            ]
          },
          {
            "name": "households_with_person_with_disability",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.518450184501845, 5.0, 10.0, 15.0, 20.0, 25.0, 35.0, 50.0, 60.0, 65.0, 70.0, 75.0, 85.0, 95.0, 843.0.",
            "examples": [
              "eq.843.0"
            ]
          },
          {
            "name": "paying_less_than_market_rent",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.8739237392373924, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 45.0, 50.0, 65.0, 90.0, 100.0, 105.0, 120.0, 125.0, 130.0, 185.0, 1421.0.",
            "examples": [
              "eq.1421.0"
            ]
          },
          {
            "name": "greatest_need_households_and_time_waited_was_under_6_months",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.7370242214532872, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 50.0, 60.0, 75.0, 100.0, 115.0, 140.0, 1065.0.",
            "examples": [
              "eq.1065.0"
            ]
          },
          {
            "name": "single_person",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.6549815498154982, 5.0, 10.0, 15.0, 20.0, 25.0, 35.0, 40.0, 50.0, 55.0, 65.0, 80.0, 85.0, 90.0, 150.0, 1065.0.",
            "examples": [
              "eq.1065.0"
            ]
          },
          {
            "name": "single_parent_with_dependent_children",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.2158671586715867, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 45.0, 351.0.",
            "examples": [
              "eq.351.0"
            ]
          },
          {
            "name": "couple_only",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.038130381303813035, 5.0, 10.0, 62.0.",
            "examples": [
              "eq.62.0"
            ]
          },
          {
            "name": "couple_with_dependent_children",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.032595325953259535, 5.0, 53.0.",
            "examples": [
              "eq.53.0"
            ]
          },
          {
            "name": "group_or_mixed_composition",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.05842558425584256, 5.0, 10.0, 95.0.",
            "examples": [
              "eq.95.0"
            ]
          },
          {
            "name": "has_child_under_15_years",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.25153751537515373, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 55.0, 409.0.",
            "examples": [
              "eq.409.0"
            ]
          },
          {
            "name": "has_child_under_5_years",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.13222632226322265, 5.0, 10.0, 15.0, 25.0, 30.0, 215.0.",
            "examples": [
              "eq.215.0"
            ]
          },
          {
            "name": "has_adult_65_years_or_more",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.1045510455104551, 5.0, 10.0, 15.0, 20.0, 170.0.",
            "examples": [
              "eq.170.0"
            ]
          },
          {
            "name": "younger_person_main_tenant_under_25_years",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.1008610086100861, 5.0, 10.0, 15.0, 20.0, 164.0.",
            "examples": [
              "eq.164.0"
            ]
          },
          {
            "name": "aged_pension",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.07195571955719557, 5.0, 10.0, 15.0, 117.0.",
            "examples": [
              "eq.117.0"
            ]
          },
          {
            "name": "disability_support_pension",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.2564575645756458, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 55.0, 417.0.",
            "examples": [
              "eq.417.0"
            ]
          },
          {
            "name": "job_seeker",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.3075030750307503, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 50.0, 70.0, 500.0.",
            "examples": [
              "eq.500.0"
            ]
          },
          {
            "name": "other_government_payment",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.23677736777367775, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 45.0, 50.0, 385.0.",
            "examples": [
              "eq.385.0"
            ]
          },
          {
            "name": "employee_cash_income",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.03013530135301353, 5.0, 10.0, 49.0.",
            "examples": [
              "eq.49.0"
            ]
          },
          {
            "name": "other_cash_income",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.004305043050430504, 7.0.",
            "examples": [
              "eq.7.0"
            ]
          },
          {
            "name": "income_not_stated",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.0928659286592866, 5.0, 10.0, 15.0, 20.0, 151.0.",
            "examples": [
              "eq.151.0"
            ]
          },
          {
            "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": [
                "sa-public-housing-new-households"
              ]
            },
            "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": "lga",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string.",
            "examples": [
              "eq.Yorke Peninsula Council"
            ]
          },
          {
            "name": "new_households_housed",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 1.0, 5.0, 10.0, 15.0, 20.0, 25.0, 35.0, 40.0, 50.0, 55.0, 80.0, 105.0, 110.0, 120.0, 135.0, 140.0, 150.0, 200.0, 1626.0.",
            "examples": [
              "eq.1626.0"
            ]
          },
          {
            "name": "number_of_household_members",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. From 0.0 to 2802.0.",
            "examples": [
              "eq.2802.0"
            ]
          },
          {
            "name": "households_in_greatest_need",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.8886838868388683, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 50.0, 70.0, 80.0, 90.0, 110.0, 115.0, 135.0, 185.0, 1445.0.",
            "examples": [
              "eq.1445.0"
            ]
          },
          {
            "name": "aboriginal_households",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.2693726937269373, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 45.0, 55.0, 438.0.",
            "examples": [
              "eq.438.0"
            ]
          },
          {
            "name": "households_with_person_with_disability",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.518450184501845, 5.0, 10.0, 15.0, 20.0, 25.0, 35.0, 50.0, 60.0, 65.0, 70.0, 75.0, 85.0, 95.0, 843.0.",
            "examples": [
              "eq.843.0"
            ]
          },
          {
            "name": "paying_less_than_market_rent",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.8739237392373924, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 45.0, 50.0, 65.0, 90.0, 100.0, 105.0, 120.0, 125.0, 130.0, 185.0, 1421.0.",
            "examples": [
              "eq.1421.0"
            ]
          },
          {
            "name": "greatest_need_households_and_time_waited_was_under_6_months",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.7370242214532872, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 50.0, 60.0, 75.0, 100.0, 115.0, 140.0, 1065.0.",
            "examples": [
              "eq.1065.0"
            ]
          },
          {
            "name": "single_person",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.6549815498154982, 5.0, 10.0, 15.0, 20.0, 25.0, 35.0, 40.0, 50.0, 55.0, 65.0, 80.0, 85.0, 90.0, 150.0, 1065.0.",
            "examples": [
              "eq.1065.0"
            ]
          },
          {
            "name": "single_parent_with_dependent_children",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.2158671586715867, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 45.0, 351.0.",
            "examples": [
              "eq.351.0"
            ]
          },
          {
            "name": "couple_only",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.038130381303813035, 5.0, 10.0, 62.0.",
            "examples": [
              "eq.62.0"
            ]
          },
          {
            "name": "couple_with_dependent_children",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.032595325953259535, 5.0, 53.0.",
            "examples": [
              "eq.53.0"
            ]
          },
          {
            "name": "group_or_mixed_composition",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.05842558425584256, 5.0, 10.0, 95.0.",
            "examples": [
              "eq.95.0"
            ]
          },
          {
            "name": "has_child_under_15_years",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.25153751537515373, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 55.0, 409.0.",
            "examples": [
              "eq.409.0"
            ]
          },
          {
            "name": "has_child_under_5_years",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.13222632226322265, 5.0, 10.0, 15.0, 25.0, 30.0, 215.0.",
            "examples": [
              "eq.215.0"
            ]
          },
          {
            "name": "has_adult_65_years_or_more",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.1045510455104551, 5.0, 10.0, 15.0, 20.0, 170.0.",
            "examples": [
              "eq.170.0"
            ]
          },
          {
            "name": "younger_person_main_tenant_under_25_years",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.1008610086100861, 5.0, 10.0, 15.0, 20.0, 164.0.",
            "examples": [
              "eq.164.0"
            ]
          },
          {
            "name": "aged_pension",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.07195571955719557, 5.0, 10.0, 15.0, 117.0.",
            "examples": [
              "eq.117.0"
            ]
          },
          {
            "name": "disability_support_pension",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.2564575645756458, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 55.0, 417.0.",
            "examples": [
              "eq.417.0"
            ]
          },
          {
            "name": "job_seeker",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.3075030750307503, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 50.0, 70.0, 500.0.",
            "examples": [
              "eq.500.0"
            ]
          },
          {
            "name": "other_government_payment",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.23677736777367775, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 45.0, 50.0, 385.0.",
            "examples": [
              "eq.385.0"
            ]
          },
          {
            "name": "employee_cash_income",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.03013530135301353, 5.0, 10.0, 49.0.",
            "examples": [
              "eq.49.0"
            ]
          },
          {
            "name": "other_cash_income",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.004305043050430504, 7.0.",
            "examples": [
              "eq.7.0"
            ]
          },
          {
            "name": "income_not_stated",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "number. Values: 0.0, 0.0928659286592866, 5.0, 10.0, 15.0, 20.0, 151.0.",
            "examples": [
              "eq.151.0"
            ]
          },
          {
            "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": [
                "sa-public-housing-new-households"
              ]
            },
            "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"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
