openapi: "3.0.0"
info:
  version: 1.0.0
  title: Impact Assessment API
  description: The Impact Assessment API defines the URI scheme for returning Impact Assessments 
  license:
    name: OGL
servers:
  - url: https://www.legislation.gov.uk/
    description: English language legislation domain
  - url: https://www.legislation.gov.uk/en/
    description: Explicit English language legislation domain
  - url: https://www.legislation.gov.uk/cy/
    description: Welsh language legislation domain
paths:
  /{IAtype}/{IAyear}/{IAnumber}:
      get:
        summary: "Impact Assessment by IAtype, IAyear and IAnumber"
        description: "The URI defines  an Impact Assessment request where custom values for IAtype, IAyear and IAnumber can be applied with the content returned in a representation defined content negotiation"
        operationId: "ias-IAtype-IAyear-IAnumber"
        parameters:
          - $ref: "#/components/parameters/IAtype"
          - $ref: "#/components/parameters/IAyear"
          - $ref: "#/components/parameters/IAnumber"
        responses:
          "200":
            $ref: '#/components/responses/Legislation200Success'
          "300":
            $ref: '#/components/responses/Legislation300Redirect'
          "301":
            $ref: '#/components/responses/Legislation301Redirect'
          "303":
            $ref: '#/components/responses/Legislation303Redirect'
          "307":
            $ref: '#/components/responses/Legislation307Redirect'
          "400":
            $ref: '#/components/responses/Legislation400BadRequest'
          "404":
            $ref: '#/components/responses/Legislation404NotFound'
  /{IAtype}/{IAyear}/{IAnumber}/{level}:
      get:
        summary: "Impact Assessment by IAtype, IAyear, IAnumber and level"
        description: "The URI defines  an Impact Assessment request where custom values for IAtype, IAyear, IAnumber and level can be applied with the content returned in a representation defined content negotiation"
        operationId: "ias-IAtype-IAyear-IAnumber-level"
        parameters:
          - $ref: "#/components/parameters/IAtype"
          - $ref: "#/components/parameters/IAyear"
          - $ref: "#/components/parameters/IAnumber"
          - $ref: "#/components/parameters/level"
        responses:
          "200":
            $ref: '#/components/responses/Legislation200Success'
          "300":
            $ref: '#/components/responses/Legislation300Redirect'
          "301":
            $ref: '#/components/responses/Legislation301Redirect'
          "303":
            $ref: '#/components/responses/Legislation303Redirect'
          "307":
            $ref: '#/components/responses/Legislation307Redirect'
          "400":
            $ref: '#/components/responses/Legislation400BadRequest'
          "404":
            $ref: '#/components/responses/Legislation404NotFound'
  /{IAtype}/{IAyear}/{IAnumber}/{format}:
      get:
        summary: "Impact Assessment by IAtype, IAyear and IAnumber returned in a defined representation"
        description: "The URI defines  an Impact Assessment request where custom values for IAtype, IAyear and IAnumber can be applied with the content returned in a representation defined by the format parameter"
        operationId: "ias-IAtype-IAyear-IAnumber-format"
        parameters:
          - $ref: "#/components/parameters/IAtype"
          - $ref: "#/components/parameters/IAyear"
          - $ref: "#/components/parameters/IAnumber"
          - $ref: "#/components/parameters/format"
        responses:
          "200":
            $ref: '#/components/responses/Legislation200Success'
          "300":
            $ref: '#/components/responses/Legislation300Redirect'
          "301":
            $ref: '#/components/responses/Legislation301Redirect'
          "303":
            $ref: '#/components/responses/Legislation303Redirect'
          "307":
            $ref: '#/components/responses/Legislation307Redirect'
          "400":
            $ref: '#/components/responses/Legislation400BadRequest'
          "404":
            $ref: '#/components/responses/Legislation404NotFound'
  /{IAtype}/{IAyear}/{IAnumber}/{level}/{format}:
      get:
        summary: "Impact Assessment by IAtype, IAyear, IAnumber and level returned in a defined representation"
        description: "The URI defines  an Impact Assessment request where custom values for IAtype, IAyear, IAnumber and level can be applied with the content returned in a representation defined by the format parameter"
        operationId: "ias-IAtype-IAyear-IAnumber-level-format"
        parameters:
          - $ref: "#/components/parameters/IAtype"
          - $ref: "#/components/parameters/IAyear"
          - $ref: "#/components/parameters/IAnumber"
          - $ref: "#/components/parameters/level"
          - $ref: "#/components/parameters/format"
        responses:
          "200":
            $ref: '#/components/responses/Legislation200Success'
          "300":
            $ref: '#/components/responses/Legislation300Redirect'
          "301":
            $ref: '#/components/responses/Legislation301Redirect'
          "303":
            $ref: '#/components/responses/Legislation303Redirect'
          "307":
            $ref: '#/components/responses/Legislation307Redirect'
          "400":
            $ref: '#/components/responses/Legislation400BadRequest'
          "404":
            $ref: '#/components/responses/Legislation404NotFound'
  /{type}/{year}/{number}/impacts/{IAyear}/{level}/{format}:
      get:
        summary: "Impact Assessment by type, year, number, IAyear and level returned in a defined representation"
        description: "The URI defines  an Impact Assessment request where custom values for type, year, number, IAyear and level can be applied with the content returned in a representation defined by the format parameter"
        operationId: "ias-type-year-number-impacts-IAyear-level-format"
        parameters:
          - $ref: "#/components/parameters/type"
          - $ref: "#/components/parameters/year"
          - $ref: "#/components/parameters/number"
          - $ref: "#/components/parameters/IAyear"
          - $ref: "#/components/parameters/level"
          - $ref: "#/components/parameters/format"
        responses:
          "200":
            $ref: '#/components/responses/Legislation200Success'
          "300":
            $ref: '#/components/responses/Legislation300Redirect'
          "301":
            $ref: '#/components/responses/Legislation301Redirect'
          "303":
            $ref: '#/components/responses/Legislation303Redirect'
          "307":
            $ref: '#/components/responses/Legislation307Redirect'
          "400":
            $ref: '#/components/responses/Legislation400BadRequest'
          "404":
            $ref: '#/components/responses/Legislation404NotFound'
  /{type}/{monarch}/{regnalYear}/{number}/impacts/{level}:
      get:
        summary: "Impact Assessment by type, monarch, regnalYear, number and level"
        description: "The URI defines  an Impact Assessment request where custom values for type, monarch, regnalYear, number and level can be applied with the content returned in a representation defined content negotiation"
        operationId: "ias-type-monarch-regnalYear-number-impacts-level"
        parameters:
          - $ref: "#/components/parameters/type"
          - $ref: "#/components/parameters/monarch"
          - $ref: "#/components/parameters/regnalYear"
          - $ref: "#/components/parameters/number"
          - $ref: "#/components/parameters/level"
        responses:
          "200":
            $ref: '#/components/responses/Legislation200Success'
          "300":
            $ref: '#/components/responses/Legislation300Redirect'
          "301":
            $ref: '#/components/responses/Legislation301Redirect'
          "303":
            $ref: '#/components/responses/Legislation303Redirect'
          "307":
            $ref: '#/components/responses/Legislation307Redirect'
          "400":
            $ref: '#/components/responses/Legislation400BadRequest'
          "404":
            $ref: '#/components/responses/Legislation404NotFound'
  /{type}/{monarch}/{regnalYear}/{number}/{view}/impacts/{level}:
      get:
        summary: "Impact Assessment by type, monarch, regnalYear, number, view and level"
        description: "The URI defines  an Impact Assessment request where custom values for type, monarch, regnalYear, number, view and level can be applied with the content returned in a representation defined content negotiation"
        operationId: "ias-type-monarch-regnalYear-number-view-impacts-level"
        parameters:
          - $ref: "#/components/parameters/type"
          - $ref: "#/components/parameters/monarch"
          - $ref: "#/components/parameters/regnalYear"
          - $ref: "#/components/parameters/number"
          - $ref: "#/components/parameters/view"
          - $ref: "#/components/parameters/level"
        responses:
          "200":
            $ref: '#/components/responses/Legislation200Success'
          "300":
            $ref: '#/components/responses/Legislation300Redirect'
          "301":
            $ref: '#/components/responses/Legislation301Redirect'
          "303":
            $ref: '#/components/responses/Legislation303Redirect'
          "307":
            $ref: '#/components/responses/Legislation307Redirect'
          "400":
            $ref: '#/components/responses/Legislation400BadRequest'
          "404":
            $ref: '#/components/responses/Legislation404NotFound'
  /{type}/{monarch}/{regnalYear}/{number}/impacts/{level}/{format}:
      get:
        summary: "Impact Assessment by type, monarch, regnalYear, number and level returned in a defined representation"
        description: "The URI defines  an Impact Assessment request where custom values for type, monarch, regnalYear, number and level can be applied with the content returned in a representation defined by the format parameter"
        operationId: "ias-type-monarch-regnalYear-number-impacts-level-format"
        parameters:
          - $ref: "#/components/parameters/type"
          - $ref: "#/components/parameters/monarch"
          - $ref: "#/components/parameters/regnalYear"
          - $ref: "#/components/parameters/number"
          - $ref: "#/components/parameters/level"
          - $ref: "#/components/parameters/format"
        responses:
          "200":
            $ref: '#/components/responses/Legislation200Success'
          "300":
            $ref: '#/components/responses/Legislation300Redirect'
          "301":
            $ref: '#/components/responses/Legislation301Redirect'
          "303":
            $ref: '#/components/responses/Legislation303Redirect'
          "307":
            $ref: '#/components/responses/Legislation307Redirect'
          "400":
            $ref: '#/components/responses/Legislation400BadRequest'
          "404":
            $ref: '#/components/responses/Legislation404NotFound'
  /{type}/{monarch}/{regnalYear}/{number}/impacts/{authority}/{level}:
      get:
        summary: "Impact Assessment by type, monarch, regnalYear, number, authority and level"
        description: "The URI defines  an Impact Assessment request where custom values for type, monarch, regnalYear, number, authority and level can be applied with the content returned in a representation defined content negotiation"
        operationId: "ias-type-monarch-regnalYear-number-impacts-authority-level"
        parameters:
          - $ref: "#/components/parameters/type"
          - $ref: "#/components/parameters/monarch"
          - $ref: "#/components/parameters/regnalYear"
          - $ref: "#/components/parameters/number"
          - $ref: "#/components/parameters/authority"
          - $ref: "#/components/parameters/level"
        responses:
          "200":
            $ref: '#/components/responses/Legislation200Success'
          "300":
            $ref: '#/components/responses/Legislation300Redirect'
          "301":
            $ref: '#/components/responses/Legislation301Redirect'
          "303":
            $ref: '#/components/responses/Legislation303Redirect'
          "307":
            $ref: '#/components/responses/Legislation307Redirect'
          "400":
            $ref: '#/components/responses/Legislation400BadRequest'
          "404":
            $ref: '#/components/responses/Legislation404NotFound'
  /{type}/{monarch}/{regnalYear}/{number}/impacts/{extent}/{level}:
      get:
        summary: "Impact Assessment by type, monarch, regnalYear, number, extent and level"
        description: "The URI defines  an Impact Assessment request where custom values for type, monarch, regnalYear, number, extent and level can be applied with the content returned in a representation defined content negotiation"
        operationId: "ias-type-monarch-regnalYear-number-impacts-extent-level"
        parameters:
          - $ref: "#/components/parameters/type"
          - $ref: "#/components/parameters/monarch"
          - $ref: "#/components/parameters/regnalYear"
          - $ref: "#/components/parameters/number"
          - $ref: "#/components/parameters/extent"
          - $ref: "#/components/parameters/level"
        responses:
          "200":
            $ref: '#/components/responses/Legislation200Success'
          "300":
            $ref: '#/components/responses/Legislation300Redirect'
          "301":
            $ref: '#/components/responses/Legislation301Redirect'
          "303":
            $ref: '#/components/responses/Legislation303Redirect'
          "307":
            $ref: '#/components/responses/Legislation307Redirect'
          "400":
            $ref: '#/components/responses/Legislation400BadRequest'
          "404":
            $ref: '#/components/responses/Legislation404NotFound'
  /{type}/{monarch}/{regnalYear}/{number}/impacts/{version}/{level}:
      get:
        summary: "Impact Assessment by type, monarch, regnalYear, number, version and level"
        description: "The URI defines  an Impact Assessment request where custom values for type, monarch, regnalYear, number, version and level can be applied with the content returned in a representation defined content negotiation"
        operationId: "ias-type-monarch-regnalYear-number-impacts-version-level"
        parameters:
          - $ref: "#/components/parameters/type"
          - $ref: "#/components/parameters/monarch"
          - $ref: "#/components/parameters/regnalYear"
          - $ref: "#/components/parameters/number"
          - $ref: "#/components/parameters/version"
          - $ref: "#/components/parameters/level"
        responses:
          "200":
            $ref: '#/components/responses/Legislation200Success'
          "300":
            $ref: '#/components/responses/Legislation300Redirect'
          "301":
            $ref: '#/components/responses/Legislation301Redirect'
          "303":
            $ref: '#/components/responses/Legislation303Redirect'
          "307":
            $ref: '#/components/responses/Legislation307Redirect'
          "400":
            $ref: '#/components/responses/Legislation400BadRequest'
          "404":
            $ref: '#/components/responses/Legislation404NotFound'
  /{type}/{monarch}/{regnalYear}/{number}/impacts/{lang}/{level}:
      get:
        summary: "Impact Assessment by type, monarch, regnalYear, number, lang and level"
        description: "The URI defines  an Impact Assessment request where custom values for type, monarch, regnalYear, number, lang and level can be applied with the content returned in a representation defined content negotiation"
        operationId: "ias-type-monarch-regnalYear-number-impacts-lang-level"
        parameters:
          - $ref: "#/components/parameters/type"
          - $ref: "#/components/parameters/monarch"
          - $ref: "#/components/parameters/regnalYear"
          - $ref: "#/components/parameters/number"
          - $ref: "#/components/parameters/lang"
          - $ref: "#/components/parameters/level"
        responses:
          "200":
            $ref: '#/components/responses/Legislation200Success'
          "300":
            $ref: '#/components/responses/Legislation300Redirect'
          "301":
            $ref: '#/components/responses/Legislation301Redirect'
          "303":
            $ref: '#/components/responses/Legislation303Redirect'
          "307":
            $ref: '#/components/responses/Legislation307Redirect'
          "400":
            $ref: '#/components/responses/Legislation400BadRequest'
          "404":
            $ref: '#/components/responses/Legislation404NotFound'
  /{type}/{monarch}/{regnalYear}/{number}/{view}/impacts/{authority}/{level}:
      get:
        summary: "Impact Assessment by type, monarch, regnalYear, number, view, authority and level"
        description: "The URI defines  an Impact Assessment request where custom values for type, monarch, regnalYear, number, view, authority and level can be applied with the content returned in a representation defined content negotiation"
        operationId: "ias-type-monarch-regnalYear-number-view-impacts-authority-level"
        parameters:
          - $ref: "#/components/parameters/type"
          - $ref: "#/components/parameters/monarch"
          - $ref: "#/components/parameters/regnalYear"
          - $ref: "#/components/parameters/number"
          - $ref: "#/components/parameters/view"
          - $ref: "#/components/parameters/authority"
          - $ref: "#/components/parameters/level"
        responses:
          "200":
            $ref: '#/components/responses/Legislation200Success'
          "300":
            $ref: '#/components/responses/Legislation300Redirect'
          "301":
            $ref: '#/components/responses/Legislation301Redirect'
          "303":
            $ref: '#/components/responses/Legislation303Redirect'
          "307":
            $ref: '#/components/responses/Legislation307Redirect'
          "400":
            $ref: '#/components/responses/Legislation400BadRequest'
          "404":
            $ref: '#/components/responses/Legislation404NotFound'
  /{type}/{monarch}/{regnalYear}/{number}/{view}/impacts/{extent}/{level}:
      get:
        summary: "Impact Assessment by type, monarch, regnalYear, number, view, extent and level"
        description: "The URI defines  an Impact Assessment request where custom values for type, monarch, regnalYear, number, view, extent and level can be applied with the content returned in a representation defined content negotiation"
        operationId: "ias-type-monarch-regnalYear-number-view-impacts-extent-level"
        parameters:
          - $ref: "#/components/parameters/type"
          - $ref: "#/components/parameters/monarch"
          - $ref: "#/components/parameters/regnalYear"
          - $ref: "#/components/parameters/number"
          - $ref: "#/components/parameters/view"
          - $ref: "#/components/parameters/extent"
          - $ref: "#/components/parameters/level"
        responses:
          "200":
            $ref: '#/components/responses/Legislation200Success'
          "300":
            $ref: '#/components/responses/Legislation300Redirect'
          "301":
            $ref: '#/components/responses/Legislation301Redirect'
          "303":
            $ref: '#/components/responses/Legislation303Redirect'
          "307":
            $ref: '#/components/responses/Legislation307Redirect'
          "400":
            $ref: '#/components/responses/Legislation400BadRequest'
          "404":
            $ref: '#/components/responses/Legislation404NotFound'
  /{type}/{monarch}/{regnalYear}/{number}/impacts/{lang}/{level}/{format}:
      get:
        summary: "Impact Assessment by type, monarch, regnalYear, number, lang and level returned in a defined representation"
        description: "The URI defines  an Impact Assessment request where custom values for type, monarch, regnalYear, number, lang and level can be applied with the content returned in a representation defined by the format parameter"
        operationId: "ias-type-monarch-regnalYear-number-impacts-lang-level-format"
        parameters:
          - $ref: "#/components/parameters/type"
          - $ref: "#/components/parameters/monarch"
          - $ref: "#/components/parameters/regnalYear"
          - $ref: "#/components/parameters/number"
          - $ref: "#/components/parameters/lang"
          - $ref: "#/components/parameters/level"
          - $ref: "#/components/parameters/format"
        responses:
          "200":
            $ref: '#/components/responses/Legislation200Success'
          "300":
            $ref: '#/components/responses/Legislation300Redirect'
          "301":
            $ref: '#/components/responses/Legislation301Redirect'
          "303":
            $ref: '#/components/responses/Legislation303Redirect'
          "307":
            $ref: '#/components/responses/Legislation307Redirect'
          "400":
            $ref: '#/components/responses/Legislation400BadRequest'
          "404":
            $ref: '#/components/responses/Legislation404NotFound'
  /{type}/{monarch}/{regnalYear}/{number}/{view}/impacts/{version}/{level}:
      get:
        summary: "Impact Assessment by type, monarch, regnalYear, number, view, version and level"
        description: "The URI defines  an Impact Assessment request where custom values for type, monarch, regnalYear, number, view, version and level can be applied with the content returned in a representation defined content negotiation"
        operationId: "ias-type-monarch-regnalYear-number-view-impacts-version-level"
        parameters:
          - $ref: "#/components/parameters/type"
          - $ref: "#/components/parameters/monarch"
          - $ref: "#/components/parameters/regnalYear"
          - $ref: "#/components/parameters/number"
          - $ref: "#/components/parameters/view"
          - $ref: "#/components/parameters/version"
          - $ref: "#/components/parameters/level"
        responses:
          "200":
            $ref: '#/components/responses/Legislation200Success'
          "300":
            $ref: '#/components/responses/Legislation300Redirect'
          "301":
            $ref: '#/components/responses/Legislation301Redirect'
          "303":
            $ref: '#/components/responses/Legislation303Redirect'
          "307":
            $ref: '#/components/responses/Legislation307Redirect'
          "400":
            $ref: '#/components/responses/Legislation400BadRequest'
          "404":
            $ref: '#/components/responses/Legislation404NotFound'
  /{type}/{monarch}/{regnalYear}/{number}/{view}/impacts/{lang}/{level}:
      get:
        summary: "Impact Assessment by type, monarch, regnalYear, number, view, lang and level"
        description: "The URI defines  an Impact Assessment request where custom values for type, monarch, regnalYear, number, view, lang and level can be applied with the content returned in a representation defined content negotiation"
        operationId: "ias-type-monarch-regnalYear-number-view-impacts-lang-level"
        parameters:
          - $ref: "#/components/parameters/type"
          - $ref: "#/components/parameters/monarch"
          - $ref: "#/components/parameters/regnalYear"
          - $ref: "#/components/parameters/number"
          - $ref: "#/components/parameters/view"
          - $ref: "#/components/parameters/lang"
          - $ref: "#/components/parameters/level"
        responses:
          "200":
            $ref: '#/components/responses/Legislation200Success'
          "300":
            $ref: '#/components/responses/Legislation300Redirect'
          "301":
            $ref: '#/components/responses/Legislation301Redirect'
          "303":
            $ref: '#/components/responses/Legislation303Redirect'
          "307":
            $ref: '#/components/responses/Legislation307Redirect'
          "400":
            $ref: '#/components/responses/Legislation400BadRequest'
          "404":
            $ref: '#/components/responses/Legislation404NotFound'
  /{type}/{monarch}/{regnalYear}/{number}/{view}/impacts/{level}/{format}:
      get:
        summary: "Impact Assessment by type, monarch, regnalYear, number, view and level returned in a defined representation"
        description: "The URI defines  an Impact Assessment request where custom values for type, monarch, regnalYear, number, view and level can be applied with the content returned in a representation defined by the format parameter"
        operationId: "ias-type-monarch-regnalYear-number-view-impacts-level-format"
        parameters:
          - $ref: "#/components/parameters/type"
          - $ref: "#/components/parameters/monarch"
          - $ref: "#/components/parameters/regnalYear"
          - $ref: "#/components/parameters/number"
          - $ref: "#/components/parameters/view"
          - $ref: "#/components/parameters/level"
          - $ref: "#/components/parameters/format"
        responses:
          "200":
            $ref: '#/components/responses/Legislation200Success'
          "300":
            $ref: '#/components/responses/Legislation300Redirect'
          "301":
            $ref: '#/components/responses/Legislation301Redirect'
          "303":
            $ref: '#/components/responses/Legislation303Redirect'
          "307":
            $ref: '#/components/responses/Legislation307Redirect'
          "400":
            $ref: '#/components/responses/Legislation400BadRequest'
          "404":
            $ref: '#/components/responses/Legislation404NotFound'
  /{type}/{monarch}/{regnalYear}/{number}/impacts/{authority}/{extent}/{level}:
      get:
        summary: "Impact Assessment by type, monarch, regnalYear, number, authority, extent and level"
        description: "The URI defines  an Impact Assessment request where custom values for type, monarch, regnalYear, number, authority, extent and level can be applied with the content returned in a representation defined content negotiation"
        operationId: "ias-type-monarch-regnalYear-number-impacts-authority-extent-level"
        parameters:
          - $ref: "#/components/parameters/type"
          - $ref: "#/components/parameters/monarch"
          - $ref: "#/components/parameters/regnalYear"
          - $ref: "#/components/parameters/number"
          - $ref: "#/components/parameters/authority"
          - $ref: "#/components/parameters/extent"
          - $ref: "#/components/parameters/level"
        responses:
          "200":
            $ref: '#/components/responses/Legislation200Success'
          "300":
            $ref: '#/components/responses/Legislation300Redirect'
          "301":
            $ref: '#/components/responses/Legislation301Redirect'
          "303":
            $ref: '#/components/responses/Legislation303Redirect'
          "307":
            $ref: '#/components/responses/Legislation307Redirect'
          "400":
            $ref: '#/components/responses/Legislation400BadRequest'
          "404":
            $ref: '#/components/responses/Legislation404NotFound'
  /{type}/{monarch}/{regnalYear}/{number}/impacts/{authority}/{version}/{level}:
      get:
        summary: "Impact Assessment by type, monarch, regnalYear, number, authority, version and level"
        description: "The URI defines  an Impact Assessment request where custom values for type, monarch, regnalYear, number, authority, version and level can be applied with the content returned in a representation defined content negotiation"
        operationId: "ias-type-monarch-regnalYear-number-impacts-authority-version-level"
        parameters:
          - $ref: "#/components/parameters/type"
          - $ref: "#/components/parameters/monarch"
          - $ref: "#/components/parameters/regnalYear"
          - $ref: "#/components/parameters/number"
          - $ref: "#/components/parameters/authority"
          - $ref: "#/components/parameters/version"
          - $ref: "#/components/parameters/level"
        responses:
          "200":
            $ref: '#/components/responses/Legislation200Success'
          "300":
            $ref: '#/components/responses/Legislation300Redirect'
          "301":
            $ref: '#/components/responses/Legislation301Redirect'
          "303":
            $ref: '#/components/responses/Legislation303Redirect'
          "307":
            $ref: '#/components/responses/Legislation307Redirect'
          "400":
            $ref: '#/components/responses/Legislation400BadRequest'
          "404":
            $ref: '#/components/responses/Legislation404NotFound'
  /{type}/{monarch}/{regnalYear}/{number}/impacts/{authority}/{lang}/{level}:
      get:
        summary: "Impact Assessment by type, monarch, regnalYear, number, authority, lang and level"
        description: "The URI defines  an Impact Assessment request where custom values for type, monarch, regnalYear, number, authority, lang and level can be applied with the content returned in a representation defined content negotiation"
        operationId: "ias-type-monarch-regnalYear-number-impacts-authority-lang-level"
        parameters:
          - $ref: "#/components/parameters/type"
          - $ref: "#/components/parameters/monarch"
          - $ref: "#/components/parameters/regnalYear"
          - $ref: "#/components/parameters/number"
          - $ref: "#/components/parameters/authority"
          - $ref: "#/components/parameters/lang"
          - $ref: "#/components/parameters/level"
        responses:
          "200":
            $ref: '#/components/responses/Legislation200Success'
          "300":
            $ref: '#/components/responses/Legislation300Redirect'
          "301":
            $ref: '#/components/responses/Legislation301Redirect'
          "303":
            $ref: '#/components/responses/Legislation303Redirect'
          "307":
            $ref: '#/components/responses/Legislation307Redirect'
          "400":
            $ref: '#/components/responses/Legislation400BadRequest'
          "404":
            $ref: '#/components/responses/Legislation404NotFound'
  /{type}/{monarch}/{regnalYear}/{number}/impacts/{authority}/{level}/{format}:
      get:
        summary: "Impact Assessment by type, monarch, regnalYear, number, authority and level returned in a defined representation"
        description: "The URI defines  an Impact Assessment request where custom values for type, monarch, regnalYear, number, authority and level can be applied with the content returned in a representation defined by the format parameter"
        operationId: "ias-type-monarch-regnalYear-number-impacts-authority-level-format"
        parameters:
          - $ref: "#/components/parameters/type"
          - $ref: "#/components/parameters/monarch"
          - $ref: "#/components/parameters/regnalYear"
          - $ref: "#/components/parameters/number"
          - $ref: "#/components/parameters/authority"
          - $ref: "#/components/parameters/level"
          - $ref: "#/components/parameters/format"
        responses:
          "200":
            $ref: '#/components/responses/Legislation200Success'
          "300":
            $ref: '#/components/responses/Legislation300Redirect'
          "301":
            $ref: '#/components/responses/Legislation301Redirect'
          "303":
            $ref: '#/components/responses/Legislation303Redirect'
          "307":
            $ref: '#/components/responses/Legislation307Redirect'
          "400":
            $ref: '#/components/responses/Legislation400BadRequest'
          "404":
            $ref: '#/components/responses/Legislation404NotFound'
  /{type}/{monarch}/{regnalYear}/{number}/impacts/{extent}/{version}/{level}:
      get:
        summary: "Impact Assessment by type, monarch, regnalYear, number, extent, version and level"
        description: "The URI defines  an Impact Assessment request where custom values for type, monarch, regnalYear, number, extent, version and level can be applied with the content returned in a representation defined content negotiation"
        operationId: "ias-type-monarch-regnalYear-number-impacts-extent-version-level"
        parameters:
          - $ref: "#/components/parameters/type"
          - $ref: "#/components/parameters/monarch"
          - $ref: "#/components/parameters/regnalYear"
          - $ref: "#/components/parameters/number"
          - $ref: "#/components/parameters/extent"
          - $ref: "#/components/parameters/version"
          - $ref: "#/components/parameters/level"
        responses:
          "200":
            $ref: '#/components/responses/Legislation200Success'
          "300":
            $ref: '#/components/responses/Legislation300Redirect'
          "301":
            $ref: '#/components/responses/Legislation301Redirect'
          "303":
            $ref: '#/components/responses/Legislation303Redirect'
          "307":
            $ref: '#/components/responses/Legislation307Redirect'
          "400":
            $ref: '#/components/responses/Legislation400BadRequest'
          "404":
            $ref: '#/components/responses/Legislation404NotFound'
  /{type}/{monarch}/{regnalYear}/{number}/impacts/{extent}/{lang}/{level}:
      get:
        summary: "Impact Assessment by type, monarch, regnalYear, number, extent, lang and level"
        description: "The URI defines  an Impact Assessment request where custom values for type, monarch, regnalYear, number, extent, lang and level can be applied with the content returned in a representation defined content negotiation"
        operationId: "ias-type-monarch-regnalYear-number-impacts-extent-lang-level"
        parameters:
          - $ref: "#/components/parameters/type"
          - $ref: "#/components/parameters/monarch"
          - $ref: "#/components/parameters/regnalYear"
          - $ref: "#/components/parameters/number"
          - $ref: "#/components/parameters/extent"
          - $ref: "#/components/parameters/lang"
          - $ref: "#/components/parameters/level"
        responses:
          "200":
            $ref: '#/components/responses/Legislation200Success'
          "300":
            $ref: '#/components/responses/Legislation300Redirect'
          "301":
            $ref: '#/components/responses/Legislation301Redirect'
          "303":
            $ref: '#/components/responses/Legislation303Redirect'
          "307":
            $ref: '#/components/responses/Legislation307Redirect'
          "400":
            $ref: '#/components/responses/Legislation400BadRequest'
          "404":
            $ref: '#/components/responses/Legislation404NotFound'
  /{type}/{monarch}/{regnalYear}/{number}/impacts/{extent}/{level}/{format}:
      get:
        summary: "Impact Assessment by type, monarch, regnalYear, number, extent and level returned in a defined representation"
        description: "The URI defines  an Impact Assessment request where custom values for type, monarch, regnalYear, number, extent and level can be applied with the content returned in a representation defined by the format parameter"
        operationId: "ias-type-monarch-regnalYear-number-impacts-extent-level-format"
        parameters:
          - $ref: "#/components/parameters/type"
          - $ref: "#/components/parameters/monarch"
          - $ref: "#/components/parameters/regnalYear"
          - $ref: "#/components/parameters/number"
          - $ref: "#/components/parameters/extent"
          - $ref: "#/components/parameters/level"
          - $ref: "#/components/parameters/format"
        responses:
          "200":
            $ref: '#/components/responses/Legislation200Success'
          "300":
            $ref: '#/components/responses/Legislation300Redirect'
          "301":
            $ref: '#/components/responses/Legislation301Redirect'
          "303":
            $ref: '#/components/responses/Legislation303Redirect'
          "307":
            $ref: '#/components/responses/Legislation307Redirect'
          "400":
            $ref: '#/components/responses/Legislation400BadRequest'
          "404":
            $ref: '#/components/responses/Legislation404NotFound'
  /{type}/{monarch}/{regnalYear}/{number}/impacts/{version}/{lang}/{level}:
      get:
        summary: "Impact Assessment by type, monarch, regnalYear, number, version, lang and level"
        description: "The URI defines  an Impact Assessment request where custom values for type, monarch, regnalYear, number, version, lang and level can be applied with the content returned in a representation defined content negotiation"
        operationId: "ias-type-monarch-regnalYear-number-impacts-version-lang-level"
        parameters:
          - $ref: "#/components/parameters/type"
          - $ref: "#/components/parameters/monarch"
          - $ref: "#/components/parameters/regnalYear"
          - $ref: "#/components/parameters/number"
          - $ref: "#/components/parameters/version"
          - $ref: "#/components/parameters/lang"
          - $ref: "#/components/parameters/level"
        responses:
          "200":
            $ref: '#/components/responses/Legislation200Success'
          "300":
            $ref: '#/components/responses/Legislation300Redirect'
          "301":
            $ref: '#/components/responses/Legislation301Redirect'
          "303":
            $ref: '#/components/responses/Legislation303Redirect'
          "307":
            $ref: '#/components/responses/Legislation307Redirect'
          "400":
            $ref: '#/components/responses/Legislation400BadRequest'
          "404":
            $ref: '#/components/responses/Legislation404NotFound'
  /{type}/{monarch}/{regnalYear}/{number}/impacts/{version}/{level}/{format}:
      get:
        summary: "Impact Assessment by type, monarch, regnalYear, number, version and level returned in a defined representation"
        description: "The URI defines  an Impact Assessment request where custom values for type, monarch, regnalYear, number, version and level can be applied with the content returned in a representation defined by the format parameter"
        operationId: "ias-type-monarch-regnalYear-number-impacts-version-level-format"
        parameters:
          - $ref: "#/components/parameters/type"
          - $ref: "#/components/parameters/monarch"
          - $ref: "#/components/parameters/regnalYear"
          - $ref: "#/components/parameters/number"
          - $ref: "#/components/parameters/version"
          - $ref: "#/components/parameters/level"
          - $ref: "#/components/parameters/format"
        responses:
          "200":
            $ref: '#/components/responses/Legislation200Success'
          "300":
            $ref: '#/components/responses/Legislation300Redirect'
          "301":
            $ref: '#/components/responses/Legislation301Redirect'
          "303":
            $ref: '#/components/responses/Legislation303Redirect'
          "307":
            $ref: '#/components/responses/Legislation307Redirect'
          "400":
            $ref: '#/components/responses/Legislation400BadRequest'
          "404":
            $ref: '#/components/responses/Legislation404NotFound'
  /{type}/{monarch}/{regnalYear}/{number}/impacts/{version}/{lang}/{level}/{format}:
      get:
        summary: "Impact Assessment by type, monarch, regnalYear, number, version, lang and level returned in a defined representation"
        description: "The URI defines  an Impact Assessment request where custom values for type, monarch, regnalYear, number, version, lang and level can be applied with the content returned in a representation defined by the format parameter"
        operationId: "ias-type-monarch-regnalYear-number-impacts-version-lang-level-format"
        parameters:
          - $ref: "#/components/parameters/type"
          - $ref: "#/components/parameters/monarch"
          - $ref: "#/components/parameters/regnalYear"
          - $ref: "#/components/parameters/number"
          - $ref: "#/components/parameters/version"
          - $ref: "#/components/parameters/lang"
          - $ref: "#/components/parameters/level"
          - $ref: "#/components/parameters/format"
        responses:
          "200":
            $ref: '#/components/responses/Legislation200Success'
          "300":
            $ref: '#/components/responses/Legislation300Redirect'
          "301":
            $ref: '#/components/responses/Legislation301Redirect'
          "303":
            $ref: '#/components/responses/Legislation303Redirect'
          "307":
            $ref: '#/components/responses/Legislation307Redirect'
          "400":
            $ref: '#/components/responses/Legislation400BadRequest'
          "404":
            $ref: '#/components/responses/Legislation404NotFound'
  /{type}/{monarch}/{regnalYear}/{number}/impacts/{extent}/{version}/{lang}/{level}/{format}:
      get:
        summary: "Impact Assessment by type, monarch, regnalYear, number, extent, version, lang and level returned in a defined representation"
        description: "The URI defines  an Impact Assessment request where custom values for type, monarch, regnalYear, number, extent, version, lang and level can be applied with the content returned in a representation defined by the format parameter"
        operationId: "ias-type-monarch-regnalYear-number-impacts-extent-version-lang-level-format"
        parameters:
          - $ref: "#/components/parameters/type"
          - $ref: "#/components/parameters/monarch"
          - $ref: "#/components/parameters/regnalYear"
          - $ref: "#/components/parameters/number"
          - $ref: "#/components/parameters/extent"
          - $ref: "#/components/parameters/version"
          - $ref: "#/components/parameters/lang"
          - $ref: "#/components/parameters/level"
          - $ref: "#/components/parameters/format"
        responses:
          "200":
            $ref: '#/components/responses/Legislation200Success'
          "300":
            $ref: '#/components/responses/Legislation300Redirect'
          "301":
            $ref: '#/components/responses/Legislation301Redirect'
          "303":
            $ref: '#/components/responses/Legislation303Redirect'
          "307":
            $ref: '#/components/responses/Legislation307Redirect'
          "400":
            $ref: '#/components/responses/Legislation400BadRequest'
          "404":
            $ref: '#/components/responses/Legislation404NotFound'
  /{type}/{monarch}/{regnalYear}/{number}/impacts/{authority}/{extent}/{version}/{lang}/{level}/{format}:
      get:
        summary: "Impact Assessment by type, monarch, regnalYear, number, authority, extent, version, lang and level returned in a defined representation"
        description: "The URI defines  an Impact Assessment request where custom values for type, monarch, regnalYear, number, authority, extent, version, lang and level can be applied with the content returned in a representation defined by the format parameter"
        operationId: "ias-type-monarch-regnalYear-number-impacts-authority-extent-version-lang-level-format"
        parameters:
          - $ref: "#/components/parameters/type"
          - $ref: "#/components/parameters/monarch"
          - $ref: "#/components/parameters/regnalYear"
          - $ref: "#/components/parameters/number"
          - $ref: "#/components/parameters/authority"
          - $ref: "#/components/parameters/extent"
          - $ref: "#/components/parameters/version"
          - $ref: "#/components/parameters/lang"
          - $ref: "#/components/parameters/level"
          - $ref: "#/components/parameters/format"
        responses:
          "200":
            $ref: '#/components/responses/Legislation200Success'
          "300":
            $ref: '#/components/responses/Legislation300Redirect'
          "301":
            $ref: '#/components/responses/Legislation301Redirect'
          "303":
            $ref: '#/components/responses/Legislation303Redirect'
          "307":
            $ref: '#/components/responses/Legislation307Redirect'
          "400":
            $ref: '#/components/responses/Legislation400BadRequest'
          "404":
            $ref: '#/components/responses/Legislation404NotFound'
  /{type}/{monarch}/{regnalYear}/{number}/{view}/impacts/{authority}/{extent}/{version}/{lang}/{level}/{format}:
      get:
        summary: "Impact Assessment by type, monarch, regnalYear, number, view, authority, extent, version, lang and level returned in a defined representation"
        description: "The URI defines  an Impact Assessment request where custom values for type, monarch, regnalYear, number, view, authority, extent, version, lang and level can be applied with the content returned in a representation defined by the format parameter"
        operationId: "ias-type-monarch-regnalYear-number-view-impacts-authority-extent-version-lang-level-format"
        parameters:
          - $ref: "#/components/parameters/type"
          - $ref: "#/components/parameters/monarch"
          - $ref: "#/components/parameters/regnalYear"
          - $ref: "#/components/parameters/number"
          - $ref: "#/components/parameters/view"
          - $ref: "#/components/parameters/authority"
          - $ref: "#/components/parameters/extent"
          - $ref: "#/components/parameters/version"
          - $ref: "#/components/parameters/lang"
          - $ref: "#/components/parameters/level"
          - $ref: "#/components/parameters/format"
        responses:
          "200":
            $ref: '#/components/responses/Legislation200Success'
          "300":
            $ref: '#/components/responses/Legislation300Redirect'
          "301":
            $ref: '#/components/responses/Legislation301Redirect'
          "303":
            $ref: '#/components/responses/Legislation303Redirect'
          "307":
            $ref: '#/components/responses/Legislation307Redirect'
          "400":
            $ref: '#/components/responses/Legislation400BadRequest'
          "404":
            $ref: '#/components/responses/Legislation404NotFound'
components:
  parameters:
    IAtype:
      name: "IAtype"
      in: "path"
      description: "The Impact Assessment Abbreviated Type"
      required: true
      style: "simple"
      schema:
            $ref: '#/components/schemas/IAtype'
    IAyear:
      name: "IAyear"
      in: "path"
      description: "The Impact Assessment Year"
      required: true
      style: "simple"
      schema:
            $ref: '#/components/schemas/IAyear'
    IAnumber:
      name: "IAnumber"
      in: "path"
      description: "The Impact Assessment Number"
      required: true
      style: "simple"
      schema:
            $ref: '#/components/schemas/IAnumber'
    level:
      name: "level"
      in: "path"
      description: "The level - this is one of two values, basic-metadata or pdf-status which are employed for PDF generation routines"
      required: true
      style: "simple"
      schema:
            $ref: '#/components/schemas/level'
    format:
      name: "format"
      in: "path"
      description: "The data type specified by data.[ext] (e.g. data.akn). Supported types are xml, akn, htm, html (html 5), pdf, rdf. This will override the http content negotiation"
      required: true
      style: "simple"
      schema:
            $ref: '#/components/schemas/format'
    type:
      name: "type"
      in: "path"
      description: "The Legislation Abbreviated Type"
      required: true
      style: "simple"
      schema:
            $ref: '#/components/schemas/type'
    year:
      name: "year"
      in: "path"
      description: "The Legislation Year"
      required: true
      style: "simple"
      schema:
            $ref: '#/components/schemas/year'
    number:
      name: "number"
      in: "path"
      description: "The Legislation Number. This can either be the basic integer number or a compound series number that is prefixed with the relevant series letter - w (Wales), s (Scotland), ni (Northern Ireland), l (Legal), c (Commencing)"
      required: true
      style: "simple"
      schema:
            $ref: '#/components/schemas/number'
    monarch:
      name: "monarch"
      in: "path"
      description: "The monarch string that defines a regnal year"
      required: true
      style: "simple"
      schema:
            $ref: '#/components/schemas/monarch'
    regnalYear:
      name: "regnalYear"
      in: "path"
      description: "The Legislation regnal Year used in a monarch/regnal year combination"
      required: true
      style: "simple"
      schema:
            $ref: '#/components/schemas/regnalYear'
    view:
      name: "view"
      in: "path"
      description: "A specific view of the legislation that is not otherwise identified by an identifier uri"
      required: true
      style: "simple"
      schema:
            $ref: '#/components/schemas/view'
    authority:
      name: "authority"
      in: "path"
      description: "The Legislation publishing authority"
      required: true
      style: "simple"
      schema:
            $ref: '#/components/schemas/authority'
    extent:
      name: "extent"
      in: "path"
      description: "The Legislation applicable geographic extent"
      required: true
      style: "simple"
      schema:
            $ref: '#/components/schemas/extent'
    version:
      name: "version"
      in: "path"
      description: "The Legislation version, either a dated version or final version (enacted, made, created or adopted)"
      required: true
      style: "simple"
      schema:
            $ref: '#/components/schemas/version'
    lang:
      name: "lang"
      in: "path"
      description: "The language representation of the legisation (applicable to Welsh legislation where both English and Welsh representations are available)"
      required: true
      style: "simple"
      schema:
            $ref: '#/components/schemas/lang'
  responses:
    Legislation200Success:
      description: Successful response
      content:
        text/html:
          schema:
            type: object
        application/xhtml+xml:
          schema:
            type: object
        application/pdf:
          schema:
            type: object
        application/akn+xhtml:
          schema:
            type: object
        application/rdf+xml:
          schema:
            type: object
        application/xml:
          schema:
            type: object
    Legislation300Redirect:
      description: Multiple options for the Legislation resource
    Legislation301Redirect:
      description: Legislation permanently moved
    Legislation303Redirect:
      description: Exact Legislation not available, redirect to alternative option
    Legislation307Redirect:
      description: Exact Legislation not available, temporary redirect
    Legislation404NotFound:
      description: The requested Legislation is not available
    Legislation400BadRequest:
      description: The requested Legislation is out of scope for what is stored on the site

  schemas:
    # Schema for error response body
    HTMLSuccess:
      type: object          
    FeedSuccess:
      type: object      
    IAtype:
        type: string
        description: Restricts the impact assessment type to a specific valid abbreviated type
        pattern: '^(ukia)$'
    IAyear:
        type: string
        description: Restricts the Impact Assessment year to a specific valid abbreviated type
        pattern: '^[0-9]+$'
    IAnumber:
        type: string
        description: Restricts the Impact Assessment number
        pattern: '^[0-9]+$'
    level:
        type: string
        description: Restricts the level
        pattern: '^(basic-metadata|pdf-status)$'
    format:
        type: string
        description: Restricts the data format
        pattern: '(data\.([a-z]+))$'
    type:
        type: string
        description: Restricts the legislation type to a specific valid abbreviated type
        pattern: '^(uksi|ukmd|wsi|nisi|ssi|nisro|nisr|ukci|ukmo|uksro|eur|eudn|eudr|ukpga|ukla|ukppa|gbppa|gbla|apgb|aep|aosp|asp|aip|apni|mnia|nia|ukcm|mwa|anaw|asc)$'
    year:
        type: string
        description: Restricts the regnal year(s)
        pattern: '^[0-9]+$'
    number:
        type: string
        description: An optional character to refer to a specific series - w (Wales), s (Scotland), ni (Northern Ireland), l (Legal), c (Commencing) followed by an integer for the number
        pattern: '^((c|ni|l|s|w)?[0-9]+)$'
    monarch:
        type: string
        description: Restricts the monarch
        pattern: '^[.]+$'
    regnalYear:
        type: string
        description: Restricts the type to a specific valid abbreviated type
        pattern: '^[.]+$'
    view:
        type: string
        description: A specific view of the legislation that is not otherwise identified by an identifier uri
        pattern: '^(contents|title|introduction|resources|body|signature|schedules|annexes|attachments|note|earlier-orders)$'
    authority:
        type: string
        description: The publishing authority of the legislation
        pattern: '^(sld|kqpap|kqps|gpni)$'
    extent:
        type: string
        description: The geographic extent for the legislation
        pattern: '^(\=)?(scotland|england|wales|ni)(\+(?:scotland|england|wales|ni))*$'
    version:
        type: string
        description: The version of the legislation which can either be the final naming convention, or a dated revised version. Prospective versions are deprecated
        pattern: '^(enacted|adopted|made|created|[0-9]{4}-[0-9]{2}-[0-9]{2}|prospective)$'
    lang:
        type: string
        description: The language of the legislation - applicable to welsh legislation types
        pattern: '^(welsh|english)$'
