{
  "openapi": "3.0.0",
  "info": {
    "version": "2.4.6",
    "title": "CRUD RTR gegevens",
    "description": "Een REST-API voor het raadplegen en beheren van activiteiten en werkzaamheden.",
    "contact": {
      "name": "Ontwikkelaarsportaal Omgevingswet",
      "url": "https://developer.omgevingswet.overheid.nl/services/contact/"
    }
  },
  "tags": [
    {
      "name": "Raadplegen Werkzaamheden",
      "description": "Deprecated. Deze API is opgevolgd door de Werkzaamheden v1 API, waarmee ook versionering informatie kan worden opgehaald."
    },
    {
      "name": "Beheren Werkzaamheden",
      "description": "Deprecated. Het is niet mogelijk werkzaamheden te beheren m.b.v. een API."
    }
  ],
  "paths": {
    "/": {
      "get": {
        "summary": "OpenApi Specification",
        "tags": [
          "Meta"
        ],
        "responses": {
          "200": {
            "description": "OpenApi Specification Json",
            "content": {
              "application/json": {
                "schema": {
                  "example": "{\"openapi\": \"3.0.0\", ... }"
                }
              }
            }
          }
        }
      }
    },
    "/health": {
      "get": {
        "summary": "health info",
        "tags": [
          "Meta"
        ],
        "responses": {
          "200": {
            "description": "Health",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "status"
                  ],
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "UP"
                      ]
                    },
                    "groups": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Health",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "status"
                  ],
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "DOWN",
                        "OUT_OF_SERVICE"
                      ]
                    },
                    "groups": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/info": {
      "get": {
        "summary": "applicatie info",
        "tags": [
          "Meta"
        ],
        "responses": {
          "200": {
            "description": "Info",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Info",
                  "required": [
                    "app"
                  ],
                  "properties": {
                    "app": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "version": {
                          "type": "string"
                        },
                        "version2": {
                          "type": "string"
                        },
                        "buildtime": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/activiteiten": {
      "get": {
        "summary": "Ophalen alle activiteiten",
        "description": "Retourneert alle activiteiten die op een bepaalde datum actief zijn.",
        "tags": [
          "Raadplegen activiteiten"
        ],
        "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": {
            "description": "Lijst van activiteiten.",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/ActiviteitHALResponseList"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "429": {
            "$ref": "#/components/responses/429"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        }
      }
    },
    "/activiteiten/_zoek": {
      "post": {
        "summary": "Zoek activiteiten",
        "description": "Zoek activiteiten op basis van zoekcriteria.",
        "tags": [
          "Raadplegen activiteiten"
        ],
        "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": {
            "description": "Activiteiten die voldoen aan de zoekcriteria.",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/ActiviteitHALResponseList"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "429": {
            "$ref": "#/components/responses/429"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        }
      }
    },
    "/activiteiten/_wijzigingen": {
      "post": {
        "summary": "Zoek naar gewijzigde activiteiten",
        "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>",
        "tags": [
          "Raadplegen activiteiten"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/x_api_key"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "required": [
                  "oin"
                ],
                "properties": {
                  "datumVanaf": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Datum"
                      }
                    ]
                  },
                  "datumTot": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Datum"
                      }
                    ],
                    "description": "Datum in het formaat dd-MM-yyyy. Default: datum van vandaag."
                  },
                  "oin": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "description": "WijzigingenCriteria",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Lijst van activiteiten urn's.",
            "content": {
              "application/hal+json": {
                "schema": {
                  "properties": {
                    "_embedded": {
                      "properties": {
                        "activiteiten": {
                          "type": "array",
                          "items": {
                            "required": [
                              "urn",
                              "_links"
                            ],
                            "properties": {
                              "urn": {
                                "$ref": "#/components/schemas/ActiviteitUrn"
                              },
                              "_links": {
                                "required": [
                                  "self"
                                ],
                                "properties": {
                                  "self": {
                                    "$ref": "#/components/schemas/HalLink"
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "_links": {
                      "required": [
                        "self"
                      ],
                      "properties": {
                        "self": {
                          "$ref": "#/components/schemas/HalLink"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "429": {
            "$ref": "#/components/responses/429"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        }
      }
    },
    "/activiteiten/{urn}": {
      "get": {
        "summary": "Ophalen activiteit",
        "description": "Retourneert de activiteit die wordt geïdentificeerd door de urn, en actief is op een bepaalde datum.",
        "tags": [
          "Raadplegen activiteiten"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/x_api_key"
          },
          {
            "$ref": "#/components/parameters/ActiviteitUrn"
          },
          {
            "$ref": "#/components/parameters/datumRequired"
          }
        ],
        "responses": {
          "200": {
            "description": "De activiteit.",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/Activiteit"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "429": {
            "$ref": "#/components/responses/429"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        }
      }
    },
    "/werkzaamheden": {
      "get": {
        "deprecated": true,
        "summary": "Ophalen alle werkzaamheden",
        "tags": [
          "Raadplegen Werkzaamheden"
        ],
        "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": {
            "description": "De lijst van werkzaamheden.",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/WerkzaamheidHALResponseList"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "429": {
            "$ref": "#/components/responses/429"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        }
      },
      "post": {
        "deprecated": true,
        "summary": "Toevoegen werkzaamheid",
        "tags": [
          "Beheren Werkzaamheden"
        ],
        "description": "Creëer een nieuwe werkzaamheid. De werkzaamheid versie is geldig vanaf 1 januari 2024 en heeft geen einddatum.",
        "requestBody": {
          "description": "Inhoud van de te creëren werkzaamheid.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WerkzaamheidCreateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "De gecreëerde werkzaamheid.\n",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/WerkzaamheidBeherenResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "429": {
            "$ref": "#/components/responses/429"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "x-scope": "beherenWerkzaamheden"
      }
    },
    "/werkzaamheden/{urn}": {
      "get": {
        "deprecated": true,
        "summary": "Ophalen werkzaamheid.",
        "tags": [
          "Raadplegen Werkzaamheden"
        ],
        "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": {
            "description": "De werkzaamheid behorende bij de meegegeven urn.",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/WerkzaamheidHALResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "429": {
            "$ref": "#/components/responses/429"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        }
      },
      "put": {
        "deprecated": true,
        "summary": "Updaten Werkzaamheid",
        "tags": [
          "Beheren Werkzaamheden"
        ],
        "description": "Update een bestaande werkzaamheid. Alleen de versie van de werkzaamheid die op het moment van aanroepen actief is, kan worden aangepast.",
        "requestBody": {
          "description": "Geüpdatete inhoud van de werkzaamheid.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WerkzaamheidUpdateRequest"
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/WerkzaamheidUrn"
          }
        ],
        "responses": {
          "200": {
            "description": "De werkzaamheid nadat de update is uitgevoerd.",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/WerkzaamheidBeherenResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "429": {
            "$ref": "#/components/responses/429"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "x-scope": "beherenWerkzaamheden"
      },
      "delete": {
        "deprecated": true,
        "summary": "Verwijderen Werkzaamheid",
        "tags": [
          "Beheren Werkzaamheden"
        ],
        "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"
          }
        },
        "x-scope": "beherenWerkzaamheden"
      }
    },
    "/werkzaamheden/{urn}/activiteitKoppelingen": {
      "get": {
        "deprecated": true,
        "summary": "Ophalen koppelingen naar activiteiten",
        "tags": [
          "Raadplegen Werkzaamheden"
        ],
        "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": {
            "description": "Koppelingen naar activiteiten.",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/ActiviteitKoppelingHALResponseList"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "429": {
            "$ref": "#/components/responses/429"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        }
      }
    },
    "/werkzaamheden/{urn}/activiteitKoppelingen/{gekoppelde_activiteit_urn}": {
      "get": {
        "deprecated": true,
        "summary": "Ophalen koppeling met een activiteit",
        "tags": [
          "Raadplegen Werkzaamheden"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/x_api_key"
          },
          {
            "$ref": "#/components/parameters/WerkzaamheidUrn"
          },
          {
            "$ref": "#/components/parameters/datumActief"
          },
          {
            "$ref": "#/components/parameters/GekoppeldeActiviteitUrn"
          }
        ],
        "responses": {
          "200": {
            "description": "De koppeling met de activiteit.\n",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/ActiviteitKoppelingHALResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "429": {
            "$ref": "#/components/responses/429"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        }
      }
    },
    "/werkzaamheden/{urn}/logischeRelaties": {
      "get": {
        "deprecated": true,
        "summary": "Ophalen logische relaties naar andere werkzaamheden",
        "tags": [
          "Raadplegen Werkzaamheden"
        ],
        "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": {
            "description": "Logische relaties naar andere werkzaamheden",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/WerkzaamheidRelatieHALResponseList"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "429": {
            "$ref": "#/components/responses/429"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        }
      },
      "post": {
        "deprecated": true,
        "summary": "Toevoegen logische relatie naar andere werkzaamheid",
        "tags": [
          "Beheren Werkzaamheden"
        ],
        "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.",
        "requestBody": {
          "description": "De andere werkzaamheid waarnaartoe de logische relatie wordt gelegd.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WerkzaamheidRelatie"
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/WerkzaamheidUrn"
          }
        ],
        "responses": {
          "200": {
            "description": "De logische relatie naar de andere werkzaamheid.\n",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/WerkzaamheidRelatieHALResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "429": {
            "$ref": "#/components/responses/429"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "x-scope": "beherenWerkzaamheden"
      }
    },
    "/werkzaamheden/{urn}/logischeRelaties/{logisch_gerelateerde_werkzaamheid_urn}": {
      "get": {
        "deprecated": true,
        "summary": "Ophalen logische relatie naar andere werkzaamheid",
        "tags": [
          "Raadplegen Werkzaamheden"
        ],
        "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": {
            "description": "De logische relatie naar de andere werkzaamheid.\n",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/WerkzaamheidRelatieHALResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "429": {
            "$ref": "#/components/responses/429"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        }
      },
      "delete": {
        "deprecated": true,
        "summary": "Verwijderen logische relatie naar andere werkzaamheid",
        "tags": [
          "Beheren Werkzaamheden"
        ],
        "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"
          }
        },
        "x-scope": "beherenWerkzaamheden"
      }
    }
  },
  "components": {
    "parameters": {
      "x_api_key": {
        "name": "x-api-key",
        "in": "header",
        "description": "De api-key ter authenticatie, verkrijgbaar via het ontwikkelaarsportaal",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "datumActief": {
        "name": "datum",
        "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",
        "schema": {
          "$ref": "#/components/schemas/Datum"
        }
      },
      "datumRequired": {
        "name": "datum",
        "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",
        "required": true,
        "schema": {
          "type": "string",
          "pattern": "^\\d{2}-\\d{2}-\\d{4}$",
          "example": "01-01-2023"
        }
      },
      "pageSizeEnum": {
        "name": "pageSize",
        "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",
        "schema": {
          "type": "integer",
          "default": 20,
          "enum": [
            10,
            20,
            50,
            100,
            200
          ]
        },
        "required": false
      },
      "page": {
        "name": "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",
        "schema": {
          "type": "integer",
          "minimum": 1,
          "default": 1
        },
        "required": false
      },
      "expand": {
        "in": "query",
        "name": "_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.",
        "schema": {
          "type": "boolean"
        }
      },
      "expandScope": {
        "in": "query",
        "name": "_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.",
        "schema": {
          "type": "string",
          "enum": [
            "logischeRelaties"
          ]
        }
      },
      "ActiviteitUrn": {
        "in": "path",
        "name": "urn",
        "description": "De urn van de activiteit",
        "required": true,
        "schema": {
          "$ref": "#/components/schemas/ActiviteitUrn"
        }
      },
      "WerkzaamheidUrn": {
        "in": "path",
        "name": "urn",
        "description": "De urn van de werkzaamheid",
        "required": true,
        "schema": {
          "$ref": "#/components/schemas/WerkzaamheidUrn"
        }
      },
      "GekoppeldeActiviteitUrn": {
        "in": "path",
        "name": "gekoppelde_activiteit_urn",
        "description": "De urn van de gekoppelde activiteit",
        "required": true,
        "schema": {
          "$ref": "#/components/schemas/ActiviteitUrn"
        }
      },
      "LogischGerelateerdeWerkzaamheidUrn": {
        "in": "path",
        "name": "logisch_gerelateerde_werkzaamheid_urn",
        "description": "De urn van de gekoppelde logisch gerelateerde werkzaamheid",
        "required": true,
        "schema": {
          "$ref": "#/components/schemas/WerkzaamheidUrn"
        }
      },
      "crs": {
        "name": "Content-Crs",
        "in": "header",
        "description": "Het coordinatenstelsel (Coordinate Reference Systems) waarop geometrie parameters in het request zijn gebaseerd",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "EPSG:28992"
          ],
          "default": "EPSG:28992"
        }
      },
      "_sort": {
        "name": "_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",
        "schema": {
          "type": "string",
          "enum": [
            "-urn",
            "urn",
            "-omschrijving",
            "omschrijving",
            "-bestuursorgaanBestuurslaag",
            "bestuursorgaanBestuurslaag",
            "-bestuursorgaanOin",
            "bestuursorgaanOin"
          ],
          "default": "urn"
        },
        "required": false
      }
    },
    "responses": {
      "400": {
        "description": "Fouten (missing parameter; niet bestaande parameter; invalide waarde voor parameter)",
        "content": {
          "application/json": {
            "schema": {
              "allOf": [
                {
                  "required": [
                    "type",
                    "title",
                    "status"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "description": "Het type fout dat opgetreden is. Bijvoorbeeld VALIDATIE_FOUT of ONVERWACHTE_FOUT."
                    },
                    "title": {
                      "type": "string",
                      "description": "Informatie over de opgetreden fout."
                    },
                    "status": {
                      "type": "integer",
                      "format": "int64",
                      "description": "De statuscode van de fout (= 400) overeenkomend met de http-status code van de response."
                    },
                    "detail": {
                      "type": "string",
                      "description": "Meer detail informatie over de opgetreden fout"
                    },
                    "instance": {
                      "type": "string",
                      "description": "Het unieke instance id van het request dat resulteerde in de foutmelding."
                    }
                  }
                },
                {
                  "properties": {
                    "invalid-params": {
                      "type": "array",
                      "items": {
                        "required": [
                          "type",
                          "name",
                          "reason"
                        ],
                        "properties": {
                          "type": {
                            "type": "string",
                            "description": "Een type van de fout, bijvoorbeeld 'Validatie melding'"
                          },
                          "name": {
                            "type": "string",
                            "description": "'Naam van de parameter die een fout bevat, bijvoorbeeld: activiteitFunctioneleStructuurRef'"
                          },
                          "reason": {
                            "type": "string",
                            "description": "Bijvoorbeeld 'de activiteitFunctioneleStructuurRef mag geen speciale karakters bevatten.'"
                          }
                        }
                      }
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "404": {
        "description": "De gevraagde resource is niet gevonden",
        "content": {
          "application/json": {
            "schema": {
              "allOf": [
                {
                  "required": [
                    "type",
                    "title",
                    "status"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "description": "Het type resource dat niet gevonden is."
                    },
                    "title": {
                      "type": "string",
                      "description": "Informatie over de opgetreden fout."
                    },
                    "status": {
                      "type": "integer",
                      "format": "int64",
                      "description": "De statuscode van de fout (= 404) overeenkomend met de http-status code van de response."
                    },
                    "detail": {
                      "type": "string",
                      "description": "Meer detail informatie over de opgetreden fout"
                    },
                    "instance": {
                      "type": "string",
                      "description": "Het unieke instance id van het request dat resulteerde in de foutmelding."
                    }
                  }
                },
                {
                  "properties": {
                    "type": {
                      "type": "string",
                      "description": "Bevat informatie over het type object dat niet gevonden is. Bijvoorbeeld ACTIVITY_NOT_FOUND of SUBACTIVITY_NOT_FOUND"
                    },
                    "detail": {
                      "type": "string",
                      "description": "De identifier van het object dat niet gevonden is. Bijvoorbeeld de URN van een activiteit."
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "429": {
        "description": "Te veel requests (binnen een bepaalde tijd)"
      },
      "500": {
        "description": "Er is een onverwachte technische fout opgetreden",
        "content": {
          "application/json": {
            "schema": {
              "required": [
                "type",
                "title",
                "status"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "description": "Het type fout dat opgetreden is. Bijvoorbeeld VALIDATIE_FOUT of ONVERWACHTE_FOUT."
                },
                "title": {
                  "type": "string",
                  "description": "Informatie over de opgetreden fout."
                },
                "status": {
                  "type": "integer",
                  "format": "int64",
                  "description": "De statuscode (= 500) van de fout overeenkomend met de http-status code van de response."
                },
                "detail": {
                  "type": "string",
                  "description": "Meer detail informatie over de opgetreden fout"
                },
                "instance": {
                  "type": "string",
                  "description": "Het unieke instance id van het request dat resulteerde in de foutmelding."
                }
              }
            }
          }
        }
      }
    },
    "schemas": {
      "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).",
        "required": [
          "intersects"
        ],
        "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": [
              {
                "title": "Point",
                "description": "GeoJSON Point gespecificeerd volgens https://tools.ietf.org/html/rfc7946#section-3.1.2",
                "type": "object",
                "required": [
                  "type",
                  "coordinates"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Point"
                    ]
                  },
                  "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",
                    "type": "array",
                    "minItems": 2,
                    "items": {
                      "type": "number"
                    }
                  }
                }
              },
              {
                "title": "Polygon",
                "description": "GeoJSON Polygon gespecificeerd volgens https://tools.ietf.org/html/rfc7946#section-3.1.6",
                "type": "object",
                "required": [
                  "type",
                  "coordinates"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Polygon"
                    ]
                  },
                  "coordinates": {
                    "description": "De coördinaten van een Polygon volgens https://tools.ietf.org/html/rfc7946#section-3.1.6",
                    "type": "array",
                    "items": {
                      "type": "array",
                      "minItems": 4,
                      "items": {
                        "$ref": "#/components/schemas/GeoQuery/properties/intersects/oneOf/0/properties/coordinates"
                      }
                    }
                  }
                }
              },
              {
                "title": "MultiPolygon",
                "description": "GeoJSON MultiPolygon gespecificeerd volgens https://tools.ietf.org/html/rfc7946#section-3.1.7",
                "type": "object",
                "required": [
                  "type",
                  "coordinates"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "MultiPolygon"
                    ]
                  },
                  "coordinates": {
                    "description": "De coördinaten van een MultiPolygon volgens https://tools.ietf.org/html/rfc7946#section-3.1.7",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/GeoQuery/properties/intersects/oneOf/1/properties/coordinates"
                    }
                  }
                }
              },
              {
                "description": "GeoJSon geometry collection volgens https://tools.ietf.org/html/rfc7946#section-3.1.8",
                "type": "object",
                "required": [
                  "geometries",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "GeometryCollection"
                    ]
                  },
                  "geometries": {
                    "type": "array",
                    "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"
                        }
                      ],
                      "minItems": 0
                    }
                  }
                }
              }
            ]
          }
        },
        "example": {
          "intersects": {
            "type": "Point",
            "coordinates": [
              155000,
              463000
            ]
          }
        }
      },
      "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.",
        "required": [
          "datum"
        ],
        "properties": {
          "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.",
            "allOf": [
              {
                "$ref": "#/components/schemas/Datum"
              }
            ]
          },
          "_geo": {
            "$ref": "#/components/schemas/GeoQuery"
          },
          "omschrijving": {
            "description": "Zoek in de omschrijving van de activiteit.",
            "type": "string"
          },
          "werkzaamheid": {
            "description": "Filter op activiteiten die gekoppeld zijn aan deze werkzaamheid (urn).",
            "type": "string"
          },
          "bestuursorgaan": {
            "description": "Filter op bestuursorgaan.",
            "properties": {
              "oin": {
                "description": "De OIN van het bestuursorgaan.",
                "type": "string"
              },
              "bestuurslaag": {
                "$ref": "#/components/schemas/Bestuurslaag"
              },
              "organisatieType": {
                "type": "string",
                "description": "Het organisatie type (niet-numerieke deel van de BG code)."
              },
              "organisatieCode": {
                "type": "string",
                "description": "De organisatieCode (CBS code, het numerieke deel van de BG code)."
              }
            }
          },
          "bevoegdGezag": {
            "required": [
              "bestuurslaag"
            ],
            "description": "Filter op bevoegd gezag.",
            "properties": {
              "bestuurslaag": {
                "$ref": "#/components/schemas/Bestuurslaag"
              }
            }
          },
          "magneet": {
            "description": "Filter op activiteiten met het kenmerk magneet.",
            "type": "boolean"
          },
          "typering": {
            "description": "Filter op de typering van de activiteit",
            "allOf": [
              {
                "$ref": "#/components/schemas/ActiviteitTypering"
              }
            ]
          }
        }
      },
      "ActiviteitHALResponseList": {
        "required": [
          "_links",
          "page"
        ],
        "properties": {
          "_embedded": {
            "required": [
              "activiteiten"
            ],
            "properties": {
              "activiteiten": {
                "type": "array",
                "minItems": 1,
                "items": {
                  "$ref": "#/components/schemas/Activiteit"
                }
              }
            }
          },
          "_links": {
            "$ref": "#/components/schemas/HalPaginationLinks"
          },
          "page": {
            "$ref": "#/components/schemas/Page"
          }
        }
      },
      "ActiviteitUrn": {
        "description": "Urn van de activiteit (In de urn mogen geen spaties voorkomen). Binnen de keten staat urn bekend als de imow-id.",
        "type": "string",
        "minLength": 1,
        "maxLength": 250
      },
      "Activiteit": {
        "required": [
          "urn",
          "omschrijving",
          "bestuursorgaan",
          "locaties",
          "beginDatum",
          "_links"
        ],
        "properties": {
          "urn": {
            "$ref": "#/components/schemas/ActiviteitUrn"
          },
          "omschrijving": {
            "description": "Omschrijving van de activiteit.",
            "type": "string",
            "minLength": 1,
            "maxLength": 250
          },
          "bestuursorgaan": {
            "description": "Bestuursorgaan van de activiteit.",
            "allOf": [
              {
                "$ref": "#/components/schemas/OrganisatieMetBgCode"
              }
            ]
          },
          "locaties": {
            "description": "Locaties waarop deze activiteit geldig is.",
            "type": "array",
            "minItems": 0,
            "items": {
              "$ref": "#/components/schemas/Locatie"
            }
          },
          "beginDatum": {
            "description": "De datum vanaf wanneer de juridische eigenschappen geldig zijn. Het formaat van de datum is dd-MM-yyyy.",
            "type": "string",
            "allOf": [
              {
                "$ref": "#/components/schemas/Datum"
              }
            ]
          },
          "eindDatum": {
            "description": "De datum tot en met wanneer de juridische eigenschappen geldig zijn. Het formaat van de datum is dd-MM-yyyy.",
            "type": "string",
            "allOf": [
              {
                "$ref": "#/components/schemas/Datum"
              }
            ]
          },
          "beginDatumToepasbaar": {
            "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",
            "allOf": [
              {
                "$ref": "#/components/schemas/Datum"
              }
            ]
          },
          "eindDatumToepasbaar": {
            "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",
            "allOf": [
              {
                "$ref": "#/components/schemas/Datum"
              }
            ]
          },
          "bevoegdGezag": {
            "description": "Bevoegd gezag van de activiteit. Als de activiteit niet toepasbaar is gemaakt, wordt dit veld niet teruggegeven.",
            "allOf": [
              {
                "$ref": "#/components/schemas/OrganisatieMetOptioneelOin"
              }
            ]
          },
          "typering": {
            "description": "Typering van de activiteit. Als de activiteit niet toepasbaar is gemaakt, wordt dit veld niet teruggegeven.",
            "type": "string",
            "allOf": [
              {
                "$ref": "#/components/schemas/ActiviteitTypering"
              }
            ]
          },
          "toonbaar": {
            "description": "Is de activiteit toonbaar? Als de activiteit niet toepasbaar is gemaakt, wordt dit veld niet teruggegeven.",
            "type": "boolean"
          },
          "magneet": {
            "description": "Is de activiteit een magneet activiteit? Als de activiteit niet toepasbaar is gemaakt, wordt dit veld niet teruggegeven.",
            "type": "boolean"
          },
          "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"
          },
          "regelBeheerObjecten": {
            "description": "Regelbeheerobjecten bij deze activiteit. Als de activiteit niet toepasbaar is gemaakt, wordt dit veld niet teruggegeven.",
            "type": "array",
            "minItems": 0,
            "items": {
              "$ref": "#/components/schemas/Regelbeheerobject"
            }
          },
          "_links": {
            "description": "Links naar gerelateerde activiteiten, regelbeheerobjecten en werkzaamheden.",
            "required": [
              "self"
            ],
            "properties": {
              "self": {
                "$ref": "#/components/schemas/HalLink"
              },
              "bovenliggendeActiviteit": {
                "$ref": "#/components/schemas/HalLink"
              },
              "onderliggendeActiviteiten": {
                "$ref": "#/components/schemas/HalLinks"
              },
              "juridischeRelatiesVan": {
                "$ref": "#/components/schemas/HalLinks"
              },
              "juridischeRelatiesNaar": {
                "$ref": "#/components/schemas/HalLinks"
              },
              "werkzaamheden": {
                "$ref": "#/components/schemas/HalLinks"
              }
            }
          }
        }
      },
      "Regelbeheerobject": {
        "required": [
          "typering",
          "functioneleStructuurRef"
        ],
        "properties": {
          "typering": {
            "$ref": "#/components/schemas/RegelbeheerobjectType"
          },
          "toestemming": {
            "$ref": "#/components/schemas/ToestemmingResponse"
          },
          "functioneleStructuurRef": {
            "description": "De functioneleStructuurRef van het regelbeheerobject.",
            "type": "string"
          }
        }
      },
      "WerkzaamheidUrn": {
        "description": "Urn van de werkzaamheid",
        "type": "string",
        "pattern": "^\\w{1,100}$",
        "example": "BoomKappen"
      },
      "Trefwoord": {
        "description": "Trefwoord van de werkzaamheid.",
        "type": "string",
        "minLength": 1,
        "maxLength": 250
      },
      "WerkzaamheidUpdateRequest": {
        "required": [
          "omschrijving",
          "trefwoorden"
        ],
        "properties": {
          "omschrijving": {
            "description": "Omschrijving van de werkzaamheid.",
            "type": "string",
            "minLength": 1,
            "maxLength": 250
          },
          "trefwoorden": {
            "description": "Trefwoorden van de werkzaamheid.",
            "type": "array",
            "minItems": 0,
            "maxItems": 1500,
            "items": {
              "$ref": "#/components/schemas/Trefwoord"
            }
          }
        }
      },
      "WerkzaamheidCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/WerkzaamheidUpdateRequest"
          },
          {
            "type": "object",
            "required": [
              "urn"
            ],
            "properties": {
              "urn": {
                "$ref": "#/components/schemas/WerkzaamheidUrn"
              }
            }
          }
        ]
      },
      "WerkzaamheidHALResponseList": {
        "required": [
          "_links",
          "page"
        ],
        "properties": {
          "_embedded": {
            "required": [
              "werkzaamheden"
            ],
            "properties": {
              "werkzaamheden": {
                "type": "array",
                "minItems": 1,
                "items": {
                  "$ref": "#/components/schemas/WerkzaamheidHALResponse"
                }
              }
            }
          },
          "_links": {
            "$ref": "#/components/schemas/HalPaginationLinks"
          },
          "page": {
            "$ref": "#/components/schemas/Page"
          }
        }
      },
      "WerkzaamheidResponse": {
        "required": [
          "urn",
          "omschrijving",
          "functioneleStructuurRef",
          "trefwoorden"
        ],
        "properties": {
          "urn": {
            "$ref": "#/components/schemas/WerkzaamheidUrn"
          },
          "omschrijving": {
            "description": "Omschrijving van de werkzaamheid.",
            "type": "string"
          },
          "functioneleStructuurRef": {
            "description": "De functioneleStructuurRef van de werkzaamheid.",
            "type": "string"
          },
          "trefwoorden": {
            "description": "Trefwoorden van de werkzaamheid.",
            "type": "array",
            "minItems": 0,
            "items": {
              "$ref": "#/components/schemas/Trefwoord"
            }
          }
        }
      },
      "WerkzaamheidHALResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/WerkzaamheidResponse"
          },
          {
            "required": [
              "_links"
            ],
            "properties": {
              "_links": {
                "required": [
                  "self",
                  "activiteitKoppelingen",
                  "logischeRelaties"
                ],
                "properties": {
                  "self": {
                    "$ref": "#/components/schemas/HalLink"
                  },
                  "activiteitKoppelingen": {
                    "description": "HAL link om de activiteit koppelingen op te halen.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/HalLink"
                      }
                    ]
                  },
                  "logischeRelaties": {
                    "description": "HAL link om de logische relaties naar andere werkzaamheden op te halen.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/HalLink"
                      }
                    ]
                  }
                }
              },
              "_embedded": {
                "required": [
                  "logischeRelaties"
                ],
                "properties": {
                  "logischeRelaties": {
                    "description": "De werkzaamheden waarnaar een logische relatie bestaat.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/WerkzaamheidHALResponse"
                    }
                  }
                }
              }
            }
          }
        ]
      },
      "WerkzaamheidBeherenResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/WerkzaamheidResponse"
          },
          {
            "required": [
              "_links"
            ],
            "properties": {
              "_links": {
                "deprecated": true,
                "required": [
                  "self",
                  "activiteitKoppelingen",
                  "logischeRelaties"
                ],
                "properties": {
                  "self": {
                    "$ref": "#/components/schemas/HalLink"
                  },
                  "activiteitKoppelingen": {
                    "description": "HAL link om de activiteit koppelingen op te halen.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/HalLink"
                      }
                    ]
                  },
                  "logischeRelaties": {
                    "description": "HAL link om de logische relaties naar andere werkzaamheden op te halen.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/HalLink"
                      }
                    ]
                  }
                }
              },
              "_embedded": {
                "required": [
                  "logischeRelaties"
                ],
                "properties": {
                  "logischeRelaties": {
                    "description": "De werkzaamheden waarnaar een logische relatie bestaat.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/WerkzaamheidHALResponse"
                    }
                  }
                }
              }
            }
          }
        ]
      },
      "ActiviteitKoppelingHALResponseList": {
        "required": [
          "_links",
          "page"
        ],
        "properties": {
          "_embedded": {
            "required": [
              "activiteitKoppelingen"
            ],
            "properties": {
              "activiteitKoppelingen": {
                "type": "array",
                "minItems": 1,
                "items": {
                  "$ref": "#/components/schemas/ActiviteitKoppelingHALResponse"
                }
              }
            }
          },
          "_links": {
            "$ref": "#/components/schemas/HalPaginationLinks"
          },
          "page": {
            "$ref": "#/components/schemas/Page"
          }
        }
      },
      "ActiviteitKoppelingHALResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ActiviteitKoppeling"
          },
          {
            "required": [
              "_links"
            ],
            "properties": {
              "_links": {
                "required": [
                  "self",
                  "activiteit"
                ],
                "properties": {
                  "self": {
                    "description": "HAL link naar deze koppeling.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/HalLink"
                      }
                    ]
                  },
                  "activiteit": {
                    "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.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/HalLink"
                      }
                    ]
                  }
                }
              }
            }
          }
        ]
      },
      "ActiviteitKoppeling": {
        "required": [
          "urn"
        ],
        "properties": {
          "urn": {
            "$ref": "#/components/schemas/ActiviteitUrn"
          }
        }
      },
      "WerkzaamheidRelatieHALResponseList": {
        "required": [
          "_links",
          "page"
        ],
        "properties": {
          "_embedded": {
            "required": [
              "logischeRelaties"
            ],
            "properties": {
              "logischeRelaties": {
                "type": "array",
                "minItems": 1,
                "items": {
                  "$ref": "#/components/schemas/WerkzaamheidRelatieHALResponse"
                }
              }
            }
          },
          "_links": {
            "$ref": "#/components/schemas/HalPaginationLinks"
          },
          "page": {
            "$ref": "#/components/schemas/Page"
          }
        }
      },
      "WerkzaamheidRelatieHALResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/WerkzaamheidRelatie"
          },
          {
            "required": [
              "_links"
            ],
            "properties": {
              "_links": {
                "required": [
                  "self",
                  "werkzaamheid"
                ],
                "properties": {
                  "self": {
                    "description": "HAL link naar deze relatie. Een DELETE operatie op deze url zal de relatie verwijderen.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/HalLink"
                      }
                    ]
                  },
                  "werkzaamheid": {
                    "description": "HAL link om de gerelateerde werkzaamheid op te halen.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/HalLink"
                      }
                    ]
                  }
                }
              }
            }
          }
        ]
      },
      "WerkzaamheidRelatie": {
        "required": [
          "urn"
        ],
        "properties": {
          "urn": {
            "type": "string",
            "description": "Urn van de gerelateerde werkzaamheid (In de urn mogen geen spaties voorkomen)",
            "allOf": [
              {
                "$ref": "#/components/schemas/WerkzaamheidUrn"
              }
            ]
          }
        }
      },
      "Locatie": {
        "required": [
          "identificatie",
          "beginDatum"
        ],
        "properties": {
          "identificatie": {
            "description": "Unieke imow identificatie van de locatie",
            "type": "string"
          },
          "beginDatum": {
            "description": "De datum vanaf wanneer de locatie verbonden is aan de activiteit. Het formaat van de datum is dd-MM-yyyy.",
            "type": "string",
            "allOf": [
              {
                "$ref": "#/components/schemas/Datum"
              }
            ]
          },
          "eindDatum": {
            "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",
            "allOf": [
              {
                "$ref": "#/components/schemas/Datum"
              }
            ]
          }
        }
      },
      "OrganisatieMetBgCode": {
        "allOf": [
          {
            "description": "Organisatie",
            "required": [
              "oin",
              "bestuurslaag"
            ],
            "properties": {
              "oin": {
                "description": "OIN van de organisatie",
                "type": "string",
                "minLength": 20,
                "maxLength": 20
              },
              "bestuurslaag": {
                "$ref": "#/components/schemas/Bestuurslaag"
              }
            }
          },
          {
            "properties": {
              "organisatieType": {
                "type": "string",
                "description": "organisatieType (niet-numerieke deel van de BG code)"
              },
              "organisatieCode": {
                "type": "string",
                "description": "organisatieCode (CBS code, het numerieke deel van de BG code)"
              }
            }
          }
        ]
      },
      "OrganisatieMetOptioneelOin": {
        "description": "Organisatie",
        "required": [
          "bestuurslaag"
        ],
        "properties": {
          "oin": {
            "type": "string",
            "minLength": 20,
            "maxLength": 20
          },
          "bestuurslaag": {
            "$ref": "#/components/schemas/Bestuurslaag"
          }
        }
      },
      "ActiviteitTypering": {
        "description": "Typering van de activiteit",
        "type": "string",
        "enum": [
          "Water",
          "Milieubelastende",
          "Overige"
        ]
      },
      "Bestuurslaag": {
        "description": "Bestuurslaag van een Organisatie",
        "type": "string",
        "enum": [
          "rijk",
          "provincie",
          "waterschap",
          "gemeente"
        ]
      },
      "RegelbeheerobjectType": {
        "description": "Type regelbeheerobject",
        "type": "string",
        "enum": [
          "Conclusie",
          "Indieningsvereisten",
          "Maatregelen"
        ]
      },
      "ToestemmingResponse": {
        "required": [
          "code",
          "waarde"
        ],
        "properties": {
          "code": {
            "type": "string",
            "description": "Code van de toestemming",
            "enum": [
              "Vergunning",
              "Melding",
              "Informatie",
              "InformatieOngewoonVoorval",
              "AanvraagMaatwerkvoorschrift",
              "MeldingGelijkwaardigeMaatregel",
              "AanvraagToestemmingGelijkwaardigeMaatregel"
            ]
          },
          "waarde": {
            "type": "string",
            "description": "Waarde van het toestemmingstype."
          }
        }
      },
      "Datum": {
        "description": "Datum in het formaat dd-MM-yyyy.",
        "type": "string",
        "pattern": "^\\d{2}-\\d{2}-\\d{4}$",
        "example": "01-01-2023"
      },
      "HalPaginationLinks": {
        "description": "Links om te navigeren door de paginering",
        "required": [
          "self",
          "first",
          "last"
        ],
        "properties": {
          "self": {
            "description": "uri voor het opvragen van de huidige pagina van deze collectie",
            "allOf": [
              {
                "$ref": "#/components/schemas/HalLink"
              }
            ]
          },
          "first": {
            "description": "uri voor het opvragen van de eerste pagina van deze collectie",
            "allOf": [
              {
                "$ref": "#/components/schemas/HalLink"
              }
            ]
          },
          "last": {
            "description": "uri voor het opvragen van de laatste pagina van deze collectie",
            "allOf": [
              {
                "$ref": "#/components/schemas/HalLink"
              }
            ]
          },
          "prev": {
            "description": "uri voor het opvragen van de vorige pagina van deze collectie",
            "allOf": [
              {
                "$ref": "#/components/schemas/HalLink"
              }
            ]
          },
          "next": {
            "description": "uri voor het opvragen van de volgende pagina van deze collectie",
            "allOf": [
              {
                "$ref": "#/components/schemas/HalLink"
              }
            ]
          }
        }
      },
      "Page": {
        "description": "Info voor paginering.",
        "type": "object",
        "required": [
          "size",
          "totalElements",
          "totalPages",
          "number"
        ],
        "properties": {
          "size": {
            "deprecated": true,
            "description": "het aantal items op de huidige pagina. Let op: in een volgende versie wordt dit de gevraagde paginagrootte.",
            "type": "integer",
            "minimum": 0
          },
          "totalElements": {
            "description": "het totaal aantal items in deze collectie",
            "type": "integer",
            "minimum": 0
          },
          "totalPages": {
            "description": "het totaal aantal pagina's in deze collectie",
            "type": "integer",
            "minimum": 0
          },
          "number": {
            "description": "het huidige paginanummer",
            "type": "integer",
            "minimum": 1
          }
        }
      },
      "HalLink": {
        "description": "HAL link",
        "required": [
          "href"
        ],
        "properties": {
          "href": {
            "description": "URI",
            "type": "string"
          }
        }
      },
      "HalLinks": {
        "description": "Lijst van HAL links",
        "type": "array",
        "minItems": 0,
        "items": {
          "$ref": "#/components/schemas/HalLink"
        }
      }
    }
  },
  "x-wso2-security": {
    "apim": {
      "x-wso2-scopes": [
        {
          "name": "beherenWerkzaamheden",
          "description": "",
          "key": "beherenWerkzaamheden",
          "roles": "applicatie.werkzaamheden,beheerder.dso"
        }
      ]
    }
  },
  "x-wso2-cors": {
    "accessControlAllowOrigins": [
      "*"
    ],
    "corsConfigurationEnabled": true,
    "accessControlAllowCredentials": false,
    "accessControlAllowMethods": [
      "GET",
      "PUT",
      "POST",
      "DELETE",
      "PATCH",
      "OPTIONS"
    ],
    "accessControlAllowHeaders": [
      "authorization",
      "Access-Control-Allow-Origin",
      "Content-Type",
      "SOAPAction"
    ]
  }
}

