---
openapi: "3.0.0"
info:
  title: "Catalogus website API"
  version: "1.3.0"
  description: "De Stelselcatalogus is het online naslagwerk van gegevens uit de omgevingswet\
    \ en het digitale stelsel hieromheen. \nVoorbeelden van deze gegevens zijn:\n\
    \  - concepten\n  - activiteiten\n  - werkzaamheden\n  - waardelijsten\n  - informatieproducten\n\
    \nConcepten zijn geordend per domein. Dit domein wordt beschreven als een conceptschema.\
    \ Binnen een conceptschema \nkunnen concepten worden geordend in collecties.\n\
    De conceptschema worden federatief beheerd door de verschillende bronhouders.\
    \ Bij ieder conceptschema wordt \naangegeven wie de bronhouder is en daarmee verantwoordelijk\
    \ is voor de inhoud.\n             \nOm te kunnen tijdreizen wordt metadata meegegeven:\n\
    \  - de datum waarop het concept (juridisch) geldig is geworden\n  - de datum\
    \ waarop de (juridische) geldigheid vervalt.\n\n## Documentatie\n[Beschrijving\
    \ van de informatie over concepten, geldigheid/provenance, collecties en datasets](http://bp4mc2.org/modelleringswijze/)\n\
    (op basis van Best Practices for meaningful connected computing)."
paths:
  /:
    get:
      summary: "API-specificatie van deze API"
      description: "Endpoint voor het opvragen van de API-specificatie"
      responses:
        "200":
          description: "Open API-specificatie van deze API"
          content:
            text/plain:
              schema:
                type: "string"
  /conceptschema:
    get:
      summary: "Conceptschema opvragen"
      description: "Endpoint voor het opvragen van één enkel conceptschema"
      parameters:
      - $ref: "#/components/parameters/ConceptschemaUri"
      - $ref: "#/components/parameters/ResourceDocUri"
      - $ref: "#/components/parameters/GeldigOp"
      responses:
        "200":
          $ref: "#/components/responses/Conceptschema"
  /conceptschemas:
    get:
      summary: "Conceptschema's opvragen"
      description: "Endpoint voor het opvragen van alle conceptschema's"
      parameters:
      - $ref: "#/components/parameters/ConceptschemaUri"
      - $ref: "#/components/parameters/GeldigOp"
      - $ref: "#/components/parameters/InclusiefBeeindigdeVersies"
      - $ref: "#/components/parameters/ZoekTerm"
      - $ref: "#/components/parameters/Page"
      - $ref: "#/components/parameters/PageSize"
      responses:
        "200":
          $ref: "#/components/responses/Conceptschemas"
  /concept:
    get:
      summary: "Concept opvragen"
      description: "Endpoint voor het opvragen van een enkel concept met alle informatie"
      parameters:
      - $ref: "#/components/parameters/ConceptUri"
      - $ref: "#/components/parameters/ResourceDocUri"
      - $ref: "#/components/parameters/GeldigOp"
      responses:
        "200":
          $ref: "#/components/responses/Concept"
  /concepten:
    get:
      summary: "Concepten opvragen"
      description: "Endpoint voor het opvragen van concepten"
      parameters:
      - $ref: "#/components/parameters/ConceptUri"
      - $ref: "#/components/parameters/NotInConceptschema"
      - $ref: "#/components/parameters/AndNotInConceptschema"
      - $ref: "#/components/parameters/ConceptenInConceptschemaUri"
      - $ref: "#/components/parameters/GeldigOp"
      - $ref: "#/components/parameters/InclusiefBeeindigdeVersies"
      - $ref: "#/components/parameters/ZoekTerm"
      - $ref: "#/components/parameters/Page"
      - $ref: "#/components/parameters/PageSize"
      responses:
        "200":
          $ref: "#/components/responses/Concepten"
  /bron:
    get:
      summary: "Bron opvragen"
      description: "Endpoint voor het opvragen van één bron"
      parameters:
      - $ref: "#/components/parameters/BronUri"
      - $ref: "#/components/parameters/ResourceDocUri"
      responses:
        "200":
          $ref: "#/components/responses/Bron"
  /bronnen:
    get:
      summary: "Bronnen opvragen"
      description: "Endpoint voor het opvragen van bronnen"
      parameters:
      - $ref: "#/components/parameters/BronUri"
      - $ref: "#/components/parameters/GeldigOp"
      - $ref: "#/components/parameters/InclusiefBeeindigdeVersies"
      - $ref: "#/components/parameters/ZoekTerm"
      - $ref: "#/components/parameters/Page"
      - $ref: "#/components/parameters/PageSize"
      responses:
        "200":
          $ref: "#/components/responses/Bronnen"
  /waardelijst:
    get:
      summary: "Waardelijst opvragen"
      description: "Endpoint voor het opvragen van een enkele waardelijst met alle\
        \ informatie"
      parameters:
      - $ref: "#/components/parameters/WaardelijstUri"
      - $ref: "#/components/parameters/ResourceDocUri"
      responses:
        "200":
          $ref: "#/components/responses/Waardelijst"
  /waardelijsten:
    get:
      summary: "Waardelijsten opvragen"
      description: "Endpoint voor het opvragen van waardelijsten"
      parameters:
      - $ref: "#/components/parameters/WaardelijstUri"
      - $ref: "#/components/parameters/WaardelijstSet"
      - $ref: "#/components/parameters/WaardelijstVersieVan"
      - $ref: "#/components/parameters/HeeftVolgendeVersie"
      - $ref: "#/components/parameters/ZoekTerm"
      - $ref: "#/components/parameters/Eigenaar"
      - $ref: "#/components/parameters/GeldigOp"
      - $ref: "#/components/parameters/InclusiefBeeindigdeVersies"
      - $ref: "#/components/parameters/Page"
      - $ref: "#/components/parameters/PageSize"
      responses:
        "200":
          $ref: "#/components/responses/Waardelijsten"
  /informatieproduct:
    get:
      summary: "Informatieproduct opvragen"
      description: "Endpoint voor het opvragen van één enkel informatieproduct met\
        \ alle informatie"
      parameters:
      - $ref: "#/components/parameters/InformatieproductUri"
      - $ref: "#/components/parameters/ResourceDocUri"
      - $ref: "#/components/parameters/GeldigOp"
      responses:
        "200":
          $ref: "#/components/responses/InformatieProduct"
  /informatieproducten:
    get:
      summary: "Informatieproducten opvragen"
      description: "Endpoint voor het opvragen van informatieproducten. Let op, dit\
        \ endpoint is nog in BETA-stadium. Er kunnen nog breaking changes worden doorgevoerd."
      parameters:
      - $ref: "#/components/parameters/GeldigOp"
      - $ref: "#/components/parameters/InclusiefBeeindigdeVersies"
      - $ref: "#/components/parameters/ZoekTerm"
      - $ref: "#/components/parameters/Page"
      - $ref: "#/components/parameters/PageSize"
      responses:
        "200":
          $ref: "#/components/responses/InformatieProducten"
  /app-health:
    get:
      summary: "Health status van de Stelselcatalogus backend"
      description: "Endpoint voor het opvragen van de health status"
      responses:
        "200":
          $ref: "#/components/responses/AppHealth"
  /app-info:
    get:
      summary: "Applicatie-eigenschappen van de Stelselcatalogus backend"
      description: "Endpoint voor het opvragen van de applicatie-eigenschappen"
      responses:
        "200":
          $ref: "#/components/responses/AppInfo"
components:
  headers:
    ApiVersionHeader:
      description: "Versienummer van de API"
      schema:
        type: "string"
        example: "3.0.0"
    X-Pagination-Limit:
      description: "Aantal Objecten per pagina"
      schema:
        format: "int32"
        type: "integer"
    X-Pagination-Page:
      description: "Nummer van de huidige pagina (paginanummering start bij 1)"
      schema:
        format: "int32"
        type: "integer"
  schemas:
    PageInfo:
      type: "object"
      required:
      - "size"
      - "number"
      properties:
        size:
          format: "int32"
          type: "integer"
          example: 10
        number:
          format: "int32"
          type: "integer"
          example: 1
    Links:
      type: "object"
      required:
      - "next"
      - "prev"
      - "self"
      properties:
        next:
          type: "object"
          required:
          - "href"
          description: "Absolute link naar volgende pagina (niet aanwezig als er geen\
            \ volgende pagina is)"
          properties:
            href:
              nullable: true
              description: "URL van de link"
              format: "uri"
              type: "string"
              example: "https://service.omgevingswet.overheid.nl/publiek/catalogus/api/opvragen/v3/concepten?page=3"
        prev:
          type: "object"
          required:
          - "href"
          description: "Absolute link naar vorige pagina (niet aanwezig als er geen\
            \ vorige pagina is)"
          properties:
            href:
              nullable: true
              description: "URL van de link"
              format: "uri"
              type: "string"
              example: "https://service.omgevingswet.overheid.nl/publiek/catalogus/api/opvragen/v3/concepten?page=1"
        self:
          type: "object"
          required:
          - "href"
          description: "Absolute link naar huidige pagina"
          properties:
            href:
              description: "URL van de link"
              format: "uri"
              type: "string"
              example: "https://service.omgevingswet.overheid.nl/publiek/catalogus/api/opvragen/v3/concepten?page=2"
    ConceptschemaBasic:
      nullable: true
      type: "object"
      required:
      - "uri"
      - "naam"
      properties:
        uri:
          description: "Unieke identificatie van het Conceptschema"
          type: "string"
          example: "http://stelselcatalogus.omgevingswet.overheid.nl/id/conceptscheme/Stelselcatalogus"
        naam:
          description: "rdfs:label"
          type: "string"
          example: "Stelselcatalogus"
    Conceptschema:
      nullable: true
      type: "object"
      required:
      - "uri"
      - "naam"
      - "uitleg"
      - "eigenaar"
      - "begindatumGeldigheid"
      - "einddatumGeldigheid"
      - "metadata"
      properties:
        uri:
          description: "Unieke identificatie van het Conceptschema"
          type: "string"
          example: "http://stelselcatalogus.omgevingswet.overheid.nl/id/conceptscheme/Stelselcatalogus"
        naam:
          description: "rdfs:label"
          type: "string"
          example: "Stelselcatalogus"
        uitleg:
          nullable: true
          description: "rdfs:comment"
          type: "string"
          example: "Korte uitleg waarom dit conceptschema tot stand is gekomen."
        eigenaar:
          type: "string"
          nullable: true
          example: "https://standaarden.overheid.nl/owms/terms/Geonovum"
        begindatumGeldigheid:
          type: "string"
          pattern: "^(\\d{4}-[01]\\d-[0-3]\\d)$"
          example: "2020-04-17"
        einddatumGeldigheid:
          nullable: true
          type: "string"
          pattern: "^(\\d{4}-[01]\\d-[0-3]\\d)$"
          example: "2020-04-27"
        metadata:
          nullable: true
          type: "string"
          example: "http://stelselcatalogus.omgevingswet.overheid.nl/doc/2018041200000000/conceptscheme/Stelselcatalogus"
    ConceptRelated:
      type: "object"
      required:
      - "uri"
      properties:
        uri:
          type: "string"
          example: "http://stelselcatalogus.omgevingswet.overheid.nl/programming/id/concept/API"
        naam:
          type: "string"
          example: "Application programming interface"
        conceptschemaUri:
          type: "string"
    ConceptBasic:
      type: "object"
      required:
      - "uri"
      - "naam"
      - "term"
      - "definitie"
      - "conceptschema"
      - "metadata"
      - "eigenaar"
      - "trefwoorden"
      properties:
        uri:
          type: "string"
          example: "http://stelselcatalogus.omgevingswet.overheid.nl/programming/id/concept/API"
        naam:
          type: "string"
          example: "Application programming interface"
        term:
          type: "string"
          example: "Application programming interface"
        definitie:
          nullable: true
          type: "string"
          example: "Een API (Application Programming Interface) is een software-interface\
            \ die het mogelijk maakt dat twee applicaties met elkaar kunnen communiceren."
        conceptschema:
          $ref: "#/components/schemas/ConceptschemaBasic"
        metadata:
          nullable: true
          type: "string"
          example: "http://stelselcatalogus.omgevingswet.overheid.nl/programming/doc/2018041200000000/concept/API"
        eigenaar:
          nullable: true
          type: "string"
          example: "http://standaarden.overheid.nl/owms/terms/Rijkswaterstaat"
        trefwoorden:
          nullable: true
          type: "array"
          description: "Trefwoorden"
          items:
            type: "string"
          example:
          - "uitbouwen"
          - "aanbouwen"
          - "garage"
        begindatumGeldigheid:
          nullable: true
          type: "string"
          pattern: "^(\\d{4}-[01]\\d-[0-3]\\d)$"
          example: "2023-04-17"
        deprecated:
          nullable: true
          type: "boolean"
    Concept:
      type: "object"
      required:
      - "uri"
      - "type"
      - "naam"
      - "term"
      - "uitleg"
      - "definitie"
      - "trefwoorden"
      - "eigenaar"
      - "conceptschema"
      - "conceptschema_uri"
      - "toelichtingen"
      - "rationales"
      - "verbeeldingen"
      - "codes"
      - "begindatumGeldigheid"
      - "einddatumGeldigheid"
      - "verborgenZoektermen"
      - "synoniemen"
      - "bronnen"
      - "heeftBetrekkingOp"
      - "isOnderdeelVan"
      - "bestaatUit"
      - "isSpecialisatieVan"
      - "isGeneralisatieVan"
      - "isHetzelfdeAls"
      - "isOngeveerHetzelfdeAls"
      - "zieOok"
      - "isBrederDan"
      - "isEngerDan"
      - "isGerelateerdAan"
      - "isHarmonisatieVan"
      - "metadata"
      - "weergaveAfbeelding"
      - "weergaveRegel"
      properties:
        uri:
          type: "string"
          example: "http://stelselcatalogus.omgevingswet.overheid.nl/programming/id/concept/API"
        type:
          type: "string"
          example: "http://www.w3.org/2004/02/skos/core#Concept"
        naam:
          type: "string"
          example: "Application programming interface"
        term:
          type: "string"
          example: "Application programming interface"
        uitleg:
          nullable: true
          type: "string"
          description: "Uitleg over de definitie in 'begrijpelijke' taal."
          example: "Je zou kunnen zeggen dat een API de boodschapper is die een verzoek\
            \ indient bij een provider en vervolgens het antwoord terugkoppelt naar\
            \ jou."
        definitie:
          nullable: true
          type: "string"
          example: "Een API (Application Programming Interface) is een software-interface\
            \ die het mogelijk maakt dat twee applicaties met elkaar kunnen communiceren."
        trefwoorden:
          nullable: true
          type: "array"
          description: "Trefwoorden"
          items:
            type: "string"
          example:
          - "uitbouwen"
          - "aanbouwen"
          - "garage"
        eigenaar:
          nullable: true
          type: "string"
          example: "https://standaarden.overheid.nl/owms/terms/Geonovum"
        conceptschema_uri:
          type: "string"
        conceptschema:
          $ref: "#/components/schemas/Conceptschema"
        toelichtingen:
          nullable: true
          type: "array"
          description: "Array met aanvullende toelichtingen op de definitie indien\
            \ gewenst."
          items:
            type: "string"
          example:
          - "API's kunnen zowel in REST als in SOAP vorm voorkomen."
        rationales:
          nullable: true
          type: "array"
          description: "Waarom is er voor deze definitie gekozen?"
          items:
            type: "string"
          example:
          - "Definitie is in samenspraak met een grote groep mensen tot stand gekomen."
        verbeeldingen:
          nullable: true
          type: "array"
          description: "Verwijzing middels een url naar een afbeelding."
          items:
            type: "string"
          example:
          - "https://d1.awsstatic.com/serverless/New-API-GW-Diagram.c9fc9835d2a9aa00ef90d0ddc4c6402a2536de0d.png"
        codes:
          nullable: true
          type: "array"
          description: "Codes met betrekking tot het concept."
          items:
            type: "string"
          example:
          - 303.4833
        begindatumGeldigheid:
          type: "string"
          pattern: "^(\\d{4}-[01]\\d-[0-3]\\d)$"
          example: "2020-04-17"
        einddatumGeldigheid:
          nullable: true
          type: "string"
          pattern: "^(\\d{4}-[01]\\d-[0-3]\\d)$"
          example: "2020-04-27"
        verborgenZoektermen:
          nullable: true
          type: "array"
          items:
            type: "string"
          example:
          - "API"
          - "REST"
          - "SOAP"
        synoniemen:
          nullable: true
          type: "array"
          description: "Array met woorden die synoniem zijn aan het concept"
          items:
            type: "string"
          example:
          - "Application Programming Interface"
          - "Digitaal informatie uitwisselingskanaal"
        bronnen:
          nullable: true
          type: "array"
          description: "Array met verwijzingen middels url's naar de bronnen"
          items:
            $ref: "#/components/schemas/Bron"
        heeftBetrekkingOp:
          nullable: true
          type: "array"
          description: "Relatie naar andere concepten (skos:semanticRelation)"
          items:
            $ref: "#/components/schemas/ConceptRelated"
        isOnderdeelVan:
          nullable: true
          type: "array"
          description: "Relatie naar andere concepten (skosthes:broaderPartitive)"
          items:
            $ref: "#/components/schemas/ConceptRelated"
        bestaatUit:
          nullable: true
          type: "array"
          description: "Relatie naar andere concepten (skosthes:narrowerPartitive)"
          items:
            $ref: "#/components/schemas/ConceptRelated"
        isSpecialisatieVan:
          nullable: true
          type: "array"
          description: "Relatie naar andere concepten (skosthes:broaderGeneric)"
          items:
            $ref: "#/components/schemas/ConceptRelated"
        isGeneralisatieVan:
          nullable: true
          type: "array"
          description: "Relatie naar andere concepten (skosthes:narrowerGeneric)"
          items:
            $ref: "#/components/schemas/ConceptRelated"
        isHetzelfdeAls:
          nullable: true
          type: "array"
          description: "Relatie naar andere concepten (skos:exactMatch)"
          items:
            $ref: "#/components/schemas/ConceptRelated"
        isOngeveerHetzelfdeAls:
          nullable: true
          type: "array"
          description: "Relatie naar andere concepten (skos:closeMatch)"
          items:
            $ref: "#/components/schemas/ConceptRelated"
        zieOok:
          nullable: true
          type: "array"
          description: "Relatie naar andere concepten (skos:relatedMatch)"
          items:
            $ref: "#/components/schemas/ConceptRelated"
        isBrederDan:
          nullable: true
          type: "array"
          description: "Relatie naar andere concepten (skos:broadMatch)"
          items:
            $ref: "#/components/schemas/ConceptRelated"
        isEngerDan:
          nullable: true
          type: "array"
          description: "Relatie naar andere concepten (skos:narrowMatch)"
          items:
            $ref: "#/components/schemas/ConceptRelated"
        isGerelateerdAan:
          nullable: true
          description: "Relatie naar andere concepten (skos:related)"
          type: "array"
          items:
            $ref: "#/components/schemas/ConceptRelated"
        isHarmonisatieVan:
          nullable: true
          type: "array"
          description: "Relatie naar andere concepten (skos:mappingRelation)"
          items:
            $ref: "#/components/schemas/ConceptRelated"
        metadata:
          nullable: true
          type: "string"
          example: "http://stelselcatalogus.omgevingswet.overheid.nl/programming/doc/2018041200000000/concept/API"
        weergaveAfbeelding:
          nullable: true
          type: "string"
        weergaveRegel:
          nullable: true
          type: "string"
    Bron:
      type: "object"
      required:
      - "uri"
      - "type"
      - "titel"
      - "webpagina"
      - "begindatumGeldigheid"
      - "einddatumGeldigheid"
      - "eigenaar"
      - "metadata"
      properties:
        uri:
          type: "string"
          example: "http://stelselcatalogus.omgevingswet.overheid.nl/id/bibliograficresouce/restfull-programming"
        titel:
          type: "string"
          example: "Restfull programming"
        webpagina:
          type: "string"
          example: "https://en.wikipedia.org/wiki/Representational_state_transfer"
          nullable: true
        resource:
          type: "string"
          example: "http://data.example.org/Restfull_programming"
          nullable: true
        type:
          type: "string"
          example: "http://purl.org/dc/terms/BibliographicResource"
        begindatumGeldigheid:
          type: "string"
          pattern: "^(\\d{4}-[01]\\d-[0-3]\\d)$"
          example: "2020-04-17"
        einddatumGeldigheid:
          nullable: true
          type: "string"
          pattern: "^(\\d{4}-[01]\\d-[0-3]\\d)$"
          example: "2020-04-27"
        eigenaar:
          nullable: true
          type: "string"
          example: "https://standaarden.overheid.nl/owms/terms/Geonovum"
        metadata:
          nullable: true
          type: "string"
          example: "http://stelselcatalogus.acc.omgevingswet.overheid.nl/doc/20180412000000/dataset/OverbruggingsfunctieRuimtelijkeOrdening"
    WaardelijstVersie:
      type: "object"
      required:
      - "uri"
      - "versie"
      properties:
        uri:
          type: "string"
          example: "http://stelselcatalogus.omgevingswet.overheid.nl/id/waardelijst/SoftwareEngineering_1.0.3"
        versie:
          type: "string"
          example: "1.0.3"
    WaardelijstBasic:
      type: "object"
      required:
      - "uri"
      - "titel"
      - "beschrijving"
      - "versie"
      - "versieVan"
      - "eigenaar"
      - "set"
      properties:
        uri:
          type: "string"
          example: "http://stelselcatalogus.omgevingswet.overheid.nl/id/waardelijst/SoftwareEngineering_1.0.3"
        titel:
          type: "string"
          example: "Software engineering"
        beschrijving:
          nullable: true
          type: "string"
          example: "Waardelijst welke concepten bevat die betrekking hebben op software\
            \ engineering"
        versie:
          type: "string"
          example: "1.0.3"
        versieVan:
          type: "string"
          example: "https://identifier.overheid.nl/tooi/set/rwc_gemeenten_compleet"
        eigenaar:
          nullable: true
          type: "string"
          example: "https://standaarden.overheid.nl/owms/terms/Geonovum"
        set:
          type: "string"
          nullable: true
          example: "IMOW"
    Waardelijst:
      type: "object"
      required:
      - "uri"
      - "naam"
      - "titel"
      - "type"
      - "beschrijving"
      - "websites"
      - "versie"
      - "versienotities"
      - "versieVan"
      - "versies"
      - "eigenaar"
      - "metadata"
      - "waarden"
      - "set"
      properties:
        uri:
          type: "string"
          example: "http://stelselcatalogus.omgevingswet.overheid.nl/id/waardelijst/SoftwareEngineering_1.0.3"
        naam:
          nullable: true
          type: "string"
          example: "Software engineering"
        titel:
          type: "string"
          example: "Software engineering"
        type:
          type: "string"
          example: "http://stelselcatalogus.omgevingswet.overheid.nl/def/catalogus#WaardelijstAsset"
        beschrijving:
          nullable: true
          type: "string"
          example: "Waardelijst welke concepten bevat die betrekking hebben op software\
            \ engineering"
        websites:
          nullable: true
          type: "array"
          items:
            type: "string"
            example:
            - "https://martinfowler.com/"
        versie:
          type: "string"
          example: "1.0.3"
        versienotities:
          nullable: true
          type: "string"
          example: "Dit veld bevat informatie specifiek over deze versie"
        versieVan:
          type: "string"
          example: "http://stelselcatalogus.omgevingswet.overheid.nl/id/waardelijst/SoftwareEngineering"
        versies:
          nullable: true
          type: "array"
          items:
            $ref: "#/components/schemas/WaardelijstVersie"
        eigenaar:
          type: "string"
          nullable: true
          example: "https://standaarden.overheid.nl/owms/terms/Geonovum"
        metadata:
          nullable: true
          type: "string"
          example: "http://stelselcatalogus.omgevingswet.overheid.nl/doc/20200719220320/waardelijst/SoftwareEngineering_1.0.3"
        waarden:
          nullable: true
          type: "array"
          items:
            $ref: "#/components/schemas/ConceptBasic"
        set:
          type: "string"
          nullable: true
          example: "IMOW"
    InformatieProduct:
      type: "object"
      properties:
        uri:
          type: "string"
          example: "http://standaarden.omgevingswet.overheid.nl/id/informatieproduct/register-externe-veiligheid"
        naam:
          type: "string"
          example: "Register Externe Veiligheid"
        omschrijving:
          type: "string"
          example: "Het Register Externe Veiligheid (REV) is een database waarin gegevens\
            \ over milieubelastende- en risicovolle activiteiten in de leefomgeving\
            \ worden verzameld."
        versie:
          type: "string"
        doelgroepen:
          type: "array"
          items:
            $ref: "#/components/schemas/BegripRelatie"
        leverancier:
          $ref: "#/components/schemas/BegripRelatie"
        bronhouders:
          type: "array"
          items:
            $ref: "#/components/schemas/BegripRelatie"
        datasets:
          type: "array"
          items:
            $ref: "#/components/schemas/Dataset"
    BegripRelatie:
      type: "object"
      nullable: true
      required:
      - "uri"
      - "naam"
      properties:
        uri:
          nullable: false
          type: "string"
          example: "http://standaarden.omgevingswet.overheid.nl/id/leverancier/00000001802327497000"
        naam:
          nullable: false
          type: "string"
          example: "Dienst voor het kadaster en de openbare registers"
    Omgevingsaspect:
      type: "object"
      properties:
        uri:
          nullable: true
          type: "string"
        naam:
          nullable: true
          type: "string"
        waardelijstUri:
          nullable: true
          type: "string"
    Dataset:
      type: "object"
      properties:
        uri:
          type: "string"
        naam:
          type: "string"
        distributies:
          type: "array"
          items:
            $ref: "#/components/schemas/Distributie"
        omgevingsaspecten:
          type: "array"
          items:
            $ref: "#/components/schemas/Omgevingsaspect"
    Distributie:
      type: "object"
      properties:
        uri:
          type: "string"
          example: "http://standaarden.omgevingswet.overheid.nl/register-externe-veiligheid/dataset/Externe%20Veiligheid/id/distributie/Open%20API%20specificatie%20REV-versie%204"
        naam:
          type: "string"
          example: "Open API specificatie REV-versie 4\""
        dienstbeschrijving:
          type: "string"
          example: "Ontsluiting van het Register Externe Veilgheid via de API in het\
            \ kader van het Digitaal Stelsel Omgevingswet (DSO)"
        presentatie:
          type: "object"
          nullable: true
          required:
          - "uri"
          - "naam"
          - "definitie"
          properties:
            uri:
              type: "string"
            naam:
              type: "string"
            definitie:
              nullable: true
              type: "string"
        uitwisselstandaard:
          type: "object"
          nullable: true
          required:
          - "uri"
          - "naam"
          - "definitie"
          properties:
            uri:
              type: "string"
            naam:
              type: "string"
            definitie:
              nullable: true
              type: "string"
        zoomMinimum:
          type: "object"
          nullable: true
          required:
          - "uri"
          - "naam"
          - "definitie"
          properties:
            uri:
              type: "string"
              example: "http://standaarden.omgevingswet.overheid.nl/zoomniveau/id/concept/0"
            naam:
              type: "string"
              example: "zoomniveau-0"
            definitie:
              nullable: true
              type: "string"
              example: "Land overzicht (Resolutie 3440,640 m/pixel)"
        zoomMaximum:
          type: "object"
          nullable: true
          required:
          - "uri"
          - "naam"
          - "definitie"
          properties:
            uri:
              type: "string"
              example: "http://standaarden.omgevingswet.overheid.nl/zoomniveau/id/concept/0"
            naam:
              type: "string"
              example: "zoomniveau-0"
            definitie:
              nullable: true
              type: "string"
              example: "Land overzicht (Resolutie 3440,640 m/pixel)"
        afnamepunt:
          type: "string"
          example: "https://rev-portaal.nl/api/rev/v4/LocatieEVActiviteiten"
        profiel:
          type: "object"
          nullable: true
          required:
          - "uri"
          - "naam"
          - "definitie"
          properties:
            uri:
              type: "string"
              example: "http://standaarden.omgevingswet.overheid.nl/api-profielen/id/concept/orienteren-v1"
            naam:
              type: "string"
              example: "Informatieproduct oriënteren V1"
            definitie:
              nullable: true
              type: "string"
              example: "API-profiel t.b.v. informatieproducten bij het oriënteren\
                \ van regels (op de kaart)"
  parameters:
    ConceptschemaUri:
      description: "uri van het op te vragen conceptschema"
      in: "query"
      name: "uri"
      required: false
      allowEmptyValue: false
      schema:
        type: "string"
        example: "http://stelselcatalogus.omgevingswet.overheid.nl/id/conceptscheme/Stelselcatalogus"
    ConceptenInConceptschemaUri:
      description: "uri van het conceptschema waar de te filteren concepten onderdeel\
        \ van uit maken"
      in: "query"
      name: "conceptschema"
      required: false
      allowEmptyValue: false
      schema:
        type: "string"
        example: "http://stelselcatalogus.omgevingswet.overheid.nl/id/conceptscheme/Stelselcatalogus"
    ConceptUri:
      description: "uri van het op te vragen concept"
      in: "query"
      name: "uri"
      required: false
      allowEmptyValue: false
      schema:
        type: "string"
        example: "http://stelselcatalogus.omgevingswet.overheid.nl/stelselcatalogus/id/concept/API"
    ResourceDocUri:
      description: "doc uri van de op te vragen resource"
      in: "query"
      name: "doc"
      required: false
      allowEmptyValue: false
      schema:
        type: "string"
        example: "http://stelselcatalogus.omgevingswet.overheid.nl/stelselcatalogus/doc/20200101000000/concept/API"
    NotInConceptschema:
      description: "uri's van de conceptschema's die we willen uitsluiten van de response"
      in: "query"
      name: "notIn"
      required: false
      allowEmptyValue: false
      schema:
        type: "string"
        example: "http://stelselcatalogus.omgevingswet.overheid.nl/id/conceptscheme/Stelselcatalogus"
    AndNotInConceptschema:
      description: "uri's van de conceptschema's die we willen uitsluiten van de response"
      in: "query"
      name: "andNotIn"
      required: false
      allowEmptyValue: false
      schema:
        type: "string"
        example: "http://stelselcatalogus.omgevingswet.overheid.nl/id/conceptscheme/Stelselcatalogus"
    BronUri:
      description: "uri van de op te vragen bron"
      in: "query"
      name: "uri"
      required: false
      allowEmptyValue: false
      schema:
        type: "string"
        example: "http://stelselcatalogus.omgevingswet.overheid.nl/id/bibliograficresouce/Omgevingswet"
    WaardelijstUri:
      description: "uri van de op te vragen waardelijst"
      in: "query"
      name: "uri"
      required: false
      allowEmptyValue: false
      schema:
        type: "string"
        example: "http://stelselcatalogus.omgevingswet.overheid.nl/id/waardelijst/ActiviteitenGroep_1.0.0"
    WaardelijstSet:
      description: "Set waartoe de op te vragen waardelijst behoort"
      in: "query"
      name: "set"
      required: false
      allowEmptyValue: false
      schema:
        type: "string"
        example: "IMOW"
    WaardelijstVersieVan:
      description: "VersieVan bevat de waardelijst uri waartoe de waardelijstversie\
        \ behoort"
      in: "query"
      name: "versieVan"
      required: false
      allowEmptyValue: true
      schema:
        type: "string"
        example: "https://identifier.overheid.nl/tooi/set/rwc_gemeenten_compleet"
    InformatieproductUri:
      description: "uri van het op te vragen informatieproduct"
      in: "query"
      name: "uri"
      required: false
      allowEmptyValue: false
      schema:
        type: "string"
        example: "http://stelselcatalogus.omgevingswet.overheid.nl/id/dataset/OverbruggingsfunctieRuimtelijkeOrdening"
    HeeftVolgendeVersie:
      description: "geef false mee om alleen de laatste versie terug te krijgen"
      in: "query"
      name: "heeftVolgendeVersie"
      required: false
      allowEmptyValue: false
      schema:
        type: "boolean"
    GeldigOp:
      description: "Filter op het moment waarop de resource geldig is binnen de Stelselcatalogus\
        \ op basis van de prov:Entity"
      in: "query"
      name: "geldigOp"
      required: false
      allowEmptyValue: false
      schema:
        type: "string"
        format: "YYYY-MM-dd"
        example: "2020-08-23"
    InclusiefBeeindigdeVersies:
      description: "Parameter om ook resources die beeindigd zijn te kunnen ophalen.\
        \ Default worden beeindigde resources niet terug gegeven."
      in: "query"
      name: "inclusiefBeeindigdeVersies"
      required: false
      allowEmptyValue: false
      schema:
        type: "boolean"
        default: false
        example: "true"
    Eigenaar:
      description: "Filter op de eigenaar van een concept"
      in: "query"
      name: "eigenaar"
      required: false
      allowEmptyValue: false
      schema:
        type: "string"
        format: "url"
        example: "https://standaarden.overheid.nl/owms/terms/Geonovum"
    Expand:
      description: "Toon embedded gegevens van de resource, alleen te gebruiken in\
        \ combinatie met _expandScope"
      in: "query"
      name: "_expand"
      required: false
      schema:
        type: "boolean"
        default: false
    Page:
      description: "Paginanummer voor paginering. Deze is gelimiteerd zodat het totaal\
        \ aantal op te vragen resultaten niet hoger is dan 10000. Gebruik het `_links.next.href`\
        \ object om te navigeren."
      in: "query"
      name: "page"
      required: false
      schema:
        default: 1
        minimum: 1
        type: "integer"
    PageSize:
      description: "Aantal resultaten per pagina"
      in: "query"
      name: "pageSize"
      required: false
      schema:
        default: 10
        type: "integer"
    ZoekTerm:
      description: "zoekterm voor het zoeken op naam van een concept, waardelijst\
        \ etc."
      in: "query"
      name: "zoekTerm"
      required: false
      allowEmptyValue: false
      schema:
        type: "string"
        example: "Afval"
    Omgevingsaspect:
      description: "filter voor het zoeken op een omgevingsaspect"
      in: "query"
      name: "omgevingsaspect"
      required: false
      allowEmptyValue: false
      schema:
        type: "string"
        example: "Geluid"
    GeleverdDoor:
      description: "filter voor het zoeken op naam van een leverancier"
      in: "query"
      name: "geleverdDoor"
      required: false
      allowEmptyValue: false
      schema:
        type: "string"
    GepubliceerdDoor:
      description: "filter voor het zoeken op naam van een bronhouder"
      in: "query"
      name: "gepubliceerdDoor"
      required: false
      allowEmptyValue: false
      schema:
        type: "string"
  responses:
    Concept:
      description: "OK"
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Concept"
    Concepten:
      description: "OK"
      headers:
        X-Pagination-Limit:
          $ref: "#/components/headers/X-Pagination-Limit"
        X-Pagination-Page:
          $ref: "#/components/headers/X-Pagination-Page"
        API-version:
          $ref: "#/components/headers/ApiVersionHeader"
      content:
        application/hal+json:
          schema:
            type: "object"
            required:
            - "_embedded"
            properties:
              _links:
                $ref: "#/components/schemas/Links"
              _embedded:
                type: "object"
                required:
                - "concepten"
                properties:
                  concepten:
                    type: "array"
                    items:
                      $ref: "#/components/schemas/ConceptBasic"
              page:
                $ref: "#/components/schemas/PageInfo"
    Conceptschema:
      description: "OK"
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Conceptschema"
    Conceptschemas:
      description: "OK"
      headers:
        X-Pagination-Limit:
          $ref: "#/components/headers/X-Pagination-Limit"
        X-Pagination-Page:
          $ref: "#/components/headers/X-Pagination-Page"
        API-version:
          $ref: "#/components/headers/ApiVersionHeader"
      content:
        application/hal+json:
          schema:
            type: "object"
            required:
            - "_embedded"
            properties:
              _links:
                $ref: "#/components/schemas/Links"
              _embedded:
                type: "object"
                required:
                - "conceptschemas"
                properties:
                  conceptschemas:
                    type: "array"
                    items:
                      $ref: "#/components/schemas/Conceptschema"
              page:
                $ref: "#/components/schemas/PageInfo"
    Bron:
      description: "OK"
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Bron"
    Bronnen:
      description: "OK"
      headers:
        X-Pagination-Limit:
          $ref: "#/components/headers/X-Pagination-Limit"
        X-Pagination-Page:
          $ref: "#/components/headers/X-Pagination-Page"
        API-version:
          $ref: "#/components/headers/ApiVersionHeader"
      content:
        application/hal+json:
          schema:
            type: "object"
            required:
            - "_embedded"
            properties:
              _links:
                $ref: "#/components/schemas/Links"
              _embedded:
                type: "object"
                required:
                - "bronnen"
                properties:
                  bronnen:
                    type: "array"
                    items:
                      $ref: "#/components/schemas/Bron"
              page:
                $ref: "#/components/schemas/PageInfo"
    Waardelijst:
      description: "OK"
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Waardelijst"
    Waardelijsten:
      description: "OK"
      headers:
        X-Pagination-Limit:
          $ref: "#/components/headers/X-Pagination-Limit"
        X-Pagination-Page:
          $ref: "#/components/headers/X-Pagination-Page"
        API-version:
          $ref: "#/components/headers/ApiVersionHeader"
      content:
        application/hal+json:
          schema:
            type: "object"
            required:
            - "_embedded"
            properties:
              _links:
                $ref: "#/components/schemas/Links"
              _embedded:
                type: "object"
                required:
                - "waardelijsten"
                properties:
                  waardelijsten:
                    type: "array"
                    items:
                      $ref: "#/components/schemas/WaardelijstBasic"
              page:
                $ref: "#/components/schemas/PageInfo"
    InformatieProduct:
      description: "OK"
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/InformatieProduct"
    InformatieProducten:
      description: "OK"
      headers:
        X-Pagination-Limit:
          $ref: "#/components/headers/X-Pagination-Limit"
        X-Pagination-Page:
          $ref: "#/components/headers/X-Pagination-Page"
        API-version:
          $ref: "#/components/headers/ApiVersionHeader"
      content:
        application/hal+json:
          schema:
            type: "object"
            required:
            - "_embedded"
            properties:
              _links:
                $ref: "#/components/schemas/Links"
              _embedded:
                type: "object"
                required:
                - "informatieproducten"
                properties:
                  informatieproducten:
                    type: "array"
                    items:
                      $ref: "#/components/schemas/InformatieProduct"
              page:
                $ref: "#/components/schemas/PageInfo"
    AppHealth:
      description: "Health status van de API"
      content:
        application/json:
          schema:
            type: "object"
            required:
            - "status"
            properties:
              status:
                type: "string"
                example: "UP"
    AppInfo:
      description: "Applicatie eigenschappen van de API"
      content:
        application/json:
          schema:
            type: "object"
            required:
            - "app-info"
            properties:
              app-info:
                $ref: "#/components/schemas/Info"
