Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Expand
titleKlik hier om de inhoud te bekijken
Swagger open api macro
displayOperationIdfalse
methodsnone,get,put,post,delete,options,head,patch,trace
validator
defaultModelsExpandDepth1
url
token
defaultModelRenderingexample
filter
password
expandlist
showCommonExtensionsfalse
filename
operations
maxDisplayedTags
attachfalse
showExtensionsdisplayRequestDurationfalse
displayRequestDurationshowExtensionsfalse
username
order
openapi: "3.0.2"
info:
  title: "Asbestattesten"
  description: "Deze dienst maakt het mogelijk om asbestattesten op te vragen uit het asbestinventatris bij OVAM"
  contact:
    name: "Magda helpdesk"
    url: "https://overheid.vlaanderen.be/magda"
  license:
    name: "Asbestinventaris"
    url: "https://overheid.vlaanderen.be/magda"
  version: "1.0.0"
servers:
  - url: "api/v1/milieu"
paths:
  /attesten/asbestattesten/gebouweenheden/{gebouweenheidId}:
    get:
      tags:
        - "asbestattesten"
      summary: "Het asbestId opbragen op basis van de gebouweenheidsId"
      parameters:
        - name: gebouweenheidId
          in: path
          required: true
          description: "Id van de gebouweenheid waarvoor gegevens opgevraagd worden"
          schema:
            type: string
        - name: x-correlation-id
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/Correlation-Id'
      responses:
        200:
          description: "Response met inhoud"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GebouwEenheidSummary"
        400:
          $ref: '#/components/responses/BadRequest'
        401:
          $ref: '#/components/responses/InvalidAuthorization'
        403:
          $ref: '#/components/responses/Forbidden'
        404:
          $ref: '#/components/responses/NotFound'
        500:
          $ref: '#/components/responses/UnexpectedServerError'
        502:
          $ref: '#/components/responses/BadGateway'
        503:
          $ref: '#/components/responses/ServiceUnavailable'
        504:
          $ref: '#/components/responses/GatewayTimeout'

  /attesten/asbestattesten/{asbestinventarisId}:
    get:
      tags:
        - "asbestattesten"
      summary: "details van een attest opvragen in JSON formaat"
      parameters:
        - name: asbestinventarisId
          in: path
          required: true
          description: "Id van de asbestinventaris waarvoor gegevens opgevraagd worden"
          schema:
            type: string
            format: uuid
        - name: x-correlation-id
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/Correlation-Id'
      responses:
        200:
          description: "Response met inhoud in JSON formaat van een asbestattest"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Asbestinventaris"
        400:
          $ref: '#/components/responses/BadRequest'
        401:
          $ref: '#/components/responses/InvalidAuthorization'
        403:
          $ref: '#/components/responses/Forbidden'
        404:
          $ref: '#/components/responses/NotFound'
        500:
          $ref: '#/components/responses/UnexpectedServerError'
        502:
          $ref: '#/components/responses/BadGateway'
        503:
          $ref: '#/components/responses/ServiceUnavailable'
        504:
          $ref: '#/components/responses/GatewayTimeout'

  /attesten/asbestattesten/{asbestinventarisId}/attest:
    get:
      tags:
        - "asbestattesten"
      summary: "het attest opvragen in PDF formaat"
      parameters:
        - name: asbestinventarisId
          in: path
          required: true
          description: "Id van de asbestinventaris waarvoor het attest opgevraagd wordt"
          schema:
            type: string
            format: uuid
        - name: x-correlation-id
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/Correlation-Id'
      responses:
        200:
          description: "Het pdf attest horende bij de asbestinventaris"
          content:
            application/pdf:
              schema:
                type: string
                format: binary
        400:
          $ref: '#/components/responses/BadRequest'
        401:
          $ref: '#/components/responses/InvalidAuthorization'
        403:
          $ref: '#/components/responses/Forbidden'
        404:
          $ref: '#/components/responses/NotFound'
        500:
          $ref: '#/components/responses/UnexpectedServerError'
        502:
          $ref: '#/components/responses/BadGateway'
        503:
          $ref: '#/components/responses/ServiceUnavailable'
        504:
          $ref: '#/components/responses/GatewayTimeout'
  
components:  parameters/attesten/asbestattesten:
    CorrelationIdget:
      nametags:
 x-correlation-id       in: header- "asbestattesten"
      requiredsummary: true"Zoek inventarissen"
      schemaparameters:
        $ref: '#/components/schemas/Correlation-Id'  responsesname: x-correlation-id
   #HTTP Status 400     BadRequestin: header
     description: "Invalid data supplied"  required: true
   content:       schema:
 application/json:           schema:$ref: '#/components/schemas/Correlation-Id'
        - name: geowkt
  $ref: '#/components/schemas/ErrorMessage'     #HTTP Status 401in: query
   InvalidAuthorization:       description: "Invalid authorization"
      content:
        application/json:Geometrie waarbinnen asbestinventarissen worden gezocht. Geeft alle resultaten die voor meer dan 5% binnen de geometrie liggen. Coördinatensysteem (`crs`) is verplicht."
          schema:
            $reftype: '#/components/schemas/ErrorMessage'string
    #HTTP Status 403     Forbiddenexample: POLYGON((154986.030215235 190913.00871922178,154987.5279744013 190914.9131133676,154989.21246565756 190913.72696459584,154987.87177998378 190911.86510712252,154986.030215235 190913.00871922178))
description: "Authentication failed"      - contentname: crs
        application/json:  in: query
          schemadescription: "Coördinatensysteem van `geowkt` waarbinnen asbestinventarissen worden gezocht"
      $ref: '#/components/schemas/ErrorMessage'   schema:
 #HTTP Status 404     NotFound:    type: string
 description: "Resource not found"      example: content"EPSG:31370"
        application/json- name: gemeentecode
         schema in: query
           $refdescription: '#/components/schemas/ErrorMessage'
    #HTTP Status 412
    PreConditionFailed:"Gemeentecode van het perceel van de asbestinventaris. `afdelingscode`, `sectiecode`, `perceelnummer` zijn ook vereist."
      description: Precondition Failed  schema:
    content:         application/json:type: string
          schemaexample: "44040"
        - name: afdelingcode
  $ref: '#/components/schemas/ErrorMessage'     #HTTP Status 500in: query
   UnexpectedServerError:       description: "UnexpectedAfdelingscode Servervan Error"het perceel van de asbestinventaris. `gemeentecode`, `sectiecode`, content:`perceelnummer` zijn ook vereist."
     application/json:     schema:
     schema:       type: string
    $ref: '#/components/schemas/ErrorMessage'     #HTTP Status 502example: "44040"
     BadGateway:   - name: sectiecode
 description: "Bad Gateway"       contentin: query
        application/json  description: "Sectiecode van het perceel van de asbestinventaris. `gemeentecode`, `afdelingscode`, `perceelnummer` schema:zijn ook vereist."
          $refschema:
'#/components/schemas/ErrorMessage'     #HTTP Status 503     ServiceUnavailabletype: string
      description    example: "A"Service
  unavailable"      - contentname: perceelnummer
        application/json:  in: query
       schema:   description: "Perceelnummer van het perceel van de asbestinventaris.`gemeentecode`, `afdelingscode`, `sectiecode` $ref: '#/components/schemas/ErrorMessage'
zijn ook vereist."
   #HTTP Status 504     GatewayTimeoutschema:
      description: "Gateway Timeout"    type: string
 content:         application/jsonexample: "0297/00K000"
        - schemaname: gemeentenaam
          in: query
          description: "Gemeentenaam van het adres van de asbestinventaris. `postcode`, `straatnaam`, `huisnummer` zijn ook vereist."
          schema:
            type: string
        - name: postcode
          in: query
          description: "Postcode van het adres van de asbestinventaris. `gemeentenaam`, `straatnaam`, `huisnummer` zijn ook vereist."
          schema:
            type: string
        - name: straatnaam
          in: query
          description: "Straatnaam van het adres van de asbestinventaris. `gemeentenaam`, `postcode`, `huisnummer` zijn ook vereist."
          schema:
            type: string
        - name: huisnummer
          in: query
          description: "Huisnummer van het adres van de asbestinventaris. `gemeentenaam`, `postcode`, `straatnaam` zijn ook vereist."
          schema:
            type: string
        - name: busnummer
          in: query
          description: "Busnummers van het adres van de asbestinventaris. Optionele parameter. Als het ingevuld is, zijn `gemeentenaam`,`postcode`, `straatnaam`, `huisnummer` ook vereist."
          schema:
            type: array
            items:
              type: string
            example:
              - "001"
              - "002"
              - "003"
        - name: vbradresid
          in: query
          description: "VBR adres ID van de asbestinventaris"
          schema:
            type: string
          example: "https://data.vlaanderen.be/id/adres/16256079"
      responses:
        200:
          description: "Alle overeenkomstige inventarissen."
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Asbestinventarissen"
        400:
          $ref: '#/components/responses/BadRequest'
        401:
          $ref: '#/components/responses/InvalidAuthorization'
        403:
          $ref: '#/components/responses/Forbidden'
        404:
          $ref: '#/components/responses/NotFound'
        500:
          $ref: '#/components/responses/UnexpectedServerError'
        502:
          $ref: '#/components/responses/BadGateway'
        503:
          $ref: '#/components/responses/ServiceUnavailable'
        504:
          $ref: '#/components/responses/GatewayTimeout'

  /attesten/asbestattesten/analyserapport/{analyseRapportId}:
    get:
      tags:
        - "asbestattesten"
      summary: "Download een analyserapport"
      parameters:
        - name: x-correlation-id
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/Correlation-Id'
        - name: analyseRapportId
          in: path
          required: true
          description: "Id van het analyserapport"
          schema:
            type: string
            format: uuid
      responses:
        200:
          description: "Een analyserapport in pdf dat geüpload werd door de deskundige"
          content:
            application/pdf:
              schema:
                type: string
                format: binary
        400:
          $ref: '#/components/responses/BadRequest'
        401:
          $ref: '#/components/responses/InvalidAuthorization'
        403:
          $ref: '#/components/responses/Forbidden'
        404:
          $ref: '#/components/responses/NotFound'
        500:
          $ref: '#/components/responses/UnexpectedServerError'
        502:
          $ref: '#/components/responses/BadGateway'
        503:
          $ref: '#/components/responses/ServiceUnavailable'
        504:
          $ref: '#/components/responses/GatewayTimeout'

components:
  parameters:
    CorrelationId:
      name: x-correlation-id
      in: header
      required: true
      schema:
        $ref: '#/components/schemas/Correlation-Id'
  responses:
    #HTTP Status 400
    BadRequest:
      description: "Invalid data supplied"
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
    #HTTP Status 401
    InvalidAuthorization:
      description: "Invalid authorization"
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
    #HTTP Status 403
    Forbidden:
      description: "Authentication failed"
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
    #HTTP Status 404
    NotFound:
      description: "Resource not found"
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
    #HTTP Status 412
    PreConditionFailed:
      description: Precondition Failed
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
    #HTTP Status 500
    UnexpectedServerError:
      description: "Unexpected Server Error"
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
    #HTTP Status 502
    BadGateway:
      description: "Bad Gateway"
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
    #HTTP Status 503
    ServiceUnavailable:
      description: "Service unavailable"
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
    #HTTP Status 504
    GatewayTimeout:
      description: "Gateway Timeout"
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
  schemas:
    Correlation-Id:
      description: "ID of the transaction. Use this ID for log tracing and incident handling"
      type: string
      minLength: 10
      maxLength: 36

    GebouwEenheidSummary:
      description: "Beschrijving van de gebouweenheid zoals gekend binnen de asbestinventaris applicatie"
      properties:
        inventarissen:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: uuid

    Asbestinventarissen:
      description: "Overzicht van de overeenkomstige asbestinventarissen zoals gekend binnen de asbestinventaris applicatie"
      properties:
        inventarissen:
          $ref: '#/components/schemas/Inventarissen'

    Inventarissen:
      type: array
      items:
        type: object
        properties:
          id:
            type: string
            format: uuid

    Asbestinventaris:
      description: "Details van een inventaris"
      type: object
      properties:
        id:
          type: string
          format: uuid
        attestNummer:
          type: string
        locatieBeschrijving:
          type: string
          description: "Betreft slechts een indicatie van de locatie. Het bevat niet de officiële locatiegegevens van de overheid"
        resultaat:
          type: string
        aanleiding:
          type: string
        gemeenschappelijkDeel:
          type: boolean
        gemeenschappelijkeDelen:
          type: array
          items:
            $ref: '#/components/schemas/GemeenschappelijkDeel'
        analyseRapporten:
          type: array
          items:
            $ref: '#/components/schemas/AnalyseRapport'
        uitgegevenOp:
          type: string
          format: date
        geldigTot:
          type: string
          format: date
        attest:
          type: object
          properties:
            id:
              type: string
              format: uuid
        aantalAsbestmaterialen:
          type: integer
        aantalBeperkingen:
          type: integer
        aantalUitsluitingen:
          type: integer
        asbestmaterialen:
          type: array
          items:
            $ref: '#/components/schemas/Asbestmateriaal'

    GemeenschappelijkDeel:
      description: 'Identificator naar het gemeenschappelijk deel'
      type: object
      properties:
        type:
          type: string
        id:
          type: string
          format: uuid

    AnalyseRapport:
      description: 'Identificator naar het analyse rapport'
      type: object
      properties:
        type:
          type: string
        id:
          type: string
          format: uuid

    Asbestmateriaal:
      description: 'Identificator naar het asbestmateriaal'
      type: object
      properties:
        type:
          type: string
        id:
          type: string
          format: uuid

    ErrorMessage:
      required:
        - detail
        - title
      type: object
      properties:
        type:
          type: string
          description: "A URI reference that identifies the problem type. This specification encourages that, when de-referenced, it provide human-readable documentation for the problem type. When this member is not present, its value is assumed to be about:blank."
        title:
          type: string
          description: "A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation."
        status:
          type: string
          description: "The HTTP status code generated by the origin server for this occurrence of the problem."
        detail:
          type: string
          description: "A human-readable explanation specific to this occurrence of the problem."
        instance:
          type: string
          description: "A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if de-referenced."
      description: "A representation of a generic error message."

...