{
  "openapi": "3.0.3",
  "info": {
    "title": "DHT",
    "version": "1.0.0",
    "description": "Dataset Huurgegevens Toeslagen"
  },
  "servers": [
    {
      "url": "https://localhost:8443/v1"
    }
  ],
  "paths": {
    "/v1/huurgegevens": {
      "get": {
        "operationId": "getHuurgegevens",
        "summary": "Get all huurgegevens",
        "responses": {
          "200": {
            "description": "Huurgegevens",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "huurgegevens": {
                      "type": "array",
                      "maxItems": 10000,
                      "description": "huurgegevens",
                      "items": {
                        "$ref": "#/components/schemas/huurgegeven"
                      }
                    }
                  },
                  "required": ["huurgegevens"]
                }
              }
            }
          },
          "404": {
            "description": "Huurgegeven not found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/v1/huurgegevens/locaties/{verhuurobject_id}": {
      "get": {
        "operationId": "getHuurgegeven",
        "summary": "Get a huurgegeven by id",
        "parameters": [
          {
            "in": "path",
            "name": "verhuurobject_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "huurgegeven",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/huurgegeven"
                }
              }
            }
          },
          "404": {
            "description": "Huurgegeven not found"
          }
        }
      }
    },
    "/v1/huurgegevens/personen/{bsn}": {
      "get": {
        "operationId": "getHuurgegeven_by_bsn",
        "summary": "Get a huurgegeven by a BSN",
        "parameters": [
          {
            "in": "path",
            "name": "bsn",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "huurgegeven",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/huurgegeven"
                }
              }
            }
          },
          "404": {
            "description": "Huurgegeven not found"
          }
        }
      }
    },
    "/v1/health": {
      "get": {
        "operationId": "getHealth",
        "summary": "health endpoint for the Administrator API",
        "responses": {
          "200": {
            "description": "Administrator API is healthy"
          },
          "503": {
            "description": "Administrator API is unhealthy"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "huurgegeven": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "verhuurder_naam": {
            "type": "string"
          },
          "verhuurder_kvk_nummer": {
            "type": "string"
          },
          "huurder_naam": {
            "type": "string"
          },
          "huurder_bsn": {
            "type": "string"
          },
          "verhuurobject_adres": {
            "type": "string"
          },
          "verhuur": {
            "type": "string"
          },
          "koppeling_kvk": {
            "type": "boolean"
          },
          "koppeling_brp": {
            "type": "boolean"
          },
          "koppeling_bag": {
            "type": "boolean"
          },
          "kale_huur_per_maand": {
            "type": "string"
          },
          "servicekosten_per_maand": {
            "type": "string"
          },
          "ingangsdatum_huurovereenkomst": {
            "type": "string",
            "format": "date"
          },
          "einddatum_huurovereenkomst": {
            "type": "string",
            "format": "date"
          },
          "datum_registratie": {
            "type": "string",
            "format": "date"
          }
        },
        "required": ["id", "verhuurder_naam"]
      }
    }
  }
}
