components:
  parameters:
    _sort:
      description: Deze query-parameter accepteert één veld waarop gesorteerd moet
        worden. Door een minteken (“-”) voor de veldnaam te zetten wordt het veld
        in aflopende volgorde gesorteerd.
      in: query
      name: _sort
      required: false
      schema:
        default: urn
        enum:
        - -urn
        - urn
        - -omschrijving
        - omschrijving
        - -bestuursorgaanBestuurslaag
        - bestuursorgaanBestuurslaag
        - -bestuursorgaanOin
        - bestuursorgaanOin
        type: string
    ActiviteitUrn:
      description: De urn van de activiteit
      in: path
      name: urn
      required: true
      schema:
        $ref: '#/components/schemas/ActiviteitUrn'
    GekoppeldeActiviteitUrn:
      description: De urn van de gekoppelde activiteit
      in: path
      name: gekoppelde_activiteit_urn
      required: true
      schema:
        $ref: '#/components/schemas/ActiviteitUrn'
    LogischGerelateerdeWerkzaamheidUrn:
      description: De urn van de gekoppelde logisch gerelateerde werkzaamheid
      in: path
      name: logisch_gerelateerde_werkzaamheid_urn
      required: true
      schema:
        $ref: '#/components/schemas/WerkzaamheidUrn'
    WerkzaamheidUrn:
      description: De urn van de werkzaamheid
      in: path
      name: urn
      required: true
      schema:
        $ref: '#/components/schemas/WerkzaamheidUrn'
    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
    datumActief:
      description: Een datum waarop de beoogde werkzaamheid versie actief is. Voor
        koppelingen met activiteiten geldt dat ze op deze datum actief zijn. Indien
        geen datum wordt meegegeven, wordt de datum van vandaag gebruikt. Het formaat
        van de datum is dd-MM-yyyy.
      in: query
      name: datum
      schema:
        $ref: '#/components/schemas/Datum'
    datumRequired:
      description: Het request wordt uitgevoerd voor de versie van de resource die
        geldig is op deze datum. Het formaat van de datum is dd-MM-yyyy. Indien de
        resource geneste objecten bevat die geversioneerd zijn, zal op deze objecten
        dezelfde datum-filtering toegepast worden.
      in: query
      name: datum
      required: true
      schema:
        example: 01-01-2023
        pattern: ^\d{2}-\d{2}-\d{4}$
        type: string
    expand:
      description: Indien true, worden sub-resources genest teruggegeven als onderdeel
        van het antwoordbericht. De parameter _expandScope is in dit geval verplicht
        om aan te geven welke sub-resources het betreft.
      in: query
      name: _expand
      schema:
        type: boolean
    expandScope:
      description: Geeft aan welke geneste resources teruggegeven worden als onderdeel
        van het antwoordbericht. Alleen de logisch gerelateerde werkzaamheden kunnen
        als geneste resources worden teruggegeven. Heeft alleen effect als de parameter
        _expand de waarde true heeft.
      in: query
      name: _expandScope
      schema:
        enum:
        - logischeRelaties
        type: string
    page:
      description: De pagina die geretourneerd moet worden in een gepagineerde response.
        Wanneer er geen pagina nummer is opgegeven wordt de eerste pagina geretourneerd
      in: query
      name: page
      required: false
      schema:
        default: 1
        minimum: 1
        type: integer
    pageSizeEnum:
      description: Het gewenste aantal items per pagina in een gepagineerde response.
        Indien deze parameter niet ingevuld is worden er standaard 20 resultaten geretourneerd.
      in: query
      name: pageSize
      required: false
      schema:
        default: 20
        enum:
        - 10
        - 20
        - 50
        - 100
        - 200
        type: integer
    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
    "429":
      description: Te veel requests (binnen een bepaalde tijd)
    "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:
    Activiteit:
      properties:
        _links:
          description: Links naar gerelateerde activiteiten, regelbeheerobjecten en
            werkzaamheden.
          properties:
            bovenliggendeActiviteit:
              $ref: '#/components/schemas/HalLink'
            juridischeRelatiesNaar:
              $ref: '#/components/schemas/HalLinks'
            juridischeRelatiesVan:
              $ref: '#/components/schemas/HalLinks'
            onderliggendeActiviteiten:
              $ref: '#/components/schemas/HalLinks'
            self:
              $ref: '#/components/schemas/HalLink'
            werkzaamheden:
              $ref: '#/components/schemas/HalLinks'
          required:
          - self
        beginDatum:
          allOf:
          - $ref: '#/components/schemas/Datum'
          description: De datum vanaf wanneer de juridische eigenschappen geldig zijn.
            Het formaat van de datum is dd-MM-yyyy.
          type: string
        beginDatumToepasbaar:
          allOf:
          - $ref: '#/components/schemas/Datum'
          description: De datum vanaf wanneer de toepasbare eigenschappen geldig zijn.
            Het formaat van de datum is dd-MM-yyyy. Als de activiteit niet toepasbaar
            is gemaakt, wordt dit veld niet teruggegeven.
          type: string
        bestuursorgaan:
          allOf:
          - $ref: '#/components/schemas/OrganisatieMetBgCode'
          description: Bestuursorgaan van de activiteit.
        bevoegdGezag:
          allOf:
          - $ref: '#/components/schemas/OrganisatieMetOptioneelOin'
          description: Bevoegd gezag van de activiteit. Als de activiteit niet toepasbaar
            is gemaakt, wordt dit veld niet teruggegeven.
        eindDatum:
          allOf:
          - $ref: '#/components/schemas/Datum'
          description: De datum tot en met wanneer de juridische eigenschappen geldig
            zijn. Het formaat van de datum is dd-MM-yyyy.
          type: string
        eindDatumToepasbaar:
          allOf:
          - $ref: '#/components/schemas/Datum'
          description: De datum tot en met wanneer de toepasbare eigenschappen geldig
            zijn. Het formaat van de datum is dd-MM-yyyy. Als de activiteit niet toepasbaar
            is gemaakt, wordt dit veld niet teruggegeven.
          type: string
        locaties:
          description: Locaties waarop deze activiteit geldig is.
          items:
            $ref: '#/components/schemas/Locatie'
          type: array
        magneet:
          description: Is de activiteit een magneet activiteit? Als de activiteit
            niet toepasbaar is gemaakt, wordt dit veld niet teruggegeven.
          type: boolean
        omschrijving:
          description: Omschrijving van de activiteit.
          maxLength: 250
          minLength: 1
          type: string
        regelBeheerObjecten:
          description: Regelbeheerobjecten bij deze activiteit. Als de activiteit
            niet toepasbaar is gemaakt, wordt dit veld niet teruggegeven.
          items:
            $ref: '#/components/schemas/Regelbeheerobject'
          type: array
        toonbaar:
          description: Is de activiteit toonbaar? Als de activiteit niet toepasbaar
            is gemaakt, wordt dit veld niet teruggegeven.
          type: boolean
        typering:
          allOf:
          - $ref: '#/components/schemas/ActiviteitTypering'
          description: Typering van de activiteit. Als de activiteit niet toepasbaar
            is gemaakt, wordt dit veld niet teruggegeven.
          type: string
        urn:
          $ref: '#/components/schemas/ActiviteitUrn'
        verfijnbaar:
          deprecated: true
          description: Is de activiteit verfijnbaar? Als de activiteit niet toepasbaar
            is gemaakt, wordt dit veld niet teruggegeven. Deprecated omdat de verfijnbaar
            functionaliteit deprecated is.
          type: boolean
      required:
      - urn
      - omschrijving
      - bestuursorgaan
      - locaties
      - beginDatum
      - _links
    ActiviteitHALResponseList:
      properties:
        _embedded:
          properties:
            activiteiten:
              items:
                $ref: '#/components/schemas/Activiteit'
              minItems: 1
              type: array
          required:
          - activiteiten
        _links:
          $ref: '#/components/schemas/HalPaginationLinks'
        page:
          $ref: '#/components/schemas/Page'
      required:
      - _links
      - page
    ActiviteitKoppeling:
      properties:
        urn:
          $ref: '#/components/schemas/ActiviteitUrn'
      required:
      - urn
    ActiviteitKoppelingHALResponse:
      allOf:
      - $ref: '#/components/schemas/ActiviteitKoppeling'
      - properties:
          _links:
            properties:
              activiteit:
                allOf:
                - $ref: '#/components/schemas/HalLink'
                description: HAL link om de gekoppelde activiteit op te halen. N.B.
                  de link verwijst naar de activiteitversie die actief is op de meegegeven
                  datum (of vandaag als er geen datum is meegegeven) Als de activiteitversie
                  niet actief is op deze datum, resulteert de link in een 404 (NOT
                  FOUND) response.
              self:
                allOf:
                - $ref: '#/components/schemas/HalLink'
                description: HAL link naar deze koppeling.
            required:
            - self
            - activiteit
        required:
        - _links
    ActiviteitKoppelingHALResponseList:
      properties:
        _embedded:
          properties:
            activiteitKoppelingen:
              items:
                $ref: '#/components/schemas/ActiviteitKoppelingHALResponse'
              minItems: 1
              type: array
          required:
          - activiteitKoppelingen
        _links:
          $ref: '#/components/schemas/HalPaginationLinks'
        page:
          $ref: '#/components/schemas/Page'
      required:
      - _links
      - page
    ActiviteitTypering:
      description: Typering van de activiteit
      enum:
      - Water
      - Milieubelastende
      - Overige
      type: string
    ActiviteitUrn:
      description: Urn van de activiteit (In de urn mogen geen spaties voorkomen).
        Binnen de keten staat urn bekend als de imow-id.
      maxLength: 250
      minLength: 1
      type: string
    Bestuurslaag:
      description: Bestuurslaag van een Organisatie
      enum:
      - rijk
      - provincie
      - waterschap
      - gemeente
      type: string
    Datum:
      description: Datum in het formaat dd-MM-yyyy.
      example: 01-01-2023
      pattern: ^\d{2}-\d{2}-\d{4}$
      type: string
    GeoQuery:
      description: Filter op geografisch punt of vlak. Zie de [DSO API/URI strategie](https://iplo.nl/digitaal-stelsel/aansluiten/standaarden/api-en-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
    HalLink:
      description: HAL link
      properties:
        href:
          description: URI
          type: string
      required:
      - href
    HalLinks:
      description: Lijst van HAL links
      items:
        $ref: '#/components/schemas/HalLink'
      type: array
    HalPaginationLinks:
      description: Links om te navigeren door de paginering
      properties:
        first:
          allOf:
          - $ref: '#/components/schemas/HalLink'
          description: uri voor het opvragen van de eerste pagina van deze collectie
        last:
          allOf:
          - $ref: '#/components/schemas/HalLink'
          description: uri voor het opvragen van de laatste pagina van deze collectie
        next:
          allOf:
          - $ref: '#/components/schemas/HalLink'
          description: uri voor het opvragen van de volgende pagina van deze collectie
        prev:
          allOf:
          - $ref: '#/components/schemas/HalLink'
          description: uri voor het opvragen van de vorige pagina van deze collectie
        self:
          allOf:
          - $ref: '#/components/schemas/HalLink'
          description: uri voor het opvragen van de huidige pagina van deze collectie
      required:
      - self
      - first
      - last
    Locatie:
      properties:
        beginDatum:
          allOf:
          - $ref: '#/components/schemas/Datum'
          description: De datum vanaf wanneer de locatie verbonden is aan de activiteit.
            Het formaat van de datum is dd-MM-yyyy.
          type: string
        eindDatum:
          allOf:
          - $ref: '#/components/schemas/Datum'
          description: De datum tot en met wanneer de locatie verbonden is aan de
            activiteit. Het formaat van de datum is dd-MM-yyyy.
          type: string
        identificatie:
          description: Unieke imow identificatie van de locatie
          type: string
      required:
      - identificatie
      - beginDatum
    OrganisatieMetBgCode:
      allOf:
      - description: Organisatie
        properties:
          bestuurslaag:
            $ref: '#/components/schemas/Bestuurslaag'
          oin:
            description: OIN van de organisatie
            maxLength: 20
            minLength: 20
            type: string
        required:
        - oin
        - bestuurslaag
      - properties:
          organisatieCode:
            description: organisatieCode (CBS code, het numerieke deel van de BG code)
            type: string
          organisatieType:
            description: organisatieType (niet-numerieke deel van de BG code)
            type: string
    OrganisatieMetOptioneelOin:
      description: Organisatie
      properties:
        bestuurslaag:
          $ref: '#/components/schemas/Bestuurslaag'
        oin:
          maxLength: 20
          minLength: 20
          type: string
      required:
      - bestuurslaag
    Page:
      description: Info voor paginering.
      properties:
        number:
          description: het huidige paginanummer
          minimum: 1
          type: integer
        size:
          deprecated: true
          description: 'het aantal items op de huidige pagina. Let op: in een volgende
            versie wordt dit de gevraagde paginagrootte.'
          minimum: 0
          type: integer
        totalElements:
          description: het totaal aantal items in deze collectie
          minimum: 0
          type: integer
        totalPages:
          description: het totaal aantal pagina's in deze collectie
          minimum: 0
          type: integer
      required:
      - size
      - totalElements
      - totalPages
      - number
      type: object
    Regelbeheerobject:
      properties:
        functioneleStructuurRef:
          description: De functioneleStructuurRef van het regelbeheerobject.
          type: string
        toestemming:
          $ref: '#/components/schemas/ToestemmingResponse'
        typering:
          $ref: '#/components/schemas/RegelbeheerobjectType'
      required:
      - typering
      - functioneleStructuurRef
    RegelbeheerobjectType:
      description: Type regelbeheerobject
      enum:
      - Conclusie
      - Indieningsvereisten
      - Maatregelen
      type: string
    ToestemmingResponse:
      properties:
        code:
          description: Code van de toestemming
          enum:
          - Vergunning
          - Melding
          - Informatie
          - InformatieOngewoonVoorval
          - AanvraagMaatwerkvoorschrift
          - MeldingGelijkwaardigeMaatregel
          - AanvraagToestemmingGelijkwaardigeMaatregel
          type: string
        waarde:
          description: Waarde van het toestemmingstype.
          type: string
      required:
      - code
      - waarde
    Trefwoord:
      description: Trefwoord van de werkzaamheid.
      maxLength: 250
      minLength: 1
      type: string
    WerkzaamheidBeherenResponse:
      allOf:
      - $ref: '#/components/schemas/WerkzaamheidResponse'
      - properties:
          _embedded:
            properties:
              logischeRelaties:
                description: De werkzaamheden waarnaar een logische relatie bestaat.
                items:
                  $ref: '#/components/schemas/WerkzaamheidHALResponse'
                type: array
            required:
            - logischeRelaties
          _links:
            deprecated: true
            properties:
              activiteitKoppelingen:
                allOf:
                - $ref: '#/components/schemas/HalLink'
                description: HAL link om de activiteit koppelingen op te halen.
              logischeRelaties:
                allOf:
                - $ref: '#/components/schemas/HalLink'
                description: HAL link om de logische relaties naar andere werkzaamheden
                  op te halen.
              self:
                $ref: '#/components/schemas/HalLink'
            required:
            - self
            - activiteitKoppelingen
            - logischeRelaties
        required:
        - _links
    WerkzaamheidCreateRequest:
      allOf:
      - $ref: '#/components/schemas/WerkzaamheidUpdateRequest'
      - properties:
          urn:
            $ref: '#/components/schemas/WerkzaamheidUrn'
        required:
        - urn
        type: object
    WerkzaamheidHALResponse:
      allOf:
      - $ref: '#/components/schemas/WerkzaamheidResponse'
      - properties:
          _embedded:
            properties:
              logischeRelaties:
                description: De werkzaamheden waarnaar een logische relatie bestaat.
                items:
                  $ref: '#/components/schemas/WerkzaamheidHALResponse'
                type: array
            required:
            - logischeRelaties
          _links:
            properties:
              activiteitKoppelingen:
                allOf:
                - $ref: '#/components/schemas/HalLink'
                description: HAL link om de activiteit koppelingen op te halen.
              logischeRelaties:
                allOf:
                - $ref: '#/components/schemas/HalLink'
                description: HAL link om de logische relaties naar andere werkzaamheden
                  op te halen.
              self:
                $ref: '#/components/schemas/HalLink'
            required:
            - self
            - activiteitKoppelingen
            - logischeRelaties
        required:
        - _links
    WerkzaamheidHALResponseList:
      properties:
        _embedded:
          properties:
            werkzaamheden:
              items:
                $ref: '#/components/schemas/WerkzaamheidHALResponse'
              minItems: 1
              type: array
          required:
          - werkzaamheden
        _links:
          $ref: '#/components/schemas/HalPaginationLinks'
        page:
          $ref: '#/components/schemas/Page'
      required:
      - _links
      - page
    WerkzaamheidRelatie:
      properties:
        urn:
          allOf:
          - $ref: '#/components/schemas/WerkzaamheidUrn'
          description: Urn van de gerelateerde werkzaamheid (In de urn mogen geen
            spaties voorkomen)
          type: string
      required:
      - urn
    WerkzaamheidRelatieHALResponse:
      allOf:
      - $ref: '#/components/schemas/WerkzaamheidRelatie'
      - properties:
          _links:
            properties:
              self:
                allOf:
                - $ref: '#/components/schemas/HalLink'
                description: HAL link naar deze relatie. Een DELETE operatie op deze
                  url zal de relatie verwijderen.
              werkzaamheid:
                allOf:
                - $ref: '#/components/schemas/HalLink'
                description: HAL link om de gerelateerde werkzaamheid op te halen.
            required:
            - self
            - werkzaamheid
        required:
        - _links
    WerkzaamheidRelatieHALResponseList:
      properties:
        _embedded:
          properties:
            logischeRelaties:
              items:
                $ref: '#/components/schemas/WerkzaamheidRelatieHALResponse'
              minItems: 1
              type: array
          required:
          - logischeRelaties
        _links:
          $ref: '#/components/schemas/HalPaginationLinks'
        page:
          $ref: '#/components/schemas/Page'
      required:
      - _links
      - page
    WerkzaamheidResponse:
      properties:
        functioneleStructuurRef:
          description: De functioneleStructuurRef van de werkzaamheid.
          type: string
        omschrijving:
          description: Omschrijving van de werkzaamheid.
          type: string
        trefwoorden:
          description: Trefwoorden van de werkzaamheid.
          items:
            $ref: '#/components/schemas/Trefwoord'
          type: array
        urn:
          $ref: '#/components/schemas/WerkzaamheidUrn'
      required:
      - urn
      - omschrijving
      - functioneleStructuurRef
      - trefwoorden
    WerkzaamheidUpdateRequest:
      properties:
        omschrijving:
          description: Omschrijving van de werkzaamheid.
          maxLength: 250
          minLength: 1
          type: string
        trefwoorden:
          description: Trefwoorden van de werkzaamheid.
          items:
            $ref: '#/components/schemas/Trefwoord'
          maxItems: 1500
          type: array
      required:
      - omschrijving
      - trefwoorden
    WerkzaamheidUrn:
      description: Urn van de werkzaamheid
      example: BoomKappen
      pattern: ^\w{1,100}$
      type: string
    ZoekCriteria:
      description: Zoek criteria waar de geretourneerde activiteiten op gefilterd
        moeten worden. Indien er op meerdere properties tegelijk gefilterd wordt,
        dan zullen alleen de activiteiten geretourneerd worden die aan alle properties
        voldoen.
      properties:
        _geo:
          $ref: '#/components/schemas/GeoQuery'
        bestuursorgaan:
          description: Filter op bestuursorgaan.
          properties:
            bestuurslaag:
              $ref: '#/components/schemas/Bestuurslaag'
            oin:
              description: De OIN van het bestuursorgaan.
              type: string
            organisatieCode:
              description: De organisatieCode (CBS code, het numerieke deel van de
                BG code).
              type: string
            organisatieType:
              description: Het organisatie type (niet-numerieke deel van de BG code).
              type: string
        bevoegdGezag:
          description: Filter op bevoegd gezag.
          properties:
            bestuurslaag:
              $ref: '#/components/schemas/Bestuurslaag'
          required:
          - bestuurslaag
        datum:
          allOf:
          - $ref: '#/components/schemas/Datum'
          description: Het verzoek wordt uitgevoerd met de versie van de functionele
            structuur die geldig is op deze datum. Het formaat van de datum is dd-MM-yyyy.
        magneet:
          description: Filter op activiteiten met het kenmerk magneet.
          type: boolean
        omschrijving:
          description: Zoek in de omschrijving van de activiteit.
          type: string
        typering:
          allOf:
          - $ref: '#/components/schemas/ActiviteitTypering'
          description: Filter op de typering van de activiteit
        werkzaamheid:
          description: Filter op activiteiten die gekoppeld zijn aan deze werkzaamheid
            (urn).
          type: string
      required:
      - datum
info:
  contact:
    name: Ontwikkelaarsportaal Omgevingswet
    url: https://developer.omgevingswet.overheid.nl/services/contact/
  description: Een REST-API voor het raadplegen en beheren van activiteiten en werkzaamheden.
  title: CRUD RTR gegevens
  version: 2.4.6
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
  /activiteiten:
    get:
      description: Retourneert alle activiteiten die op een bepaalde datum actief
        zijn.
      parameters:
      - $ref: '#/components/parameters/x_api_key'
      - $ref: '#/components/parameters/_sort'
      - $ref: '#/components/parameters/datumRequired'
      - $ref: '#/components/parameters/pageSizeEnum'
      - $ref: '#/components/parameters/page'
      responses:
        "200":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/ActiviteitHALResponseList'
          description: Lijst van activiteiten.
        "400":
          $ref: '#/components/responses/400'
        "429":
          $ref: '#/components/responses/429'
        "500":
          $ref: '#/components/responses/500'
      summary: Ophalen alle activiteiten
      tags:
      - Raadplegen activiteiten
  /activiteiten/_wijzigingen:
    post:
      description: '<p> Retourneert de activiteiten die in de opgegeven periode gewijzigd
        zijn. Deze service is handig om een database met activiteiten up-to-date te
        houden met de activiteiten zoals die in het DSO bekend zijn. Vul hiervoor
        de "datumVanaf" in met de datum waarop de laatste keer de database is bijgewerkt.
        Roep de service per (bestuursorgaan-)oin aan en werk vervolgens de activiteiten
        bij die deze service retourneert. </p> <p> Activiteiten zijn gewijzigd als:
        <ul> <li> juridische eigenschappen geldig zijn geworden of verlopen zijn in
        de opgegeven periode <li> toepasbare eigenschappen geldig zijn geworden of
        verlopen zijn in de opgegeven periode <li> locaties geldig zijn geworden of
        verlopen zijn in de opgegeven periode <li> koppelingen met werkzaamheden zijn
        aangemaakt of verwijderd </ul> N.B. wijzigingen in de links onderliggendeActiviteiten
        en juridischeRelatiesVan worden niet in aanmerking genomen bij het bepalen
        van wijzigingen. Wijzigingen in de links bovenliggendeActiviteit en juridischeRelatiesNaar
        worden wel meegenomen. </p> <p> <h3>datumVanaf</h3> Als eigenschappen / locaties
        precies op de datumVanaf aflopen of geldig worden, dan zullen deze geretourneerd
        worden door deze service. Om een initiële vulling van een database te krijgen
        kan deze service aangeroepen worden zonder "datumVanaf". Dan worden alle activiteiten
        van het OIN geretourneerd. </p> <p> <h3>datumTot</h3> Als eigenschappen /
        locaties precies op de datumTot aflopen worden deze niet geretourneerd aangezien
        ze op die dag nog geldig zijn. De dag erna worden ze wel geretourneerd. Als
        eigenschappen / locaties precies op de datumTot geldig worden worden ze wel
        geretourneerd. Merk op dat het over het algemeen niet zinvol is om "datumTot"
        mee te geven in het request. "datumTot" invullen met een datum in het verleden
        zal recente wijzigingen buiten beschouwing laten. "datumTot" invullen met
        een datum in de toekomst zou toekomstige wijzigingen buiten beschouwing kunnen
        laten die in DSO nog niet bekend zijn. "datumTot" invullen met de datum van
        vandaag is equivalent als "datumTot" niet meegeven in het request. </p>'
      parameters:
      - $ref: '#/components/parameters/x_api_key'
      requestBody:
        content:
          application/json:
            schema:
              properties:
                datumTot:
                  allOf:
                  - $ref: '#/components/schemas/Datum'
                  description: 'Datum in het formaat dd-MM-yyyy. Default: datum van
                    vandaag.'
                datumVanaf:
                  allOf:
                  - $ref: '#/components/schemas/Datum'
                oin:
                  type: string
              required:
              - oin
        description: WijzigingenCriteria
        required: true
      responses:
        "200":
          content:
            application/hal+json:
              schema:
                properties:
                  _embedded:
                    properties:
                      activiteiten:
                        items:
                          properties:
                            _links:
                              properties:
                                self:
                                  $ref: '#/components/schemas/HalLink'
                              required:
                              - self
                            urn:
                              $ref: '#/components/schemas/ActiviteitUrn'
                          required:
                          - urn
                          - _links
                        type: array
                  _links:
                    properties:
                      self:
                        $ref: '#/components/schemas/HalLink'
                    required:
                    - self
          description: Lijst van activiteiten urn's.
        "400":
          $ref: '#/components/responses/400'
        "429":
          $ref: '#/components/responses/429'
        "500":
          $ref: '#/components/responses/500'
      summary: Zoek naar gewijzigde activiteiten
      tags:
      - Raadplegen activiteiten
  /activiteiten/_zoek:
    post:
      description: Zoek activiteiten op basis van zoekcriteria.
      parameters:
      - $ref: '#/components/parameters/x_api_key'
      - $ref: '#/components/parameters/_sort'
      - $ref: '#/components/parameters/crs'
      - $ref: '#/components/parameters/pageSizeEnum'
      - $ref: '#/components/parameters/page'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ZoekCriteria'
        description: Zoekcriteria
        required: true
      responses:
        "200":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/ActiviteitHALResponseList'
          description: Activiteiten die voldoen aan de zoekcriteria.
        "400":
          $ref: '#/components/responses/400'
        "429":
          $ref: '#/components/responses/429'
        "500":
          $ref: '#/components/responses/500'
      summary: Zoek activiteiten
      tags:
      - Raadplegen activiteiten
  /activiteiten/{urn}:
    get:
      description: Retourneert de activiteit die wordt geïdentificeerd door de urn,
        en actief is op een bepaalde datum.
      parameters:
      - $ref: '#/components/parameters/x_api_key'
      - $ref: '#/components/parameters/ActiviteitUrn'
      - $ref: '#/components/parameters/datumRequired'
      responses:
        "200":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/Activiteit'
          description: De activiteit.
        "400":
          $ref: '#/components/responses/400'
        "404":
          $ref: '#/components/responses/404'
        "429":
          $ref: '#/components/responses/429'
        "500":
          $ref: '#/components/responses/500'
      summary: Ophalen activiteit
      tags:
      - Raadplegen activiteiten
  /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
  /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
  /werkzaamheden:
    get:
      deprecated: true
      description: Retourneert alle werkzaamheden.
      parameters:
      - $ref: '#/components/parameters/x_api_key'
      - $ref: '#/components/parameters/datumActief'
      - $ref: '#/components/parameters/pageSizeEnum'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/expand'
      - $ref: '#/components/parameters/expandScope'
      responses:
        "200":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/WerkzaamheidHALResponseList'
          description: De lijst van werkzaamheden.
        "400":
          $ref: '#/components/responses/400'
        "429":
          $ref: '#/components/responses/429'
        "500":
          $ref: '#/components/responses/500'
      summary: Ophalen alle werkzaamheden
      tags:
      - Raadplegen Werkzaamheden
    post:
      deprecated: true
      description: Creëer een nieuwe werkzaamheid. De werkzaamheid versie is geldig
        vanaf 1 januari 2024 en heeft geen einddatum.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WerkzaamheidCreateRequest'
        description: Inhoud van de te creëren werkzaamheid.
        required: true
      responses:
        "200":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/WerkzaamheidBeherenResponse'
          description: |
            De gecreëerde werkzaamheid.
        "400":
          $ref: '#/components/responses/400'
        "404":
          $ref: '#/components/responses/404'
        "429":
          $ref: '#/components/responses/429'
        "500":
          $ref: '#/components/responses/500'
      summary: Toevoegen werkzaamheid
      tags:
      - Beheren Werkzaamheden
      x-scope: beherenWerkzaamheden
  /werkzaamheden/{urn}:
    delete:
      deprecated: true
      description: Verwijder een bestaande werkzaamheid. Alleen de werkzaamheid versie
        die actief is op het moment van de aanroep, wordt verwijderd. Koppelingen
        naar activiteiten en logische relaties vanuit andere werkzaamheden worden
        *niet* verwijderd.
      parameters:
      - $ref: '#/components/parameters/WerkzaamheidUrn'
      responses:
        "200":
          description: De werkzaamheid is succesvol verwijderd.
        "400":
          $ref: '#/components/responses/400'
        "404":
          $ref: '#/components/responses/404'
        "429":
          $ref: '#/components/responses/429'
        "500":
          $ref: '#/components/responses/500'
      summary: Verwijderen Werkzaamheid
      tags:
      - Beheren Werkzaamheden
      x-scope: beherenWerkzaamheden
    get:
      deprecated: true
      description: Retourneert de werkzaamheid behorende bij de meegegeven urn.
      parameters:
      - $ref: '#/components/parameters/x_api_key'
      - $ref: '#/components/parameters/WerkzaamheidUrn'
      - $ref: '#/components/parameters/datumActief'
      - $ref: '#/components/parameters/expand'
      - $ref: '#/components/parameters/expandScope'
      responses:
        "200":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/WerkzaamheidHALResponse'
          description: De werkzaamheid behorende bij de meegegeven urn.
        "400":
          $ref: '#/components/responses/400'
        "404":
          $ref: '#/components/responses/404'
        "429":
          $ref: '#/components/responses/429'
        "500":
          $ref: '#/components/responses/500'
      summary: Ophalen werkzaamheid.
      tags:
      - Raadplegen Werkzaamheden
    put:
      deprecated: true
      description: Update een bestaande werkzaamheid. Alleen de versie van de werkzaamheid
        die op het moment van aanroepen actief is, kan worden aangepast.
      parameters:
      - $ref: '#/components/parameters/WerkzaamheidUrn'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WerkzaamheidUpdateRequest'
        description: Geüpdatete inhoud van de werkzaamheid.
        required: true
      responses:
        "200":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/WerkzaamheidBeherenResponse'
          description: De werkzaamheid nadat de update is uitgevoerd.
        "400":
          $ref: '#/components/responses/400'
        "404":
          $ref: '#/components/responses/404'
        "429":
          $ref: '#/components/responses/429'
        "500":
          $ref: '#/components/responses/500'
      summary: Updaten Werkzaamheid
      tags:
      - Beheren Werkzaamheden
      x-scope: beherenWerkzaamheden
  /werkzaamheden/{urn}/activiteitKoppelingen:
    get:
      deprecated: true
      description: Retourneert de koppelingen naar activiteiten.
      parameters:
      - $ref: '#/components/parameters/x_api_key'
      - $ref: '#/components/parameters/WerkzaamheidUrn'
      - $ref: '#/components/parameters/datumActief'
      - $ref: '#/components/parameters/pageSizeEnum'
      - $ref: '#/components/parameters/page'
      responses:
        "200":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/ActiviteitKoppelingHALResponseList'
          description: Koppelingen naar activiteiten.
        "400":
          $ref: '#/components/responses/400'
        "429":
          $ref: '#/components/responses/429'
        "500":
          $ref: '#/components/responses/500'
      summary: Ophalen koppelingen naar activiteiten
      tags:
      - Raadplegen Werkzaamheden
  /werkzaamheden/{urn}/activiteitKoppelingen/{gekoppelde_activiteit_urn}:
    get:
      deprecated: true
      parameters:
      - $ref: '#/components/parameters/x_api_key'
      - $ref: '#/components/parameters/WerkzaamheidUrn'
      - $ref: '#/components/parameters/datumActief'
      - $ref: '#/components/parameters/GekoppeldeActiviteitUrn'
      responses:
        "200":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/ActiviteitKoppelingHALResponse'
          description: |
            De koppeling met de activiteit.
        "400":
          $ref: '#/components/responses/400'
        "404":
          $ref: '#/components/responses/404'
        "429":
          $ref: '#/components/responses/429'
        "500":
          $ref: '#/components/responses/500'
      summary: Ophalen koppeling met een activiteit
      tags:
      - Raadplegen Werkzaamheden
  /werkzaamheden/{urn}/logischeRelaties:
    get:
      deprecated: true
      description: Retourneert de logische relaties naar andere werkzaamheden.
      parameters:
      - $ref: '#/components/parameters/x_api_key'
      - $ref: '#/components/parameters/WerkzaamheidUrn'
      - $ref: '#/components/parameters/datumActief'
      - $ref: '#/components/parameters/pageSizeEnum'
      - $ref: '#/components/parameters/page'
      responses:
        "200":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/WerkzaamheidRelatieHALResponseList'
          description: Logische relaties naar andere werkzaamheden
        "400":
          $ref: '#/components/responses/400'
        "429":
          $ref: '#/components/responses/429'
        "500":
          $ref: '#/components/responses/500'
      summary: Ophalen logische relaties naar andere werkzaamheden
      tags:
      - Raadplegen Werkzaamheden
    post:
      deprecated: true
      description: Voegt een nieuwe logische relatie toe naar een andere werkzaamheid.
        Resulteert in een foutmelding als de logische relatie al bestaat. Deze operatie
        is deprecated, de relatie kan alleen worden toegevoegd aan de versie die op
        het moment van de aanroep actief is. Zie de ToepasbareRegels-BeherenWerkzaamheden
        API.
      parameters:
      - $ref: '#/components/parameters/WerkzaamheidUrn'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WerkzaamheidRelatie'
        description: De andere werkzaamheid waarnaartoe de logische relatie wordt
          gelegd.
        required: true
      responses:
        "200":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/WerkzaamheidRelatieHALResponse'
          description: |
            De logische relatie naar de andere werkzaamheid.
        "400":
          $ref: '#/components/responses/400'
        "404":
          $ref: '#/components/responses/404'
        "429":
          $ref: '#/components/responses/429'
        "500":
          $ref: '#/components/responses/500'
      summary: Toevoegen logische relatie naar andere werkzaamheid
      tags:
      - Beheren Werkzaamheden
      x-scope: beherenWerkzaamheden
  /werkzaamheden/{urn}/logischeRelaties/{logisch_gerelateerde_werkzaamheid_urn}:
    delete:
      deprecated: true
      description: Verwijdert de logische relatie naar de andere werkzaamheid. Resulteert
        in een foutmelding als de logische relatie niet bestaat. Deze operatie is
        deprecated, alleen de logische relatie vanuit de werkzaamheid die op het moment
        van de aanroep actief is, kan worden verwijderd. Zie de ToepasbareRegels-BeherenWerkzaamheden
        API.
      parameters:
      - $ref: '#/components/parameters/WerkzaamheidUrn'
      - $ref: '#/components/parameters/LogischGerelateerdeWerkzaamheidUrn'
      responses:
        "200":
          description: De logische relatie is succesvol verwijderd.
        "400":
          $ref: '#/components/responses/400'
        "404":
          $ref: '#/components/responses/404'
        "429":
          $ref: '#/components/responses/429'
        "500":
          $ref: '#/components/responses/500'
      summary: Verwijderen logische relatie naar andere werkzaamheid
      tags:
      - Beheren Werkzaamheden
      x-scope: beherenWerkzaamheden
    get:
      deprecated: true
      description: De logische relatie naar de andere werkzaamheid.
      parameters:
      - $ref: '#/components/parameters/x_api_key'
      - $ref: '#/components/parameters/WerkzaamheidUrn'
      - $ref: '#/components/parameters/datumActief'
      - $ref: '#/components/parameters/LogischGerelateerdeWerkzaamheidUrn'
      responses:
        "200":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/WerkzaamheidRelatieHALResponse'
          description: |
            De logische relatie naar de andere werkzaamheid.
        "400":
          $ref: '#/components/responses/400'
        "404":
          $ref: '#/components/responses/404'
        "429":
          $ref: '#/components/responses/429'
        "500":
          $ref: '#/components/responses/500'
      summary: Ophalen logische relatie naar andere werkzaamheid
      tags:
      - Raadplegen Werkzaamheden
tags:
- description: Deprecated. Deze API is opgevolgd door de Werkzaamheden v1 API, waarmee
    ook versionering informatie kan worden opgehaald.
  name: Raadplegen Werkzaamheden
- description: Deprecated. Het is niet mogelijk werkzaamheden te beheren m.b.v. een
    API.
  name: Beheren Werkzaamheden
x-wso2-cors:
  accessControlAllowCredentials: false
  accessControlAllowHeaders:
  - authorization
  - Access-Control-Allow-Origin
  - Content-Type
  - SOAPAction
  accessControlAllowMethods:
  - GET
  - PUT
  - POST
  - DELETE
  - PATCH
  - OPTIONS
  accessControlAllowOrigins:
  - '*'
  corsConfigurationEnabled: true
x-wso2-security:
  apim:
    x-wso2-scopes:
    - description: ""
      key: beherenWerkzaamheden
      name: beherenWerkzaamheden
      roles: applicatie.werkzaamheden,beheerder.dso
