{
  "openapi" : "3.0.3",
  "info" : {
    "title" : "Verzoekconfiguratie-Opvragen",
    "description" : "Services voor het opvragen van ideeverkenningconfiguraties en notificatieversieconfiguraties.",
    "contact" : {
      "name" : "DSO Ontwikkelaarsportaal",
      "url" : "https://developer.omgevingswet.overheid.nl/services/contact/"
    },
    "license" : {
      "name" : "DSO Copyright",
      "url" : "https://developer.omgevingswet.overheid.nl/site/copyright/"
    },
    "version" : "1.1.0"
  },
  "tags" : [ {
    "name" : "Configuratie",
    "description" : "Verzoekgerelateerde configuraties"
  } ],
  "paths" : {
    "/" : {
      "get" : {
        "deprecated" : true,
        "summary" : "Deprecated OpenApi Specification endpoint. Gebruik /openapi.json of /openapi.yaml.",
        "operationId" : "specification",
        "x-auth-type" : "None",
        "security" : [ ],
        "tags" : [ "Meta" ],
        "responses" : {
          "200" : {
            "description" : "OpenApi Specification Json",
            "content" : {
              "application/json" : {
                "schema" : {
                  "example" : "{\"openapi\": \"3.0.3\", ... }"
                }
              }
            }
          }
        }
      }
    },
    "/openapi.json" : {
      "get" : {
        "operationId" : "specificationJson",
        "summary" : "OpenApi Specification Json",
        "x-auth-type" : "None",
        "security" : [ ],
        "tags" : [ "Meta" ],
        "responses" : {
          "200" : {
            "description" : "OpenApi Specification Json",
            "content" : {
              "application/json" : {
                "schema" : {
                  "example" : "{\"openapi\": \"3.0.3\", ... }"
                }
              }
            }
          }
        }
      }
    },
    "/openapi.yaml" : {
      "get" : {
        "operationId" : "specificationYaml",
        "summary" : "OpenApi Specification Yaml",
        "x-auth-type" : "None",
        "security" : [ ],
        "tags" : [ "Meta" ],
        "responses" : {
          "200" : {
            "description" : "OpenApi Specification Yaml",
            "content" : {
              "application/yaml" : {
                "schema" : {
                  "example" : "openapi: 3.0.3\n..."
                }
              }
            }
          }
        }
      }
    },
    "/health" : {
      "get" : {
        "operationId" : "health",
        "summary" : "health info",
        "security" : [ ],
        "tags" : [ "Meta" ],
        "responses" : {
          "200" : {
            "description" : "Health",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Health"
                }
              }
            }
          },
          "503" : {
            "description" : "Health",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Health"
                }
              }
            }
          }
        }
      }
    },
    "/app-health" : {
      "get" : {
        "operationId" : "app-health",
        "summary" : "health info endpoint heeft een voorkeur boven de /health endpoint.",
        "security" : [ ],
        "tags" : [ "Meta" ],
        "responses" : {
          "200" : {
            "description" : "Health",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Health"
                }
              }
            }
          },
          "503" : {
            "description" : "Health",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Health"
                }
              }
            }
          }
        }
      }
    },
    "/info" : {
      "get" : {
        "operationId" : "info",
        "summary" : "Deprecated applicatie info, gebruik /app-info.",
        "security" : [ ],
        "tags" : [ "Meta" ],
        "responses" : {
          "200" : {
            "description" : "Info",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Info"
                }
              }
            }
          }
        }
      }
    },
    "/app-info" : {
      "get" : {
        "operationId" : "app-info",
        "summary" : "applicatie info endpoint heeft een voorkeur boven de /info endpoint.",
        "security" : [ ],
        "tags" : [ "Meta" ],
        "responses" : {
          "200" : {
            "description" : "Info",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Info"
                }
              }
            }
          }
        }
      }
    },
    "/ideeverkenningConfiguraties" : {
      "post" : {
        "summary" : "Geeft de ideeverkenningconfiguraties voor een bepaalde locatie.",
        "operationId" : "bepaalIdeeverkenningConfiguraties",
        "description" : "Geeft voor elk bevoegd gezag dat geldt voor de opgegeven locatie een ideeverkenningconfiguratie terug. Voor een bevoegd gezag die geen configuratie heeft opgeslagen wordt de default ideeverkenningconfiguratie geretourneerd. De geretourneerde lijst is gesorteerd op organisatie type in de volgorde Gemeente, Waterschap en Provincie en binnen deze groepen niet-hoofdlettergevoelig gesorteerd op bevoegdGezagNaam.",
        "parameters" : [ {
          "$ref" : "#/components/parameters/ContentCrsHeader"
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "required" : [ "geometrie" ],
                "properties" : {
                  "geometrie" : {
                    "oneOf" : [ {
                      "$ref" : "#/components/schemas/Point"
                    }, {
                      "$ref" : "#/components/schemas/Polygon"
                    }, {
                      "$ref" : "#/components/schemas/GeometryCollection"
                    } ]
                  }
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Lijst van ideeverkenningconfiguraties.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/IdeeVerkenningConfiguratieMetBevoegdGezagNaam"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Validatiefout",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ValidatieFout"
                }
              }
            }
          },
          "401" : {
            "description" : "Gebruiker heeft geen toestemming om deze actie uit te voeren.",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "500" : {
            "description" : "Interne serverfout",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          }
        }
      }
    },
    "/ideeverkenningConfiguraties/{oin}" : {
      "get" : {
        "summary" : "Ophalen ideeverkenningconfiguratie voor een bepaald bevoegd gezag.",
        "operationId" : "ideeverkenningConfiguratieGet",
        "description" : "Deze service retourneert de ideeverkenningconfiguratie van het gegeven bevoegde gezag.",
        "parameters" : [ {
          "$ref" : "#/components/parameters/OIN"
        } ],
        "responses" : {
          "200" : {
            "description" : "De ideeverkenningconfiguratie",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IdeeVerkenningConfiguratie"
                }
              }
            }
          },
          "400" : {
            "description" : "Validatiefout",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ValidatieFout"
                }
              }
            }
          },
          "401" : {
            "description" : "Gebruiker heeft geen toestemming om deze actie uit te voeren.",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "404" : {
            "description" : "Ideeverkenningconfiguratie niet gevonden.",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "500" : {
            "description" : "Interne serverfout",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          }
        }
      }
    },
    "/notificatieversieConfiguraties/{oin}" : {
      "get" : {
        "summary" : "Ophalen notificatieversieconfiguratie.",
        "operationId" : "notificatieversieConfiguratieGet",
        "description" : "Deze service retourneert de notificatieversie van het gegeven bevoegde gezag.",
        "parameters" : [ {
          "$ref" : "#/components/parameters/OIN"
        } ],
        "responses" : {
          "200" : {
            "description" : "De notificatieversieconfiguratie",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/NotificatieversieConfiguratie"
                }
              }
            }
          },
          "400" : {
            "description" : "Validatiefout",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ValidatieFout"
                }
              }
            }
          },
          "401" : {
            "description" : "Gebruiker heeft geen toestemming om deze actie uit te voeren.",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "500" : {
            "description" : "Interne serverfout",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          }
        }
      }
    }
  },
  "servers" : [ {
    "url" : "/api/opvragen/v1"
  } ],
  "security" : [ {
    "apiKeyHeader" : [ ]
  } ],
  "components" : {
    "securitySchemes" : {
      "apiKeyHeader" : {
        "type" : "apiKey",
        "in" : "header",
        "name" : "x-api-key",
        "description" : "De api-key ter authenticatie, verkrijgbaar via het ontwikkelaarsportaal"
      }
    },
    "parameters" : {
      "ContentCrsHeader" : {
        "name" : "Content-Crs",
        "in" : "header",
        "description" : "De EPSG code van het coordinaatstelsel van de meegegeven geometrie. RD of ETRS89.",
        "required" : true,
        "schema" : {
          "type" : "string",
          "example" : "EPSG:28992",
          "enum" : [ "EPSG:28992", "EPSG:4258" ]
        }
      },
      "OIN" : {
        "name" : "oin",
        "in" : "path",
        "required" : true,
        "description" : "Het OIN van het bevoegd gezag.",
        "schema" : {
          "$ref" : "#/components/schemas/OIN"
        }
      }
    },
    "schemas" : {
      "Fout" : {
        "required" : [ "type", "title", "status" ],
        "properties" : {
          "type" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          },
          "status" : {
            "type" : "integer",
            "format" : "int64"
          },
          "instance" : {
            "type" : "string"
          }
        }
      },
      "401" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/Fout"
        } ],
        "properties" : {
          "detail" : {
            "type" : "string"
          }
        },
        "example" : {
          "type" : "https://content.omgevingswet.overheid.nl/id/concept/Ongeautoriseerd",
          "title" : "Authenticatiegegevens ontbreken of zijn onjuist.",
          "status" : 401,
          "detail" : "U bent niet geautoriseerd voor deze configuratie.",
          "instance" : "539f14d69f2fba81"
        }
      },
      "404" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/Fout"
        } ],
        "properties" : {
          "detail" : {
            "type" : "string"
          }
        },
        "example" : {
          "type" : "https://content.omgevingswet.overheid.nl/id/concept/BestaatNiet",
          "title" : "Niet gevonden.",
          "status" : 404,
          "detail" : "Ideeverkenningconfiguratie niet gevonden.",
          "instance" : "539f14d69f2fba81"
        }
      },
      "500" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/Fout"
        } ],
        "properties" : {
          "detail" : {
            "type" : "string"
          }
        },
        "example" : {
          "type" : "https://content.omgevingswet.overheid.nl/id/concept/ServerFout",
          "title" : "Interne serverfout",
          "status" : 500,
          "detail" : "Er is iets mis gegaan.",
          "instance" : "539f14d69f2fba81"
        }
      },
      "ValidatieFout" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/Fout"
        } ],
        "properties" : {
          "invalid-params" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/InvalidParams"
            }
          }
        },
        "example" : {
          "type" : "https://content.omgevingswet.overheid.nl/id/concept/ValidatieMislukt",
          "title" : "Validatie mislukt",
          "status" : 400,
          "invalid-params" : [ {
            "type" : "https://content.omgevingswet.overheid.nl/id/concept/validatie/Verplicht",
            "name" : "exampleField",
            "reason" : "example reason"
          } ]
        }
      },
      "InvalidParams" : {
        "required" : [ "type", "name", "reason" ],
        "properties" : {
          "type" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "reason" : {
            "type" : "string"
          }
        }
      },
      "Info" : {
        "description" : "Info",
        "required" : [ "name", "version" ],
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "version" : {
            "type" : "string"
          }
        },
        "example" : {
          "name" : "Verzoekconfiguratie-Opvragen",
          "version" : "1.0.6"
        }
      },
      "Health" : {
        "description" : "Health",
        "properties" : {
          "apiVersion" : {
            "description" : "spring boot actuator api version",
            "type" : "string"
          },
          "status" : {
            "type" : "string",
            "enum" : [ "UP", "DOWN", "OUT_OF_SERVICE" ]
          },
          "groups" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        },
        "example" : {
          "apiVersion" : "V3",
          "status" : "UP",
          "groups" : [ "downstreamServices", "self" ]
        }
      },
      "IdeeVerkenningConfiguratieMetBevoegdGezagNaam" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/IdeeVerkenningConfiguratie"
        }, {
          "required" : [ "bevoegdGezagNaam" ]
        }, {
          "properties" : {
            "bevoegdGezagNaam" : {
              "type" : "string",
              "description" : "de naam van het bevoegd gezag"
            }
          }
        } ]
      },
      "IdeeVerkenningConfiguratie" : {
        "required" : [ "oin", "toegestaan", "toelichting" ],
        "properties" : {
          "oin" : {
            "$ref" : "#/components/schemas/OIN"
          },
          "toegestaan" : {
            "type" : "boolean",
            "description" : "true als ideeverkenning is toegestaan, anders false"
          },
          "toelichting" : {
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 6144,
            "description" : "de toelichting welke in het omgevingsloket getoond kan worden, in MarkDown."
          }
        }
      },
      "NotificatieversieConfiguratie" : {
        "required" : [ "oin", "versie" ],
        "properties" : {
          "oin" : {
            "$ref" : "#/components/schemas/OIN"
          },
          "versie" : {
            "type" : "string",
            "example" : "6",
            "description" : "de notificatieversie die wordt ondersteund."
          }
        }
      },
      "Point" : {
        "title" : "Punt",
        "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" : {
            "$ref" : "#/components/schemas/Position"
          }
        },
        "example" : {
          "type" : "Point",
          "coordinates" : [ 1, 2 ]
        }
      },
      "Polygon" : {
        "title" : "Vlak",
        "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 het polygoon volgens https://tools.ietf.org/html/rfc7946#section-3.1.6",
            "type" : "array",
            "items" : {
              "type" : "array",
              "minItems" : 4,
              "items" : {
                "$ref" : "#/components/schemas/Position"
              }
            }
          }
        },
        "example" : {
          "type" : "Polygon",
          "coordinates" : [ [ [ 92879.88, 436405.07 ], [ 93390.88, 436893.58 ], [ 92968.36, 436872.3 ], [ 92879.88, 436405.07 ] ], [ [ 92870.88, 436400.07 ], [ 93390.88, 436893.58 ], [ 92968.36, 436872.3 ], [ 92870.88, 436400.07 ] ] ]
        }
      },
      "GeometryCollection" : {
        "title" : "Vlak",
        "description" : "GeoJSON GeometryCollection gespecificeerd volgens https://tools.ietf.org/html/rfc7946#section-3.1.8 Alleen een GeometryCollection met Polygonen wordt ondersteund.",
        "type" : "object",
        "required" : [ "type", "geometries" ],
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [ "GeometryCollection" ]
          },
          "geometries" : {
            "description" : "De geometries van de GeometryCollection volgens https://tools.ietf.org/html/rfc7946#section-3.1.8",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Polygon"
            }
          }
        },
        "example" : {
          "type" : "GeometryCollection",
          "geometries" : [ {
            "type" : "Polygon",
            "coordinates" : [ [ [ 92879.88, 436405.07 ], [ 93390.88, 436893.58 ], [ 92968.36, 436872.3 ], [ 92879.88, 436405.07 ] ], [ [ 92870.88, 436400.07 ], [ 93390.88, 436893.58 ], [ 92968.36, 436872.3 ], [ 92870.88, 436400.07 ] ] ]
          }, {
            "type" : "Polygon",
            "coordinates" : [ [ [ 92879.88, 436405.07 ], [ 93390.88, 436893.58 ], [ 92968.36, 436872.3 ], [ 92879.88, 436405.07 ] ], [ [ 92870.88, 436400.07 ], [ 93390.88, 436893.58 ], [ 92968.36, 436872.3 ], [ 92870.88, 436400.07 ] ] ]
          } ]
        }
      },
      "Position" : {
        "description" : "De coördinaten van het punt waarbij het 1e item de\nx-coördinaat (longitude) is en het 2e item de y-coördinaat (latitude), gespecificeerd\nvolgens https://tools.ietf.org/html/rfc7946#section-3.1.1\n\n```\nRD; [92949.643, 436720.672]\nWGS84; [4.48531, 51.915512]\nETRS89; [4.48531, 51.915512]\n```\n",
        "type" : "array",
        "minItems" : 2,
        "items" : {
          "type" : "number"
        },
        "example" : [ 92949.643, 436720.672 ]
      },
      "OIN" : {
        "type" : "string",
        "pattern" : "^\\d{20}$",
        "description" : "het OIN van het bevoegd gezag"
      }
    }
  }
}