{
  "openapi" : "3.0.3",
  "info" : {
    "title" : "Verzoekconfiguratie-Beheren",
    "description" : "Services voor het beheren 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" : "Deprecated health info, gebruik /app-health.",
        "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/{oin}" : {
      "put" : {
        "summary" : "Creëren / wijzigen ideeverkenningconfiguratie.",
        "operationId" : "ideeverkenningConfiguratiePost",
        "description" : "Deze service creëert / wijzigt een ideeverkenningconfiguratie.",
        "parameters" : [ {
          "$ref" : "#/components/parameters/OIN"
        } ],
        "requestBody" : {
          "description" : "De ideeverkenningconfiguratie",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/IdeeVerkenningConfiguratie"
              }
            }
          }
        },
        "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"
                }
              }
            }
          },
          "500" : {
            "description" : "Interne serverfout",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          }
        }
      }
    },
    "/notificatieversieConfiguraties/{oin}" : {
      "put" : {
        "summary" : "Creëren / wijzigen notificatieversieconfiguratie.",
        "operationId" : "notificatieversieConfiguratiePost",
        "description" : "Deze service creëert / wijzigt een notificatieversieconfiguratie.",
        "parameters" : [ {
          "$ref" : "#/components/parameters/OIN"
        } ],
        "requestBody" : {
          "description" : "De notificatieversieconfiguratie",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/NotificatieversieConfiguratie"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "De notificatieversieconfiguratie",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/NotificatieversieConfiguratie"
                }
              }
            }
          },
          "400" : {
            "description" : "Validatiefout. Mogelijk foutsituaties:\n  - Opgegeven versie is onjuist. Alleen de volgende versies zijn toegestaan...\n  - De organisatie waarvoor u deze actie wilt uitvoeren accepteert ideeverkenning. Dit is alleen mogelijke met notificatieversie 5 of hoger.\n  - https://content.omgevingswet.overheid.nl/id/concept/validatie/Swagger\n    - De wijziging voldoet niet aan de swagger specificatie.",
            "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/beheren/v1"
  } ],
  "security" : [ {
    "bearerAuth" : [ ]
  } ],
  "components" : {
    "securitySchemes" : {
      "bearerAuth" : {
        "type" : "http",
        "scheme" : "bearer",
        "bearerFormat" : "JWT"
      }
    },
    "parameters" : {
      "OIN" : {
        "name" : "oin",
        "in" : "path",
        "required" : true,
        "description" : "Het OIN van het bevoegd gezag.",
        "schema" : {
          "type" : "string",
          "pattern" : "^\\d{20}$"
        }
      }
    },
    "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", "stamVersion" ],
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "version" : {
            "type" : "string"
          },
          "stamVersion" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        },
        "example" : {
          "name" : "Verzoekconfiguratie-Beheren",
          "version" : "1.0.9",
          "stamVersion" : [ "5", "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" ]
        }
      },
      "IdeeVerkenningConfiguratie" : {
        "required" : [ "oin", "toegestaan", "toelichting" ],
        "properties" : {
          "oin" : {
            "type" : "string",
            "pattern" : "^\\d{20}$",
            "description" : "het OIN van het bevoegd gezag"
          },
          "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" : {
        "type" : "object",
        "required" : [ "oin", "versie" ],
        "properties" : {
          "oin" : {
            "type" : "string",
            "pattern" : "^\\d{20}$",
            "description" : "het OIN van het bevoegd gezag"
          },
          "versie" : {
            "type" : "string",
            "pattern" : "^\\d{1,5}$",
            "example" : "6",
            "description" : "de notificatieversie die wordt ondersteund."
          }
        }
      }
    }
  }
}