{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/amsterdam-nl/json-schema/amsterdam-nl-gebiedenbouwblokken-schema.json",
  "title": "Gebiedenbouwblokken",
  "description": "Een bouwblok is het kleinst mogelijk afgrensbare gebied, in zijn geheel tot een buurt behorend, dat geheel of grotendeels door bestaande of aan te leggen wegen en/of waterlopen is of zal zijn ingesloten en waarop tenminste één gebouw met verblijfsobject staat op maaiveld niveau. Dus ondergrondse garages en metrostations krijgen géén bouwblok",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/amsterdam-nl-gebieden-openapi.yml#/components/schemas/Gebiedenbouwblokken",
  "type": "object",
  "properties": {
    "_links": {
      "allOf": [
        {
          "$ref": "#/$defs/GebiedendefaultBouwblokkenLinks"
        }
      ],
      "title": " links"
    },
    "identificatie": {
      "type": "string",
      "title": "Object ID",
      "description": "Uniek identificerend kenmerk voor het object dat onveranderlijk is zolang het object bestaat"
    },
    "volgnummer": {
      "type": "integer",
      "maximum": 9223372036854775807,
      "minimum": -9223372036854775808,
      "format": "int64",
      "title": "Object volgnummer",
      "description": "Uniek volgnummer van de toestand van het object"
    },
    "registratiedatum": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "title": "Object registratiedatum",
      "description": "Datum waarop het gegeven in de bron geregistreerd is"
    },
    "code": {
      "type": [
        "string",
        "null"
      ],
      "title": "Object code",
      "description": "Officiële code van het object"
    },
    "beginGeldigheid": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "title": "Object geldigheid startdatum",
      "description": "De ingangsdatum van de geldigheid van een bepaalde combinatie van gegevens over een bouwblok"
    },
    "eindGeldigheid": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "title": "Object geldigheid einddatum",
      "description": "De einddatum van de geldigheid van een bepaalde combinatie van gegevens over een bouwblok"
    },
    "ligtInBuurtId": {
      "type": [
        "string",
        "null"
      ],
      "title": "Bouwblok ligt in buurt",
      "description": "De buurt waar het bouwblok in ligt",
      "readOnly": true,
      "deprecated": true
    },
    "geometrie": {
      "$ref": "#/$defs/Polygon"
    }
  },
  "required": [
    "_links",
    "identificatie",
    "ligtInBuurtId",
    "volgnummer"
  ],
  "$defs": {
    "GebiedenBouwblokkenLink": {
      "type": "object",
      "description": "The identifier of the relationship to bouwblokken.",
      "properties": {
        "href": {
          "type": "string",
          "format": "uri",
          "readOnly": true
        },
        "title": {
          "type": "string"
        },
        "identificatie": {
          "type": "string",
          "title": "Object ID",
          "description": "Uniek identificerend kenmerk voor het object dat onveranderlijk is zolang het object bestaat"
        },
        "volgnummer": {
          "type": "integer",
          "maximum": 9223372036854775807,
          "minimum": -9223372036854775808,
          "format": "int64",
          "title": "Object volgnummer",
          "description": "Uniek volgnummer van de toestand van het object"
        }
      },
      "required": [
        "href",
        "identificatie",
        "title",
        "volgnummer"
      ]
    },
    "GebiedenBuurtenLink": {
      "type": "object",
      "description": "The identifier of the relationship to buurten.",
      "properties": {
        "href": {
          "type": "string",
          "format": "uri",
          "readOnly": true
        },
        "title": {
          "type": "string"
        },
        "identificatie": {
          "type": "string",
          "title": "Object ID",
          "description": "Uniek identificerend kenmerk voor het object dat onveranderlijk is zolang het object bestaat"
        },
        "volgnummer": {
          "type": "integer",
          "maximum": 9223372036854775807,
          "minimum": -9223372036854775808,
          "format": "int64",
          "title": "Object volgnummer",
          "description": "Uniek volgnummer van de toestand van het object"
        }
      },
      "required": [
        "href",
        "identificatie",
        "title",
        "volgnummer"
      ]
    },
    "GebiedendefaultBouwblokkenLinks": {
      "type": "object",
      "description": "The contents of the `bouwblokken._links` field. It contains all relationships with objects.",
      "properties": {
        "schema": {
          "type": "string",
          "format": "uri",
          "description": "The schema field is exposed with every record",
          "readOnly": true
        },
        "self": {
          "$ref": "#/$defs/GebiedenBouwblokkenLink"
        },
        "ligtInBuurt": {
          "$ref": "#/$defs/GebiedenBuurtenLink"
        }
      },
      "required": [
        "ligtInBuurt",
        "schema",
        "self"
      ]
    },
    "Geometry": {
      "type": "object",
      "description": "GeoJSON geometry",
      "required": [
        "type"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "Point",
            "LineString",
            "Polygon",
            "MultiPoint",
            "MultiLineString",
            "MultiPolygon"
          ],
          "description": "the geometry type"
        },
        "coordinates": {
          "type": "array",
          "minItems": 2,
          "description": "Based on the geometry type, a point or collection of points.",
          "items": {
            "type": "number"
          }
        }
      }
    },
    "Point3D": {
      "type": "array",
      "description": "Point in 3D space",
      "minItems": 2,
      "maxItems": 3,
      "items": {
        "type": "number"
      }
    },
    "Polygon": {
      "type": "object",
      "description": "GeoJSON geometry",
      "allOf": [
        {
          "$ref": "#/$defs/Geometry"
        },
        {
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "Polygon"
              ]
            },
            "coordinates": {
              "type": "array",
              "items": {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/Point3D"
                }
              }
            }
          }
        }
      ]
    }
  }
}