components:
  parameters:
    crs:
      description: Het coordinatenstelsel (Coordinate Reference Systems) waarop geometrie
        parameters in het request zijn gebaseerd
      in: header
      name: Content-Crs
      required: false
      schema:
        default: EPSG:28992
        enum:
        - EPSG:28992
        type: string
    x_api_key:
      description: De api-key ter authenticatie, verkrijgbaar via het ontwikkelaarsportaal
      in: header
      name: x-api-key
      required: false
      schema:
        type: string
  responses:
    "400":
      content:
        application/json:
          schema:
            allOf:
            - properties:
                detail:
                  description: Meer detail informatie over de opgetreden fout
                  type: string
                instance:
                  description: Het unieke instance id van het request dat resulteerde
                    in de foutmelding.
                  type: string
                status:
                  description: De statuscode van de fout (= 400) overeenkomend met
                    de http-status code van de response.
                  format: int64
                  type: integer
                title:
                  description: Informatie over de opgetreden fout.
                  type: string
                type:
                  description: Het type fout dat opgetreden is. Bijvoorbeeld VALIDATIE_FOUT
                    of ONVERWACHTE_FOUT.
                  type: string
              required:
              - type
              - title
              - status
            - properties:
                invalid-params:
                  items:
                    properties:
                      name:
                        description: '''Naam van de parameter die een fout bevat,
                          bijvoorbeeld: activiteitFunctioneleStructuurRef'''
                        type: string
                      reason:
                        description: Bijvoorbeeld 'de activiteitFunctioneleStructuurRef
                          mag geen speciale karakters bevatten.'
                        type: string
                      type:
                        description: Een type van de fout, bijvoorbeeld 'Validatie
                          melding'
                        type: string
                    required:
                    - type
                    - name
                    - reason
                  type: array
      description: Fouten (missing parameter; niet bestaande parameter; invalide waarde
        voor parameter)
    "404":
      content:
        application/json:
          schema:
            allOf:
            - properties:
                detail:
                  description: Meer detail informatie over de opgetreden fout
                  type: string
                instance:
                  description: Het unieke instance id van het request dat resulteerde
                    in de foutmelding.
                  type: string
                status:
                  description: De statuscode van de fout (= 404) overeenkomend met
                    de http-status code van de response.
                  format: int64
                  type: integer
                title:
                  description: Informatie over de opgetreden fout.
                  type: string
                type:
                  description: Het type resource dat niet gevonden is.
                  type: string
              required:
              - type
              - title
              - status
            - properties:
                detail:
                  description: De identifier van het object dat niet gevonden is.
                    Bijvoorbeeld de URN van een activiteit.
                  type: string
                type:
                  description: Bevat informatie over het type object dat niet gevonden
                    is. Bijvoorbeeld ACTIVITY_NOT_FOUND of SUBACTIVITY_NOT_FOUND
                  type: string
      description: De gevraagde resource is niet gevonden
    "500":
      content:
        application/json:
          schema:
            properties:
              detail:
                description: Meer detail informatie over de opgetreden fout
                type: string
              instance:
                description: Het unieke instance id van het request dat resulteerde
                  in de foutmelding.
                type: string
              status:
                description: De statuscode (= 500) van de fout overeenkomend met de
                  http-status code van de response.
                format: int64
                type: integer
              title:
                description: Informatie over de opgetreden fout.
                type: string
              type:
                description: Het type fout dat opgetreden is. Bijvoorbeeld VALIDATIE_FOUT
                  of ONVERWACHTE_FOUT.
                type: string
            required:
            - type
            - title
            - status
      description: Er is een onverwachte technische fout opgetreden
  schemas:
    ActiviteitMetConclusies:
      allOf:
      - $ref: '#/components/schemas/BaseActiviteit'
      - properties:
          conclusies:
            description: De conclusies van het checken op basis van de beantwoorde
              vragen.
            items:
              $ref: '#/components/schemas/Conclusie'
            type: array
          toonbareActiviteit:
            $ref: '#/components/schemas/ToonbareActiviteitDetails'
          voorbehouden:
            description: De voorbehouden van het checken op basis van de beantwoorde
              vragen.
            items:
              $ref: '#/components/schemas/Voorbehoud'
            type: array
        required:
        - toonbareActiviteit
    ActiviteitMetVoorschriften:
      allOf:
      - $ref: '#/components/schemas/BaseActiviteit'
      - required:
        - toonbareActiviteit
      - properties:
          toonbareActiviteit:
            $ref: '#/components/schemas/ToonbareActiviteitDetails'
          voorschriften:
            description: De lijst van voorschriften en bijbehorende maatregelen die
              bepaald zijn op basis van de gegeven antwoorden
            items:
              $ref: '#/components/schemas/Voorschrift'
            type: array
    ActiviteitTypering:
      description: Typering van de activiteit
      enum:
      - Water
      - Milieubelastende
      - Overige
      type: string
    Antwoord:
      properties:
        antwoord:
          description: Het antwoord op de uitvoeringsregel met het desbetreffende
            id. Indien meerdere antwoorden bij een lijstwaarde dan komma gescheiden
            met spaties. Indien het antwoord op de vraag vooringevuld is door de service
            maar leeg moet worden gemaakt (denk aan huisletter) dan dit antwoord als
            een lege string aanleveren, ongeacht het antwoordType (dus ook bij numeriek).
          maxLength: 6144
          type: string
        id:
          description: Het id waarmee het antwoord aan de juiste uitvoeringsregel
            (vraag/bijlage) wordt gekoppeld.
          maxLength: 100
          type: integer
      required:
      - id
    BaseActiviteit:
      properties:
        bestuursorgaan:
          allOf:
          - description: Bestuursorgaan van de activiteit
          - $ref: '#/components/schemas/Organisatie'
        functioneleStructuurRef:
          description: Verwijzing naar het regelbeheerobject van de subactiviteit.
            Indien er voor deze subactiviteit geen regelbeheerobject bestaat is dit
            veld afwezig.
          type: string
        ontbrekendeData:
          allOf:
          - $ref: '#/components/schemas/OntbrekendeData'
          - description: |-
              Definieert welke data ontbreekt:
              - toepasbareRegels: voor de betreffende activiteit of
                onderliggende subactiviteiten zijn geen toepasbare regels
                beschikbaar of zijn niet volledig.
              - regelbeheerobject: voor de betreffende activiteit of
                onderliggende subactiviteiten is geen regelbeheerobject
                beschikbaar of zijn niet volledig. N.B. in dit geval zijn de
                velden functioneleStructuurRef en typering niet gevuld.

              In de situatie dat er data ontbreekt zullen er geen vraaggroepen en toepasbareRegelsIdentifiers in de response terugkomen.
          type: string
        subactiviteitNaam:
          description: De naam van de activiteit
          type: string
        toepasbareRegelsIdentifiers:
          description: De identifiers van alle toepasbare regels bestanden die zijn
            uitgevoerd voor dit request. Dit kan gebruikt worden door afnemers om
            te detecteren of de onderliggende toepasbare regel bestanden zijn gewijzigd
            ten opzichte van een voorgaand request.
          items:
            type: integer
          type: array
        typering:
          $ref: '#/components/schemas/ActiviteitTypering'
        vraaggroepen:
          description: Groep van vragen gesorteerd op prioriteit. De volgorde waarin
            de vraaggroepen geretourneerd worden blijft hetzelfde over meerdere requests
            heen.
          items:
            $ref: '#/components/schemas/Vraaggroep'
          type: array
      required:
      - subactiviteitNaam
      - bestuursorgaan
    Bereik:
      description: Geeft aan binnen welk bereik de via deze Uitvoeringsregel verkregen
        informatie kan worden gebruikt. Mogelijke waardes zijn 'werkzaamheid', 'locatie',
        'gebruiker'.
      enum:
      - werkzaamheid
      - locatie
      - gebruiker
      type: string
    Bijlage:
      properties:
        classificatie:
          $ref: '#/components/schemas/Classificatie'
        documenttypeGeneriek:
          description: Het generieke documenttype van de bijlage. Dit kan conform
            de IMAM (Informatie Model Aanvragen en Meldingen) standaard worden doorgeven
            aan het bevoegd gezag.
          type: string
        id:
          description: De unieke identifier van de bijlage.
          type: integer
        potentieelVertrouwelijk:
          description: Kenmerk potentieelVertrouwelijk=true betekent dat een gebruiker
            kan aangeven dat een antwoord op een vraag vertrouwelijk is.  Dit kan
            conform de IMAM (Informatie Model Aanvragen en Meldingen) standaard worden
            doorgeven aan het bevoegd gezag.
          type: boolean
        publiceerbaar:
          description: Kenmerk publiceerbaar=true betekent dat het antwoord op de
            vraag gepubliceerd mag worden.  Dit kan conform de IMAM (Informatie Model
            Aanvragen en Meldingen) standaard worden doorgeven aan het bevoegd gezag.
          type: boolean
        toelichting:
          $ref: '#/components/schemas/ToelichtingDetails'
        type:
          description: Het bestandstype dat verwacht wordt.
          type: string
        verplicht:
          description: Kenmerk verplicht=true betekent dat een gebruiker een bijlage
            moet toevoegen.
          type: boolean
        vraagReferentie:
          description: Identificatie van een gegeven om door te geven met de aanvraag.
            De structuur hiervan is <namespace>:<referentie>, waarbij de namespace
            "imam" gebruikt wordt voor de gegevens uit de IMAM (Informatie Model Aanvragen
            en Meldingen) standaard.
          type: string
      required:
      - id
      - type
      - documenttypeGeneriek
      - classificatie
      - verplicht
      - publiceerbaar
      - potentieelVertrouwelijk
    Classificatie:
      description: Classificatie van de uitvoeringsregel waarmee deze zijn in te delen
        in de user interface.
      enum:
      - project
      - aanvrager
      - verzoek
      - activiteit
      type: string
    Conclusie:
      properties:
        ontbrekendeData:
          allOf:
          - $ref: '#/components/schemas/OntbrekendeData'
          - description: notificatie dat er onderliggende gegevens ontbreken voor
              het eventuele vervolgproces
          type: string
        subactiviteitFunctioneleStructuurRef:
          deprecated: true
          description: De functioneleStructuurRef van de subactiviteit behorende bij
            deze specifieke conclusie. Deze is enkel gevuld indien de toonbare activiteit
            verfijnbaar is. Deprecated omdat de verfijnbaar functionaliteit deprecated
            is.
          type: string
        toelichtingId:
          description: identifier waarmee de toelichting geidentificeerd wordt in
            de toelichtingen service.
          type: integer
        toestemmingstype:
          $ref: '#/components/schemas/ConclusieToestemming'
        toonbareActiviteitFunctioneleStructuurRef:
          description: De functioneleStructuurRef van de toonbare activiteit behorende
            bij deze specifieke conclusie
          type: string
      required:
      - toestemmingstype
    ConclusieResponse:
      properties:
        activiteiten:
          description: De lijst van activiteiten met de bijbehorende conclusies van
            het checken op basis van de beantwoorde vragen. De toonbareActiviteit
            is de activiteit in de functionele structuur (eventueel op een hoger niveau)
            waarop een vergunning kan worden aangevraagd of een melding kan worden
            gedaan.  De subActiviteit is de laagste activiteit in de functionele structuur
            waaraan het regelbeheerobject met toepasbare regels is gekoppeld.
          items:
            $ref: '#/components/schemas/ActiviteitMetConclusies'
          type: array
        functioneleStructuurRef:
          description: De verwijzing naar het opgevraagde regelbeheerobject van de
            activiteit uit de request waarop het response van toepassing is
          type: string
      required:
      - functioneleStructuurRef
    ConclusieToestemming:
      properties:
        code:
          enum:
          - NietVanToepassing
          - Verbod
          - Vergunningplicht
          - Meldingsplicht
          - Informatieplicht
          - Toestemmingsvrij
          - NeemContactOpMet
          type: string
        waarde:
          type: string
      required:
      - code
      - waarde
    Datum:
      description: Datum in het formaat dd-MM-yyyy.
      example: 01-01-2023
      pattern: ^\d{2}-\d{2}-\d{4}$
      type: string
    DsoId:
      description: DSO id (UUID)
      example: ff4cd97f-1d24-4f42-86c4-61a8a1e9f066
      maxLength: 36
      minLength: 36
      pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
      type: string
    FunctioneleStructuurRefAntwoorden:
      properties:
        antwoorden:
          description: Optionele lijst van Antwoord objecten
          items:
            $ref: '#/components/schemas/Antwoord'
          maxItems: 500
          type: array
        functioneleStructuurRef:
          description: De verwijzing naar een regelbeheerobject van een geselecteerde
            activiteit in de functionele structuur in de Registratie Toepasbare Regels.
          type: string
      required:
      - functioneleStructuurRef
    GeoQuery:
      description: Filter op geografisch punt of vlak. Zie de DSO API/URI strategie
        (https://aandeslagmetdeomgevingswet.nl/digitaal-stelsel/technisch-aansluiten/standaarden/api-uri-strategie)
      example:
        intersects:
          coordinates:
          - 155000
          - 463000
          type: Point
      properties:
        intersects:
          description: Punt of vlak waarmee het resultaat raakvlak moet hebben. Analoog
            aan ElasticSearch GeoShape Query (https://www.elastic.co/guide/en/elasticsearch/reference/5.0/query-dsl-geo-shape-query.html)
          oneOf:
          - description: GeoJSON Point gespecificeerd volgens https://tools.ietf.org/html/rfc7946#section-3.1.2
            properties:
              coordinates:
                description: De coördinaten van het punt waarbij het 1e item de x-coordinaat
                  is en het 2e item de y-coordinaat, gespecificeerd volgens https://tools.ietf.org/html/rfc7946#section-3.1.1
                items:
                  type: number
                minItems: 2
                type: array
              type:
                enum:
                - Point
                type: string
            required:
            - type
            - coordinates
            title: Point
            type: object
          - description: GeoJSON Polygon gespecificeerd volgens https://tools.ietf.org/html/rfc7946#section-3.1.6
            properties:
              coordinates:
                description: De coördinaten van een Polygon volgens https://tools.ietf.org/html/rfc7946#section-3.1.6
                items:
                  items:
                    $ref: '#/components/schemas/GeoQuery/properties/intersects/oneOf/0/properties/coordinates'
                  minItems: 4
                  type: array
                type: array
              type:
                enum:
                - Polygon
                type: string
            required:
            - type
            - coordinates
            title: Polygon
            type: object
          - description: GeoJSON MultiPolygon gespecificeerd volgens https://tools.ietf.org/html/rfc7946#section-3.1.7
            properties:
              coordinates:
                description: De coördinaten van een MultiPolygon volgens https://tools.ietf.org/html/rfc7946#section-3.1.7
                items:
                  $ref: '#/components/schemas/GeoQuery/properties/intersects/oneOf/1/properties/coordinates'
                type: array
              type:
                enum:
                - MultiPolygon
                type: string
            required:
            - type
            - coordinates
            title: MultiPolygon
            type: object
          - description: GeoJSon geometry collection volgens https://tools.ietf.org/html/rfc7946#section-3.1.8
            properties:
              geometries:
                items:
                  anyOf:
                  - $ref: '#/components/schemas/GeoQuery/properties/intersects/oneOf/0'
                  - $ref: '#/components/schemas/GeoQuery/properties/intersects/oneOf/1'
                  - $ref: '#/components/schemas/GeoQuery/properties/intersects/oneOf/2'
                type: array
              type:
                enum:
                - GeometryCollection
                type: string
            required:
            - geometries
            - type
            type: object
      required:
      - intersects
    IndieningsvereistenRequest:
      description: Request voor ophalen en beantwoorden van vragen
      properties:
        _geo:
          $ref: '#/components/schemas/GeoQuery'
        datum:
          allOf:
          - description: Het verzoek wordt uitgevoerd met de versie van de sttr-bestanden
              die geldig zijn op deze datum. Indien geen datum meegegeven wordt het
              verzoek uitgevoerd tegen de op dit moment geldende sttr-bestanden. Het
              formaat van de datum is dd-MM-yyyy
          - $ref: '#/components/schemas/Datum'
        functioneleStructuurRefs:
          description: De verwijzingen naar een regelbeheerobject van de activiteit
            in de functionele structuur met eventueel bijbehorende antwoorden
          items:
            $ref: '#/components/schemas/SubAndFunctioneleStructuurRefAntwoorden'
          maxItems: 100
          minItems: 1
          type: array
        initiatiefnemer:
          description: Het DSO id van de initiatiefnemer. Alleen relevant als het
            element machtiging aanwezig is.
          type: string
        ketenmachtiging:
          $ref: '#/components/schemas/KetenMachtiging'
        machtiging:
          $ref: '#/components/schemas/ProjectMachtiging'
        rolaanduiding:
          description: Rol van de gebruiker ten behoeve van het voorinvullen van gegevens
            over de gebruiker en/of initiatiefnemer. N.B. als dit element aanwezig
            is, is het element machtiging (en daarmee initiatiefnemer) niet toegestaan.
          properties:
            initiatiefnemer:
              description: De initiatiefnemer namens wie wordt ingediend, indien de
                rol niet initiatiefnemer is. Indien de rol intiatiefnemer is, wordt
                dit veld genegeerd.
              properties:
                dsoId:
                  $ref: '#/components/schemas/DsoId'
              required:
              - dsoId
            rol:
              description: Rol van de gebruiker.
              enum:
              - INITIATIEFNEMER
              - GEMACHTIGDE
              - OVERIG
              type: string
          required:
          - rol
      required:
      - functioneleStructuurRefs
      - _geo
    IndieningsvereistenResponse:
      properties:
        compleet:
          description: Zowel de uitvoeringsregels (vragen en bijlage) die zijn vereist
            als niet zijn vereist voor het indienen zijn beantwoord.
          type: boolean
        functioneleStructuurRef:
          description: De verwijzing naar de opgevraagde regelbeheerobjecten van de
            activiteit uit de request waarop het response van toepassing is
          type: string
        indienbaar:
          description: Aan de indieningsvereisten is voldaan, alle uitvoeringsregels
            (vragen en bijlage) om te kunnen indienen zijn beantwoord.
          type: boolean
        subactiviteiten:
          description: 'Subactiviteiten indien de activititeit verfijnbaar is. Als
            de activiteit niet verfijnbaar is, is er één subactiviteit die gelijk
            is aan de bovenliggende activiteit. De volgorde waarin de subactiviteiten
            geretourneerd worden blijft hetzelfde over meerdere requests heen. Note:
            aangezien verfijnbaar deprecated is zal deze lijst dus altijd maximaal
            één subactiviteit bevatten'
          items:
            $ref: '#/components/schemas/IndieningsvereistenSubActiviteit'
          type: array
        verfijnbaar:
          deprecated: true
          description: Is de activiteit verfijnbaar? (verfijnbaar-functionaliteit
            is deprecated)
          type: boolean
      required:
      - functioneleStructuurRef
      - indienbaar
      - compleet
      - verfijnbaar
    IndieningsvereistenSubActiviteit:
      allOf:
      - $ref: '#/components/schemas/BaseActiviteit'
      - properties:
          bijlagen:
            description: De inhoud van de bijlage-uitvoeringsregel gesorteerd op prioriteit,
              zodat de juiste bijlage aan gebruiker gevraagd kan worden. De volgorde
              waarin de bijlagen geretourneerd worden blijft hetzelfde over meerdere
              requests heen.
            items:
              $ref: '#/components/schemas/Bijlage'
            type: array
    KetenMachtiging:
      description: Dit element wordt genegeerd en zal in de toekomst verdwijnen.
      properties:
        gemachtigde:
          description: Het DSO id van de gemachtigde.
          type: string
      required:
      - gemachtigde
    Maatregel:
      description: Maatregelen.
      properties:
        frequentie:
          description: Het terugkeerpatroon dat beschrijft hoe vaak de maatregel dient
            te worden uitgevoerd
          type: string
        kenmerken:
          description: Een filterkop in het csv-bestand om maatregelen te kunnen ordenen
          items:
            type: string
          type: array
        maatregeltekst:
          description: De tekst die de maatregel beschrijft
          type: string
        nummer:
          description: Het nummer van de maatregel
          type: string
        themas:
          description: Het thema van de maatregel
          items:
            type: string
          type: array
        toelichting:
          description: Toelichting op de maatregel
          type: string
        volgorde:
          description: Een volgorde voor de presentatie van de maatregelen
          type: integer
      required:
      - nummer
      - maatregeltekst
      - volgorde
      - frequentie
    MaatregelenResponse:
      properties:
        activiteiten:
          description: De lijst van activiteiten met de bijbehorende voorschriften
            en maatregelen op basis van de beantwoorde vragen. De toonbareActiviteit
            is de activiteit in de functionele structuur (eventueel op een hoger niveau)
            waarop een vergunning kan worden aangevraagd of een melding kan worden
            gedaan.  De subActiviteit is de laagste activiteit in de functionele structuur
            waaraan het regelbeheerobject met toepasbare regels is gekoppeld.
          items:
            $ref: '#/components/schemas/ActiviteitMetVoorschriften'
          type: array
        functioneleStructuurRef:
          description: De verwijzing naar het opgevraagde regelbeheerobject van de
            activiteit uit de request waarop het response van toepassing is
          type: string
      required:
      - functioneleStructuurRef
    OntbrekendeData:
      enum:
      - toepasbareRegels
      - regelbeheerobject
      type: string
    Optie:
      properties:
        optieGeenVanBovenstaande:
          description: Kenmerk optieGeenVanBovenstaande=true betekent dat dit de optie
            "geen van bovenstaande" is en kan worden geselecteerd in plaats van de
            andere (antwoord) opties. Dit geldt voor meerkeuzevragen van het antwoordType
            'lijstwaarde' met optieType 'meerdereAntwoorden'. Er is maximaal 1 optie
            met optieGeenVanBovenstaande=true.
          type: boolean
        optieTekst:
          description: De tekst die de antwoord-optie omschrijft.
          type: string
        sequenceId:
          description: Numeriek veld dat wordt gebruikt voor de presentatievolgorde
            van de Opties.
          type: integer
        toelichting:
          $ref: '#/components/schemas/ToelichtingDetails'
      required:
      - optieTekst
      - sequenceId
      - optieGeenVanBovenstaande
    Organisatie:
      description: Organisatie
      properties:
        bestuurslaag:
          description: Bestuurslaag van een Organisatie
          enum:
          - rijk
          - provincie
          - waterschap
          - gemeente
          type: string
        oin:
          description: OIN van de organisatie
          maxLength: 20
          minLength: 20
          type: string
      required:
      - oin
      - bestuurslaag
    ProjectMachtiging:
      description: Een projectmachtiging. Als deze aanwezig is, dan is het verplicht
        ook initiatiefnemer in te vullen.
      properties:
        gemachtigde:
          description: Dit element wordt genegeerd en zal in de toekomst verdwijnen.
          type: string
        projectId:
          description: Het project id.
          type: string
      required:
      - projectId
    Request:
      description: Request voor ophalen en beantwoorden van vragen
      properties:
        _geo:
          $ref: '#/components/schemas/GeoQuery'
        datum:
          allOf:
          - description: Het verzoek wordt uitgevoerd met de versie van de sttr-bestanden
              die geldig zijn op deze datum. Indien geen datum meegegeven wordt het
              verzoek uitgevoerd tegen de op dit moment geldende sttr-bestanden. Het
              formaat van de datum is dd-MM-yyyy
          - $ref: '#/components/schemas/Datum'
        functioneleStructuurRefs:
          description: De verwijzingen naar een regelbeheerobject van de activiteit
            in de functionele structuur met eventueel bijbehorende antwoorden
          items:
            $ref: '#/components/schemas/FunctioneleStructuurRefAntwoorden'
          maxItems: 100
          minItems: 1
          type: array
      required:
      - functioneleStructuurRefs
      - _geo
    SubAndFunctioneleStructuurRefAntwoorden:
      allOf:
      - $ref: '#/components/schemas/FunctioneleStructuurRefAntwoorden'
      - properties:
          subFunctioneleStructuurRefs:
            deprecated: true
            description: Verwijzing naar regelbeheerobjecten van geselecteerde subactiviteiten
              in de functionele structuur in de Registratie Toepasbare Regels. Voor
              verfijnbare activiteiten dient de lijst minimaal 1 item bevatten. Voor
              niet-verfijnbare activiteiten dient de lijst leeg te zijn. Deprecated
              omdat de verfijnbaar functionaliteit deprecated is.
            items:
              type: string
            maxItems: 100
            type: array
    Toelichting:
      description: de toelichting
      properties:
        id:
          type: integer
        toelichting:
          description: De tekst behorende bij de toelichting. De MarkDown syntax wordt
            gebruikt om eventuele opmaak, links en media te ondersteunen (zie https://daringfireball.net/projects/markdown/).
            Voor video's is de syntax uitgebreid met !video(/path/to/img.mp4 "title").
            Dit staat beschreven in de IMTR (voor de Standaard toepasbare regels (STTR)
            en het bijbehorende Informatiemodel toepasbare regels (IMTR) zie https://aandeslagmetdeomgevingswet.nl/digitaal-stelsel/technisch-aansluiten/koppelvlakken/toepasbare-regels/standaard/).
          type: string
    ToelichtingDetails:
      description: Verwijzing naar de toelichting bij de vraag. De inhoud van de toelichting
        kan opgehaald worden bij de toelichtingen service
      properties:
        belangrijk:
          description: Definieert of de toelichting belangrijk is voor het ondersteunen
            en begrijpen van de vraag of het antwoord. Dit kan bijvoorbeeld gebruikt
            worden door frontend-applicaties als indicatie dat de toelichting direct
            getoond dient te worden.
          type: boolean
        korteToelichtingId:
          description: identifier waarmee de korte toelichting geidentificeerd wordt
            in de toelichtingen service. Indien er geen toelichting beschikbaar is
            is dit veld afwezig
          type: integer
        langeToelichtingId:
          description: identifier waarmee de lange toelichting geidentificeerd wordt
            in de toelichtingen service. Indien er geen toelichting beschikbaar is
            is dit veld afwezig
          type: integer
      required:
      - belangrijk
    Toelichtingen:
      description: de succesvol opgehaalde toelichtingen
      properties:
        toelichtingen:
          items:
            $ref: '#/components/schemas/Toelichting'
          maxItems: 1000
          type: array
    ToelichtingenRequest:
      description: Request voor ophalen van toelichtingen op basis van toelichtingId's.
        Niet gevonden id's worden genegeerd.
      properties:
        toelichtingIds:
          description: De id's van de toelichtingen
          items:
            type: integer
          maxItems: 1000
          minItems: 1
          type: array
      required:
      - toelichtingIds
    ToonbareActiviteitDetails:
      properties:
        naam:
          description: De naam van de toonbare activiteit
          type: string
        verfijnbaar:
          deprecated: true
          description: Is de activiteit verfijnbaar? (verfijnbaar-functionaliteit
            is deprecated)
          type: boolean
      required:
      - naam
      - verfijnbaar
    Voorbehoud:
      properties:
        tekst:
          type: string
      required:
      - tekst
    Voorschrift:
      description: Voorschrift voor maatregelen behorende bij betreffende activteit.
      properties:
        juridischeLink:
          description: Een link naar de juridische onderbouwing van het relevante
            voorschrift waar deze maatregelen voor gelden of de waarde NietVanToepassing
            als er geen voorschriften en maatregelen van toepassing zijn.
          type: string
        maatregelen:
          description: De maatregelen behorende bij het voorschrift
          items:
            $ref: '#/components/schemas/Maatregel'
          type: array
      required:
      - juridischeLink
    Vraag:
      properties:
        antwoordType:
          description: Het verwachtte antwoord type
          enum:
          - boolean
          - numeriek
          - lijstwaarde
          - datum
          - string
          type: string
        bereik:
          $ref: '#/components/schemas/Bereik'
        classificatie:
          $ref: '#/components/schemas/Classificatie'
        gewijzigdAntwoord:
          description: Het door de gebruiker opgegeven en gebruikte antwoord op de
            uitvoeringsregel die het vooringevuldAntwoord overruled.
          type: string
        herbruikbareBeslissingFunctioneleStructuurRefs:
          description: Als de uitvoeringsregel van het type uitkomstHerbruikbareBeslissing
            is bevat dit veld de functioneleStructuurRefs van de activiteiten of werkzaamheden
            die de het antwoord levert voor deze vraag. Dit geeft inzicht in voor
            welke andere activiteiten of werkzaamheden nog vragen beantwoord moeten
            worden voordat de huidige activiteit tot een conclusie kan komen.
          items:
            description: FunctioneleStructuurRef van de werkzaamheid of activiteit.
            type: string
          type: array
        id:
          description: De unieke identifier van de vraag
          type: integer
        invoertype:
          description: De presentatie van een invoerveld voor een vraag.
          enum:
          - tekst
          - tekstveld
          type: string
        invulinstructie:
          description: De invulinstructie van een vraag voor de gebruiker.
          type: string
        locatieIdentificatie:
          description: De identificatie van de locatie. Deze is alleen gevuld voor
            uitvoeringsregelType geoVerwijzing
          type: string
        optieType:
          description: Mogelijke waardes 'enkelAntwoord' of 'meerdereAntwoorden',
            wordt alleen gebruikt bij het antwoordType lijstwaarde
          enum:
          - enkelAntwoord
          - meerdereAntwoorden
          type: string
        opties:
          description: Een lijst met (antwoord) Opties voor de meerkeuzevragen van
            het antwoordType 'lijstwaarde'
          items:
            $ref: '#/components/schemas/Optie'
          type: array
        potentieelVertrouwelijk:
          description: Kenmerk potentieelVertrouwelijk=true betekent dat een gebruiker
            kan aangeven dat een antwoord op een vraag vertrouwelijk is.  Dit kan
            conform de IMAM (Informatie Model Aanvragen en Meldingen) standaard worden
            doorgeven aan het bevoegd gezag.
          type: boolean
        prioriteit:
          description: Prioriteit van de vraag
          type: number
        publiceerbaar:
          description: Kenmerk publiceerbaar=true betekent dat het antwoord op de
            vraag gepubliceerd mag worden.  Dit kan conform de IMAM (Informatie Model
            Aanvragen en Meldingen) standaard worden doorgeven aan het bevoegd gezag.
          type: boolean
        reguliereExpressie:
          description: Een reguliere expressie waarmee het antwoord kan worden gevalideerd.
          type: string
        tekst:
          description: De tekst behorende bij deze vraag
          type: string
        toelichting:
          $ref: '#/components/schemas/ToelichtingDetails'
        uitvoeringsregelType:
          description: Type uitvoeringsregel. Deze staan beschreven in het bijbehorende
            Informatiemodel toepasbare regels (IMTR) van de Standaard toepasbare regels
            (STTR). Vragen van het type registerbevraging of geoVerwijzing kunnen
            een vooringevuld antwoord bevatten wat door de gebruiker gewijzigd mag
            worden. Vragen van het type uitkomstHerbruikbareBeslissing hoeven niet
            aan de gebruiker getoond te worden, en de bijbehorende vooringevulde antwoorden
            kunnen niet gewijzigd worden.
          enum:
          - vraag
          - registerbevraging
          - geoVerwijzing
          - uitkomstHerbruikbareBeslissing
          type: string
        verborgenStuurvraag:
          description: Een stuurvraag is een vraag die op basis van een (uit een registratie)
            bekend feit bepaalt welke verdere feiten nodig zijn om tot een beslissing
            te komen. Kenmerk verborgenStuurvraag=true betekent dat de stuurvraag
            niet aan een gebruiker getoond hoeft te worden. Als vooringevuldAntwoord
            leeg is, dient de vraag alsnog aan de gebruiker getoond te worden, ongeacht
            de waarde van verborgenStuurvraag
          type: boolean
        verplicht:
          description: Kenmerk verplicht=true betekent dat een gebruiker een antwoord
            moet geven.
          type: boolean
        vooringevuldAntwoord:
          description: |
            Door de service vooringevuld antwoord in situaties waar het
            antwoord al bekend is (Bijvoorbeeld door middel van een register
            bevraging zoals de 'Basisregistratie Adressen en Gebouwen'). Indien
            meerdere antwoorden bij een lijstwaarde dan komma gescheiden met spaties.
            De mogelijke waardes zijn afhankelijk van het uitvoeringsregelType:
            * geoVerwijzing: Mogelijke waardes zijn 'ja', 'nee' en 'deels'.
            * uitkomstHerbruikbareBeslissing: Mogelijke waardes zijn 'ja',
              'nee' en 'nietBeschikbaar'.
            * registerbevraging: Mogelijke waardes zijn niet beperkt tot een lijst.
            * vraag: Maakt geen gebruik van vooringevuldAntwoord.
          type: string
        vraagReferentie:
          description: Identificatie van een gegeven om door te geven met de aanvraag.
            De structuur hiervan is <namespace>:<referentie>, waarbij de namespace
            "imam" gebruikt wordt voor de gegevens uit de IMAM (Informatie Model Aanvragen
            en Meldingen) standaard.
          type: string
      required:
      - id
      - uitvoeringsregelType
      - antwoordType
      - tekst
      - bereik
      - classificatie
      - verplicht
      - publiceerbaar
      - potentieelVertrouwelijk
      - verborgenStuurvraag
      - prioriteit
    Vraaggroep:
      properties:
        groepNaam:
          description: Tekst veld dat wordt gebruikt om de naam of het etiket van
            de groep te presenteren
          type: string
        prioriteit:
          description: Prioriteit van de groep
          type: number
        vragen:
          description: Lijst van de nog te beantwoorden vragen en al beantwoorden
            vragen binnen dezelfde groep, gesorteerd op prioriteit. De volgorde waarin
            de vragen geretourneerd worden blijft hetzelfde over meerdere requests
            heen.
          items:
            $ref: '#/components/schemas/Vraag'
          type: array
      required:
      - prioriteit
info:
  contact:
    name: Ontwikkelaarsportaal Omgevingswet
    url: https://developer.omgevingswet.overheid.nl/services/contact/
  description: |-
    Het ophalen van vragen en het beantwoorden van vragen (Toepasbare Regels)
    ten behoeve van
    1) de vergunningcheck (het checken wat een initiatiefnemer moet doen, bijv. een vergunning
       aanvragen),
    2) het opstellen van een aanvraag en/of melding of
    3) het checken welke maatregelen nodig zijn

    De uitkomst van het checken is een conclusie, de uitkomst van het opstellen
    is of deze indienbaar en compleet is. De uitkomst van maatregelen zijn verwijzingen naar
    de voorschriften met bijbehorende maatregelen.
    Voor het gebruik van de service is een x-api-key nodig.
    Deze versie van de api maakt gebruik van het dynamische vragen algoritme zoals beschreven in
    hoofdstuk 8.6 "Modelleren dynamische vragen" van versie 1 en 2 van de STTR-standaard.
  title: Toepasbare Regels Uitvoeren Services
  version: 2.1.1
openapi: 3.0.0
paths:
  /:
    get:
      responses:
        "200":
          content:
            application/json:
              schema:
                example: '{"openapi": "3.0.0", ... }'
          description: OpenApi Specification Json
      summary: OpenApi Specification
      tags:
      - Meta
  /app-health:
    $ref: '#/paths/~1health'
  /app-info:
    $ref: '#/paths/~1info'
  /conclusie/_bepaal:
    post:
      deprecated: true
      description: Geeft de nog te beantwoorden vragen en reeds beantwoorde vragen
        terug op basis van de werkzaamheid en beschikbare gegevens (bijvoorbeeld antwoorden
        of geolocatie) om tot een uitkomst te kunnen komen. Geeft de vragen en de
        uitkomst per functioneleStructuurRef, in volgorde zoals in de request.
      parameters:
      - $ref: '#/components/parameters/crs'
      - $ref: '#/components/parameters/x_api_key'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Request'
        description: Request body met de benodigde gegevens voor het ophalen van vragen/conclusie.
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/ConclusieResponse'
                type: array
          description: Vragen of Conclusie per functioneleStructuurRef
        "400":
          $ref: '#/components/responses/400'
        "404":
          $ref: '#/components/responses/404'
        "500":
          $ref: '#/components/responses/500'
      summary: Ophalen van vragen en bepalen van de conclusie voor het checken
      tags:
      - Conclusie
  /health:
    get:
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  groups:
                    items:
                      type: string
                    type: array
                  status:
                    enum:
                    - UP
                    type: string
                required:
                - status
                type: object
          description: Health
        "503":
          content:
            application/json:
              schema:
                properties:
                  groups:
                    items:
                      type: string
                    type: array
                  status:
                    enum:
                    - DOWN
                    - OUT_OF_SERVICE
                    type: string
                required:
                - status
                type: object
          description: Health
      summary: health info
      tags:
      - Meta
  /indieningsvereisten/_bepaal:
    post:
      deprecated: true
      description: Geeft de nog te beantwoorden vragen en reeds beantwoorde vragen
        terug op basis van het sttr-bestand en de beschikbare gegevens (bijvoorbeeld
        antwoorden of geolocatie) om tot een uitkomst te kunnen komen. Geeft de vragen
        en de uitkomst per functioneleStructuurRef, waarbij de algemene set altijd
        als eerste getoond wordt, en daarna de functionele structuur ref's in volgorde
        zoals in de request.
      parameters:
      - $ref: '#/components/parameters/crs'
      - $ref: '#/components/parameters/x_api_key'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IndieningsvereistenRequest'
        description: Request body met de benodigde gegevens voor het ophalen van vragen
          en bepalen of de indieningsvereisten indienbaar en compleet zijn
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/IndieningsvereistenResponse'
                type: array
          description: Vragen en de indienbaar/compleet status per functioneleStructuurRef
        "400":
          $ref: '#/components/responses/400'
        "404":
          $ref: '#/components/responses/404'
        "500":
          $ref: '#/components/responses/500'
      summary: Ophalen van vragen en bepalen of de indieningsvereisten indienbaar
        en compleet zijn
      tags:
      - Indieningsvereisten
  /info:
    get:
      responses:
        "200":
          content:
            application/json:
              schema:
                description: Info
                properties:
                  app:
                    properties:
                      buildtime:
                        type: string
                      name:
                        type: string
                      version:
                        type: string
                      version2:
                        type: string
                    type: object
                required:
                - app
          description: Info
      summary: applicatie info
      tags:
      - Meta
  /maatregelen/_bepaal:
    post:
      deprecated: true
      description: Geeft de nog te beantwoorden vragen en reeds beantwoorde vragen
        terug op basis van de werkzaamheid en beschikbare gegevens (bijvoorbeeld antwoorden
        of geolocatie) om tot een uitkomst te kunnen komen.  Geeft de vragen en de
        uitkomst per functioneleStructuurRef, in volgorde zoals in de request met
        als uitzondering de algemene set die altijd als eerste wordt teruggegeven.
      parameters:
      - $ref: '#/components/parameters/crs'
      - $ref: '#/components/parameters/x_api_key'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Request'
        description: Request body met de benodigde gegevens voor het bepalen van de
          voorschriften en maatregelen
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/MaatregelenResponse'
                type: array
          description: Maatregelen per functioneleStructuurRef
        "400":
          $ref: '#/components/responses/400'
        "404":
          $ref: '#/components/responses/404'
        "500":
          $ref: '#/components/responses/500'
      summary: Ophalen van vragen en bepalen van de voorschriften en maatregelen
      tags:
      - Maatregelen
  /toelichtingen:
    post:
      deprecated: true
      description: Retourneert de toelichtingen behorende bij de meegegeven id`s.
      parameters:
      - $ref: '#/components/parameters/x_api_key'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ToelichtingenRequest'
        description: Request body met de toelichtingId's
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Toelichtingen'
          description: Toelichtingen
        "400":
          $ref: '#/components/responses/400'
        "404":
          $ref: '#/components/responses/404'
        "500":
          $ref: '#/components/responses/500'
      summary: Ophalen Toelichtingen
      tags:
      - Toelichtingen
  /toelichtingen/{toelichtingId}:
    get:
      deprecated: true
      description: Retourneert de toelichting behorende bij de meegegeven id.
      parameters:
      - $ref: '#/components/parameters/x_api_key'
      - description: de identifier van de toelichting
        in: path
        name: toelichtingId
        required: true
        schema:
          type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Toelichting'
          description: Toelichting
        "400":
          $ref: '#/components/responses/400'
        "404":
          $ref: '#/components/responses/404'
        "500":
          $ref: '#/components/responses/500'
      summary: Ophalen Toelichting
      tags:
      - Toelichtingen
x-wso2-cors:
  accessControlAllowCredentials: false
  accessControlAllowHeaders:
  - authorization
  - Access-Control-Allow-Origin
  - Content-Type
  - SOAPAction
  accessControlAllowMethods:
  - GET
  - PUT
  - POST
  - DELETE
  - PATCH
  - OPTIONS
  accessControlAllowOrigins:
  - '*'
  corsConfigurationEnabled: true
