{
  "openapi": "3.1.0",
  "info": {
    "title": "Prison locations and capacity, Victoria, 2009 query API",
    "version": "2013-05-12",
    "summary": "Filter, page and aggregate Prison locations and capacity, Victoria, 2009 from Department of Justice (Victoria).",
    "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. Department of Justice (Victoria) has not endorsed this site. The whole site is described in https://publicdata.au/openapi.json.",
    "license": {
      "name": "CC BY 3.0 AU",
      "url": "https://creativecommons.org/licenses/by/3.0/au/"
    }
  },
  "servers": [
    {
      "url": "https://publicdata.au"
    }
  ],
  "externalDocs": {
    "url": "https://publicdata.au/d/vic-prison-locations/#query"
  },
  "tags": [
    {
      "name": "query"
    }
  ],
  "paths": {
    "/api/v1/datasets/vic-prison-locations/rows": {
      "get": {
        "tags": [
          "query"
        ],
        "summary": "Query Prison locations and capacity, Victoria, 2009",
        "operationId": "queryRows_vic_prison_locations",
        "description": "Rows of Prison locations and capacity, Victoria, 2009 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": "prison_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: *Operational capacity as at 30 June 2009, Ararat Prison, Barwon Prison, Beechworth Correctional Centre, Dame Phyllis Frost Centre, Dhurringile Prison, Fulham Correctional Centre, Judy Lazarus Transition Centre, Langi Kal Kal Prison, Loddon Prison, Marngoneet Correctional Centre, Melbourne Assessment Prison, Metropolitan Remand Centre, Port Phillip Prison, Tarrengower Prison.",
            "examples": [
              "eq.Tarrengower Prison"
            ]
          },
          {
            "name": "address",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: 1140 Bacchus Marsh Road, 1170 Bacchus Marsh Road, 317 Spencer Street, 494 Flat Rock Road, 50 Adderley Street,, Corner Baringhup and Nuggety Roads, Corner Doherty and Palmers Roads, Hopkins Road, Matheson Street, Middle Road, Murchison Road,, Riding-Boundary Road, Warrack Road, Western Highway.",
            "examples": [
              "eq.Western Highway"
            ]
          },
          {
            "name": "town",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: Ararat, Beechworth, Castlemaine, Deer Park, Lara, Maldon, Murchison, Ravenhall, Trawalla, Truganina, West Melbourne, West Sale.",
            "examples": [
              "eq.West Sale"
            ]
          },
          {
            "name": "phone",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: (+ 61 3) 5824 8800, (+61 3) 5142 3800, (+61 3) 5220 8222, (+61 3) 5282 0600, (+61 3) 5349 4900, (+61 3) 5352 0500, (+61 3) 5471 1211, (+61 3) 5479 8200, (+61 3) 5728 0055, (+61 3) 9217 7200, (+61 3) 9217 7777, (+61 3) 9217 8400, (+61 3) 9320 7888, (+61 3) 9321 4111.",
            "examples": [
              "eq.(+61 3) 9321 4111"
            ]
          },
          {
            "name": "operational_capacity",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "integer. The number of prisoners the facility could hold as at 30 June 2009. Values: 25, 54, 120, 122, 160, 260, 286, 306, 367, 382, 390, 663, 745, 845.",
            "examples": [
              "eq.845"
            ]
          },
          {
            "name": "security",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: Maximum, Medium, Medium/Minimum, Minimum.",
            "examples": [
              "eq.Minimum"
            ]
          },
          {
            "name": "map_ref",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. A street directory map reference. Values: 56, H6 or 227, N7, Map 2E, J2, Map 46, E2, Map 59, E3 or Map 287, U9, Pg.421, K1.",
            "examples": [
              "eq.Pg.421, K1"
            ]
          },
          {
            "name": "profile",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: Beechworth Correctional Centre focuses on reparation and pre-release activities - helping prisoners reintegrate into the community when they are released. The prison design complements its rural setting and its environment reflects life in the general community as much as possible, offering prisoners similar structures, choices and responsibilities to those they will encounter in the outside world., Fulham Correctional Centre accommodates predominantly mainstream prisoners and includes a drug and alcohol treatment unit and a protection unit. The prison is operated by a private operator The GEO Group Australia Pty Ltd (previously Australasian Correctional Management), HM Ararat Prison is located 200 km west of Melbourne. It provides accommodation for prisoners with low to medium security protection requirements, including a high proportion of sex offenders (50 per cent) and protection or special needs prisoners (50 per cent)., HM Barwon Prison provides accommodation and services for mainstream, maximum security prisoners. The prison includes the high security Acacia Unit, the protection units Banksia and Hoya, and mainstream units, Cassia, Diosma and Eucalypt., HM Dhurringile Prison is a pre-release prison where prisoners undertake both on-site employment and meaningful community reparation via community assistance programs., HM Loddon Prison is a mainstream prison focusing on release preparation and drug rehabilitation. It also offers placement and support for HIV positive prisoners and release preparation for intellectually disabled prisoners., HM Melbourne Assessment Prison (MAP) facility provides statewide assessment and orientation services for all male prisoners received into the prison system., HM Prison Langi Kal Kal houses minimum security prisoners with low-to-medium protection requirements. It is a large working farm and is a minimum security pathway for protection prisoners from Ararat Prison., HM Prison Tarrengower is a minimum security women's prison with an emphasis on release preparation and community integration., Metropolitan Remand Centre is Victoria's major remand facility. It is a 600-bed, purpose built, maximum security facility for un-sentenced male prisoners. The facility makes it possible to separate sentenced and un-sentenced prisoners, so far as practicable. This aligns with the United Nations and international standards for the treatment of prisoners who have not yet been found guilty by the courts., The Centre provides a supervised pathway back into society for selected prisoners nearing the end of their sentence. It is named after Judy Lazarus, a prominent advocate of prisoner resettlement and former CEO of the Victorian Association for the Care and Resettlement of Offenders., The Dame Phyllis Frost Centre (DPFC) provides maximum security, medium security and specialist accommodation for remanded and sentenced women prisoners., The Marngoneet Correctional Centre is a 300 bed, medium security facility, providing intensive treatment and offender management programs for males who are at moderate to high risk of reoffending, and who have a minimum of six months of their sentence left to serve when they arrive there., The facility provides remand, sentenced, mainstream, protection and specialist accommodation for high, maximum and medium security prisoners. It is run by a private operator G4S Australia Pty Ltd..",
            "examples": [
              "eq.The facility provides remand, sentenced, mainstream, protection and specialist accommodation for high, maximum and medium security prisoners. It is run by a private operator G4S Australia Pty Ltd."
            ]
          },
          {
            "name": "link",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: http://www.justice.vic.gov.au/wps/wcm/connect/justlib/doj+internet/home/prisons/visiting+prisons/getting+to+prisons/justice+-+getting+to+prisons+-+ararat+prison, http://www.justice.vic.gov.au/wps/wcm/connect/justlib/doj+internet/home/prisons/visiting+prisons/getting+to+prisons/justice+-+getting+to+prisons+-+barwon+prison, http://www.justice.vic.gov.au/wps/wcm/connect/justlib/doj+internet/home/prisons/visiting+prisons/getting+to+prisons/justice+-+getting+to+prisons+-+dhurringile+prison, http://www.justice.vic.gov.au/wps/wcm/connect/justlib/doj+internet/home/prisons/visiting+prisons/getting+to+prisons/justice+-+getting+to+prisons+-+judy+lazarus+transition+centre, http://www.justice.vic.gov.au/wps/wcm/connect/justlib/doj+internet/home/prisons/visiting+prisons/getting+to+prisons/justice+-+getting+to+prisons+-+loddon+prison.",
            "examples": [
              "eq.http://www.justice.vic.gov.au/wps/wcm/connect/justlib/doj+internet/home/prisons/visiting+prisons/getting+to+prisons/justice+-+getting+to+prisons+-+loddon+prison"
            ]
          },
          {
            "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/vic-prison-locations/versions/{version}/rows": {
      "get": {
        "tags": [
          "query"
        ],
        "summary": "Query Prison locations and capacity, Victoria, 2009",
        "operationId": "queryRows_vic_prison_locations_version",
        "description": "Rows of Prison locations and capacity, Victoria, 2009 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": "prison_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: *Operational capacity as at 30 June 2009, Ararat Prison, Barwon Prison, Beechworth Correctional Centre, Dame Phyllis Frost Centre, Dhurringile Prison, Fulham Correctional Centre, Judy Lazarus Transition Centre, Langi Kal Kal Prison, Loddon Prison, Marngoneet Correctional Centre, Melbourne Assessment Prison, Metropolitan Remand Centre, Port Phillip Prison, Tarrengower Prison.",
            "examples": [
              "eq.Tarrengower Prison"
            ]
          },
          {
            "name": "address",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: 1140 Bacchus Marsh Road, 1170 Bacchus Marsh Road, 317 Spencer Street, 494 Flat Rock Road, 50 Adderley Street,, Corner Baringhup and Nuggety Roads, Corner Doherty and Palmers Roads, Hopkins Road, Matheson Street, Middle Road, Murchison Road,, Riding-Boundary Road, Warrack Road, Western Highway.",
            "examples": [
              "eq.Western Highway"
            ]
          },
          {
            "name": "town",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: Ararat, Beechworth, Castlemaine, Deer Park, Lara, Maldon, Murchison, Ravenhall, Trawalla, Truganina, West Melbourne, West Sale.",
            "examples": [
              "eq.West Sale"
            ]
          },
          {
            "name": "phone",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: (+ 61 3) 5824 8800, (+61 3) 5142 3800, (+61 3) 5220 8222, (+61 3) 5282 0600, (+61 3) 5349 4900, (+61 3) 5352 0500, (+61 3) 5471 1211, (+61 3) 5479 8200, (+61 3) 5728 0055, (+61 3) 9217 7200, (+61 3) 9217 7777, (+61 3) 9217 8400, (+61 3) 9320 7888, (+61 3) 9321 4111.",
            "examples": [
              "eq.(+61 3) 9321 4111"
            ]
          },
          {
            "name": "operational_capacity",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "integer. The number of prisoners the facility could hold as at 30 June 2009. Values: 25, 54, 120, 122, 160, 260, 286, 306, 367, 382, 390, 663, 745, 845.",
            "examples": [
              "eq.845"
            ]
          },
          {
            "name": "security",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: Maximum, Medium, Medium/Minimum, Minimum.",
            "examples": [
              "eq.Minimum"
            ]
          },
          {
            "name": "map_ref",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. A street directory map reference. Values: 56, H6 or 227, N7, Map 2E, J2, Map 46, E2, Map 59, E3 or Map 287, U9, Pg.421, K1.",
            "examples": [
              "eq.Pg.421, K1"
            ]
          },
          {
            "name": "profile",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: Beechworth Correctional Centre focuses on reparation and pre-release activities - helping prisoners reintegrate into the community when they are released. The prison design complements its rural setting and its environment reflects life in the general community as much as possible, offering prisoners similar structures, choices and responsibilities to those they will encounter in the outside world., Fulham Correctional Centre accommodates predominantly mainstream prisoners and includes a drug and alcohol treatment unit and a protection unit. The prison is operated by a private operator The GEO Group Australia Pty Ltd (previously Australasian Correctional Management), HM Ararat Prison is located 200 km west of Melbourne. It provides accommodation for prisoners with low to medium security protection requirements, including a high proportion of sex offenders (50 per cent) and protection or special needs prisoners (50 per cent)., HM Barwon Prison provides accommodation and services for mainstream, maximum security prisoners. The prison includes the high security Acacia Unit, the protection units Banksia and Hoya, and mainstream units, Cassia, Diosma and Eucalypt., HM Dhurringile Prison is a pre-release prison where prisoners undertake both on-site employment and meaningful community reparation via community assistance programs., HM Loddon Prison is a mainstream prison focusing on release preparation and drug rehabilitation. It also offers placement and support for HIV positive prisoners and release preparation for intellectually disabled prisoners., HM Melbourne Assessment Prison (MAP) facility provides statewide assessment and orientation services for all male prisoners received into the prison system., HM Prison Langi Kal Kal houses minimum security prisoners with low-to-medium protection requirements. It is a large working farm and is a minimum security pathway for protection prisoners from Ararat Prison., HM Prison Tarrengower is a minimum security women's prison with an emphasis on release preparation and community integration., Metropolitan Remand Centre is Victoria's major remand facility. It is a 600-bed, purpose built, maximum security facility for un-sentenced male prisoners. The facility makes it possible to separate sentenced and un-sentenced prisoners, so far as practicable. This aligns with the United Nations and international standards for the treatment of prisoners who have not yet been found guilty by the courts., The Centre provides a supervised pathway back into society for selected prisoners nearing the end of their sentence. It is named after Judy Lazarus, a prominent advocate of prisoner resettlement and former CEO of the Victorian Association for the Care and Resettlement of Offenders., The Dame Phyllis Frost Centre (DPFC) provides maximum security, medium security and specialist accommodation for remanded and sentenced women prisoners., The Marngoneet Correctional Centre is a 300 bed, medium security facility, providing intensive treatment and offender management programs for males who are at moderate to high risk of reoffending, and who have a minimum of six months of their sentence left to serve when they arrive there., The facility provides remand, sentenced, mainstream, protection and specialist accommodation for high, maximum and medium security prisoners. It is run by a private operator G4S Australia Pty Ltd..",
            "examples": [
              "eq.The facility provides remand, sentenced, mainstream, protection and specialist accommodation for high, maximum and medium security prisoners. It is run by a private operator G4S Australia Pty Ltd."
            ]
          },
          {
            "name": "link",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: http://www.justice.vic.gov.au/wps/wcm/connect/justlib/doj+internet/home/prisons/visiting+prisons/getting+to+prisons/justice+-+getting+to+prisons+-+ararat+prison, http://www.justice.vic.gov.au/wps/wcm/connect/justlib/doj+internet/home/prisons/visiting+prisons/getting+to+prisons/justice+-+getting+to+prisons+-+barwon+prison, http://www.justice.vic.gov.au/wps/wcm/connect/justlib/doj+internet/home/prisons/visiting+prisons/getting+to+prisons/justice+-+getting+to+prisons+-+dhurringile+prison, http://www.justice.vic.gov.au/wps/wcm/connect/justlib/doj+internet/home/prisons/visiting+prisons/getting+to+prisons/justice+-+getting+to+prisons+-+judy+lazarus+transition+centre, http://www.justice.vic.gov.au/wps/wcm/connect/justlib/doj+internet/home/prisons/visiting+prisons/getting+to+prisons/justice+-+getting+to+prisons+-+loddon+prison.",
            "examples": [
              "eq.http://www.justice.vic.gov.au/wps/wcm/connect/justlib/doj+internet/home/prisons/visiting+prisons/getting+to+prisons/justice+-+getting+to+prisons+-+loddon+prison"
            ]
          },
          {
            "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": [
                "vic-prison-locations"
              ]
            },
            "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": "prison_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: *Operational capacity as at 30 June 2009, Ararat Prison, Barwon Prison, Beechworth Correctional Centre, Dame Phyllis Frost Centre, Dhurringile Prison, Fulham Correctional Centre, Judy Lazarus Transition Centre, Langi Kal Kal Prison, Loddon Prison, Marngoneet Correctional Centre, Melbourne Assessment Prison, Metropolitan Remand Centre, Port Phillip Prison, Tarrengower Prison.",
            "examples": [
              "eq.Tarrengower Prison"
            ]
          },
          {
            "name": "address",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: 1140 Bacchus Marsh Road, 1170 Bacchus Marsh Road, 317 Spencer Street, 494 Flat Rock Road, 50 Adderley Street,, Corner Baringhup and Nuggety Roads, Corner Doherty and Palmers Roads, Hopkins Road, Matheson Street, Middle Road, Murchison Road,, Riding-Boundary Road, Warrack Road, Western Highway.",
            "examples": [
              "eq.Western Highway"
            ]
          },
          {
            "name": "town",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: Ararat, Beechworth, Castlemaine, Deer Park, Lara, Maldon, Murchison, Ravenhall, Trawalla, Truganina, West Melbourne, West Sale.",
            "examples": [
              "eq.West Sale"
            ]
          },
          {
            "name": "phone",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: (+ 61 3) 5824 8800, (+61 3) 5142 3800, (+61 3) 5220 8222, (+61 3) 5282 0600, (+61 3) 5349 4900, (+61 3) 5352 0500, (+61 3) 5471 1211, (+61 3) 5479 8200, (+61 3) 5728 0055, (+61 3) 9217 7200, (+61 3) 9217 7777, (+61 3) 9217 8400, (+61 3) 9320 7888, (+61 3) 9321 4111.",
            "examples": [
              "eq.(+61 3) 9321 4111"
            ]
          },
          {
            "name": "operational_capacity",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "integer. The number of prisoners the facility could hold as at 30 June 2009. Values: 25, 54, 120, 122, 160, 260, 286, 306, 367, 382, 390, 663, 745, 845.",
            "examples": [
              "eq.845"
            ]
          },
          {
            "name": "security",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: Maximum, Medium, Medium/Minimum, Minimum.",
            "examples": [
              "eq.Minimum"
            ]
          },
          {
            "name": "map_ref",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. A street directory map reference. Values: 56, H6 or 227, N7, Map 2E, J2, Map 46, E2, Map 59, E3 or Map 287, U9, Pg.421, K1.",
            "examples": [
              "eq.Pg.421, K1"
            ]
          },
          {
            "name": "profile",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: Beechworth Correctional Centre focuses on reparation and pre-release activities - helping prisoners reintegrate into the community when they are released. The prison design complements its rural setting and its environment reflects life in the general community as much as possible, offering prisoners similar structures, choices and responsibilities to those they will encounter in the outside world., Fulham Correctional Centre accommodates predominantly mainstream prisoners and includes a drug and alcohol treatment unit and a protection unit. The prison is operated by a private operator The GEO Group Australia Pty Ltd (previously Australasian Correctional Management), HM Ararat Prison is located 200 km west of Melbourne. It provides accommodation for prisoners with low to medium security protection requirements, including a high proportion of sex offenders (50 per cent) and protection or special needs prisoners (50 per cent)., HM Barwon Prison provides accommodation and services for mainstream, maximum security prisoners. The prison includes the high security Acacia Unit, the protection units Banksia and Hoya, and mainstream units, Cassia, Diosma and Eucalypt., HM Dhurringile Prison is a pre-release prison where prisoners undertake both on-site employment and meaningful community reparation via community assistance programs., HM Loddon Prison is a mainstream prison focusing on release preparation and drug rehabilitation. It also offers placement and support for HIV positive prisoners and release preparation for intellectually disabled prisoners., HM Melbourne Assessment Prison (MAP) facility provides statewide assessment and orientation services for all male prisoners received into the prison system., HM Prison Langi Kal Kal houses minimum security prisoners with low-to-medium protection requirements. It is a large working farm and is a minimum security pathway for protection prisoners from Ararat Prison., HM Prison Tarrengower is a minimum security women's prison with an emphasis on release preparation and community integration., Metropolitan Remand Centre is Victoria's major remand facility. It is a 600-bed, purpose built, maximum security facility for un-sentenced male prisoners. The facility makes it possible to separate sentenced and un-sentenced prisoners, so far as practicable. This aligns with the United Nations and international standards for the treatment of prisoners who have not yet been found guilty by the courts., The Centre provides a supervised pathway back into society for selected prisoners nearing the end of their sentence. It is named after Judy Lazarus, a prominent advocate of prisoner resettlement and former CEO of the Victorian Association for the Care and Resettlement of Offenders., The Dame Phyllis Frost Centre (DPFC) provides maximum security, medium security and specialist accommodation for remanded and sentenced women prisoners., The Marngoneet Correctional Centre is a 300 bed, medium security facility, providing intensive treatment and offender management programs for males who are at moderate to high risk of reoffending, and who have a minimum of six months of their sentence left to serve when they arrive there., The facility provides remand, sentenced, mainstream, protection and specialist accommodation for high, maximum and medium security prisoners. It is run by a private operator G4S Australia Pty Ltd..",
            "examples": [
              "eq.The facility provides remand, sentenced, mainstream, protection and specialist accommodation for high, maximum and medium security prisoners. It is run by a private operator G4S Australia Pty Ltd."
            ]
          },
          {
            "name": "link",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: http://www.justice.vic.gov.au/wps/wcm/connect/justlib/doj+internet/home/prisons/visiting+prisons/getting+to+prisons/justice+-+getting+to+prisons+-+ararat+prison, http://www.justice.vic.gov.au/wps/wcm/connect/justlib/doj+internet/home/prisons/visiting+prisons/getting+to+prisons/justice+-+getting+to+prisons+-+barwon+prison, http://www.justice.vic.gov.au/wps/wcm/connect/justlib/doj+internet/home/prisons/visiting+prisons/getting+to+prisons/justice+-+getting+to+prisons+-+dhurringile+prison, http://www.justice.vic.gov.au/wps/wcm/connect/justlib/doj+internet/home/prisons/visiting+prisons/getting+to+prisons/justice+-+getting+to+prisons+-+judy+lazarus+transition+centre, http://www.justice.vic.gov.au/wps/wcm/connect/justlib/doj+internet/home/prisons/visiting+prisons/getting+to+prisons/justice+-+getting+to+prisons+-+loddon+prison.",
            "examples": [
              "eq.http://www.justice.vic.gov.au/wps/wcm/connect/justlib/doj+internet/home/prisons/visiting+prisons/getting+to+prisons/justice+-+getting+to+prisons+-+loddon+prison"
            ]
          },
          {
            "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": [
                "vic-prison-locations"
              ]
            },
            "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": "prison_name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: *Operational capacity as at 30 June 2009, Ararat Prison, Barwon Prison, Beechworth Correctional Centre, Dame Phyllis Frost Centre, Dhurringile Prison, Fulham Correctional Centre, Judy Lazarus Transition Centre, Langi Kal Kal Prison, Loddon Prison, Marngoneet Correctional Centre, Melbourne Assessment Prison, Metropolitan Remand Centre, Port Phillip Prison, Tarrengower Prison.",
            "examples": [
              "eq.Tarrengower Prison"
            ]
          },
          {
            "name": "address",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: 1140 Bacchus Marsh Road, 1170 Bacchus Marsh Road, 317 Spencer Street, 494 Flat Rock Road, 50 Adderley Street,, Corner Baringhup and Nuggety Roads, Corner Doherty and Palmers Roads, Hopkins Road, Matheson Street, Middle Road, Murchison Road,, Riding-Boundary Road, Warrack Road, Western Highway.",
            "examples": [
              "eq.Western Highway"
            ]
          },
          {
            "name": "town",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: Ararat, Beechworth, Castlemaine, Deer Park, Lara, Maldon, Murchison, Ravenhall, Trawalla, Truganina, West Melbourne, West Sale.",
            "examples": [
              "eq.West Sale"
            ]
          },
          {
            "name": "phone",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: (+ 61 3) 5824 8800, (+61 3) 5142 3800, (+61 3) 5220 8222, (+61 3) 5282 0600, (+61 3) 5349 4900, (+61 3) 5352 0500, (+61 3) 5471 1211, (+61 3) 5479 8200, (+61 3) 5728 0055, (+61 3) 9217 7200, (+61 3) 9217 7777, (+61 3) 9217 8400, (+61 3) 9320 7888, (+61 3) 9321 4111.",
            "examples": [
              "eq.(+61 3) 9321 4111"
            ]
          },
          {
            "name": "operational_capacity",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "integer. The number of prisoners the facility could hold as at 30 June 2009. Values: 25, 54, 120, 122, 160, 260, 286, 306, 367, 382, 390, 663, 745, 845.",
            "examples": [
              "eq.845"
            ]
          },
          {
            "name": "security",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: Maximum, Medium, Medium/Minimum, Minimum.",
            "examples": [
              "eq.Minimum"
            ]
          },
          {
            "name": "map_ref",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. A street directory map reference. Values: 56, H6 or 227, N7, Map 2E, J2, Map 46, E2, Map 59, E3 or Map 287, U9, Pg.421, K1.",
            "examples": [
              "eq.Pg.421, K1"
            ]
          },
          {
            "name": "profile",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: Beechworth Correctional Centre focuses on reparation and pre-release activities - helping prisoners reintegrate into the community when they are released. The prison design complements its rural setting and its environment reflects life in the general community as much as possible, offering prisoners similar structures, choices and responsibilities to those they will encounter in the outside world., Fulham Correctional Centre accommodates predominantly mainstream prisoners and includes a drug and alcohol treatment unit and a protection unit. The prison is operated by a private operator The GEO Group Australia Pty Ltd (previously Australasian Correctional Management), HM Ararat Prison is located 200 km west of Melbourne. It provides accommodation for prisoners with low to medium security protection requirements, including a high proportion of sex offenders (50 per cent) and protection or special needs prisoners (50 per cent)., HM Barwon Prison provides accommodation and services for mainstream, maximum security prisoners. The prison includes the high security Acacia Unit, the protection units Banksia and Hoya, and mainstream units, Cassia, Diosma and Eucalypt., HM Dhurringile Prison is a pre-release prison where prisoners undertake both on-site employment and meaningful community reparation via community assistance programs., HM Loddon Prison is a mainstream prison focusing on release preparation and drug rehabilitation. It also offers placement and support for HIV positive prisoners and release preparation for intellectually disabled prisoners., HM Melbourne Assessment Prison (MAP) facility provides statewide assessment and orientation services for all male prisoners received into the prison system., HM Prison Langi Kal Kal houses minimum security prisoners with low-to-medium protection requirements. It is a large working farm and is a minimum security pathway for protection prisoners from Ararat Prison., HM Prison Tarrengower is a minimum security women's prison with an emphasis on release preparation and community integration., Metropolitan Remand Centre is Victoria's major remand facility. It is a 600-bed, purpose built, maximum security facility for un-sentenced male prisoners. The facility makes it possible to separate sentenced and un-sentenced prisoners, so far as practicable. This aligns with the United Nations and international standards for the treatment of prisoners who have not yet been found guilty by the courts., The Centre provides a supervised pathway back into society for selected prisoners nearing the end of their sentence. It is named after Judy Lazarus, a prominent advocate of prisoner resettlement and former CEO of the Victorian Association for the Care and Resettlement of Offenders., The Dame Phyllis Frost Centre (DPFC) provides maximum security, medium security and specialist accommodation for remanded and sentenced women prisoners., The Marngoneet Correctional Centre is a 300 bed, medium security facility, providing intensive treatment and offender management programs for males who are at moderate to high risk of reoffending, and who have a minimum of six months of their sentence left to serve when they arrive there., The facility provides remand, sentenced, mainstream, protection and specialist accommodation for high, maximum and medium security prisoners. It is run by a private operator G4S Australia Pty Ltd..",
            "examples": [
              "eq.The facility provides remand, sentenced, mainstream, protection and specialist accommodation for high, maximum and medium security prisoners. It is run by a private operator G4S Australia Pty Ltd."
            ]
          },
          {
            "name": "link",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "string. Values: http://www.justice.vic.gov.au/wps/wcm/connect/justlib/doj+internet/home/prisons/visiting+prisons/getting+to+prisons/justice+-+getting+to+prisons+-+ararat+prison, http://www.justice.vic.gov.au/wps/wcm/connect/justlib/doj+internet/home/prisons/visiting+prisons/getting+to+prisons/justice+-+getting+to+prisons+-+barwon+prison, http://www.justice.vic.gov.au/wps/wcm/connect/justlib/doj+internet/home/prisons/visiting+prisons/getting+to+prisons/justice+-+getting+to+prisons+-+dhurringile+prison, http://www.justice.vic.gov.au/wps/wcm/connect/justlib/doj+internet/home/prisons/visiting+prisons/getting+to+prisons/justice+-+getting+to+prisons+-+judy+lazarus+transition+centre, http://www.justice.vic.gov.au/wps/wcm/connect/justlib/doj+internet/home/prisons/visiting+prisons/getting+to+prisons/justice+-+getting+to+prisons+-+loddon+prison.",
            "examples": [
              "eq.http://www.justice.vic.gov.au/wps/wcm/connect/justlib/doj+internet/home/prisons/visiting+prisons/getting+to+prisons/justice+-+getting+to+prisons+-+loddon+prison"
            ]
          },
          {
            "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": [
                "vic-prison-locations"
              ]
            },
            "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"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
