{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/vng-realisatie/main/json-schema/vng-realisatie-zaak-schema.json", "title": "Zaak", "description": "Set gegevensgroepdata from validated nested data.\n\nUsage: include the mixin on the ModelSerializer that has gegevensgroepen.", "x-generated": "2026-10-09", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/vng-realisatie-zaken-openapi.yml#/components/schemas/Zaak", "type": "object", "properties": { "url": { "type": "string", "format": "uri", "readOnly": true, "title": "url", "description": "URL-referentie naar dit object. Dit is de unieke identificatie en locatie van dit object.", "minLength": 1, "maxLength": 1000 }, "uuid": { "type": "string", "format": "uuid", "readOnly": true, "description": "Unieke resource identifier (UUID4)", "title": "uuid" }, "identificatie": { "type": "string", "description": "De unieke identificatie van de ZAAK binnen de organisatie die verantwoordelijk is voor de behandeling van de ZAAK.", "title": "identificatie", "maxLength": 40 }, "bronorganisatie": { "type": "string", "description": "Het RSIN van de Niet-natuurlijk persoon zijnde de organisatie die de zaak heeft gecreeerd. Dit moet een geldig RSIN zijn van 9 nummers en voldoen aan https://nl.wikipedia.org/wiki/Burgerservicenummer#11-proef", "title": "bronorganisatie", "maxLength": 9 }, "omschrijving": { "type": "string", "description": "Een korte omschrijving van de zaak.", "title": "omschrijving", "maxLength": 80 }, "toelichting": { "type": "string", "description": "Een toelichting op de zaak.", "title": "toelichting", "maxLength": 1000 }, "zaaktype": { "type": "string", "format": "uri", "description": "URL-referentie naar het ZAAKTYPE (in de Catalogi API) in de CATALOGUS waar deze voorkomt", "title": "zaaktype", "maxLength": 1000 }, "registratiedatum": { "type": "string", "format": "date", "description": "De datum waarop de zaakbehandelende organisatie de ZAAK heeft geregistreerd. Indien deze niet opgegeven wordt, wordt de datum van vandaag gebruikt.", "title": "registratiedatum" }, "verantwoordelijkeOrganisatie": { "type": "string", "description": "Het RSIN van de Niet-natuurlijk persoon zijnde de organisatie die eindverantwoordelijk is voor de behandeling van de zaak. Dit moet een geldig RSIN zijn van 9 nummers en voldoen aan https://nl.wikipedia.org/wiki/Burgerservicenummer#11-proef", "title": "verantwoordelijke organisatie", "maxLength": 9 }, "startdatum": { "type": "string", "format": "date", "description": "De datum waarop met de uitvoering van de zaak is gestart", "title": "startdatum" }, "einddatum": { "type": [ "string", "null" ], "format": "date", "readOnly": true, "description": "De datum waarop de uitvoering van de zaak afgerond is.", "title": "einddatum" }, "einddatumGepland": { "type": [ "string", "null" ], "format": "date", "description": "De datum waarop volgens de planning verwacht wordt dat de zaak afgerond wordt.", "title": "einddatum gepland" }, "uiterlijkeEinddatumAfdoening": { "type": [ "string", "null" ], "format": "date", "description": "De laatste datum waarop volgens wet- en regelgeving de zaak afgerond dient te zijn.", "title": "uiterlijke einddatum afdoening" }, "publicatiedatum": { "type": [ "string", "null" ], "format": "date", "description": "Datum waarop (het starten van) de zaak gepubliceerd is of wordt.", "title": "publicatiedatum" }, "communicatiekanaal": { "type": "string", "format": "uri", "description": "Het medium waarlangs de aanleiding om een zaak te starten is ontvangen. URL naar een communicatiekanaal in de VNG-Referentielijst van communicatiekanalen.", "title": "communicatiekanaal", "maxLength": 1000 }, "productenOfDiensten": { "type": "array", "items": { "type": "string", "format": "uri", "title": "URL naar product/dienst", "maxLength": 1000 }, "description": "De producten en/of diensten die door de zaak worden voortgebracht. Dit zijn URLs naar de resources zoals die door de producten- en dienstencatalogus-API wordt ontsloten. De producten/diensten moeten bij het zaaktype vermeld zijn.", "title": "producten of diensten" }, "vertrouwelijkheidaanduiding": { "allOf": [ { "$ref": "#/$defs/MaximaleVertrouwelijkheidaanduidingEnum" } ], "title": "Vertrouwlijkheidaanduiding", "description": "Aanduiding van de mate waarin het zaakdossier van de ZAAK voor de openbaarheid bestemd is. Optioneel - indien geen waarde gekozen wordt, dan wordt de waarde van het ZAAKTYPE overgenomen. Dit betekent dat de API _altijd_ een waarde teruggeeft." }, "betalingsindicatie": { "description": "Indicatie of de, met behandeling van de zaak gemoeide, kosten betaald zijn door de desbetreffende betrokkene.\n\nUitleg bij mogelijke waarden:\n\n* `nvt` - Er is geen sprake van te betalen, met de zaak gemoeide, kosten.\n* `nog_niet` - De met de zaak gemoeide kosten zijn (nog) niet betaald.\n* `gedeeltelijk` - De met de zaak gemoeide kosten zijn gedeeltelijk betaald.\n* `geheel` - De met de zaak gemoeide kosten zijn geheel betaald.", "title": "betalingsindicatie", "oneOf": [ { "$ref": "#/$defs/BetalingsindicatieEnum" }, { "$ref": "#/$defs/BlankEnum" } ] }, "betalingsindicatieWeergave": { "type": "string", "readOnly": true, "description": "Uitleg bij `betalingsindicatie`.", "title": "betalingsindicatieWeergave" }, "laatsteBetaaldatum": { "type": [ "string", "null" ], "format": "date-time", "description": "De datum waarop de meest recente betaling is verwerkt van kosten die gemoeid zijn met behandeling van de zaak.", "title": "laatste betaaldatum" }, "zaakgeometrie": { "allOf": [ { "$ref": "#/$defs/GeoJSONGeometry" } ], "nullable": true, "description": "Punt, lijn of (multi-)vlak geometrie-informatie, in GeoJSON.", "title": "zaakgeometrie" }, "verlenging": { "allOf": [ { "$ref": "#/$defs/Verlenging" } ], "nullable": true, "description": "Gegevens omtrent het verlengen van de doorlooptijd van de behandeling van de ZAAK", "title": "verlenging" }, "opschorting": { "allOf": [ { "$ref": "#/$defs/Opschorting" } ], "nullable": true, "description": "Gegevens omtrent het tijdelijk opschorten van de behandeling van de ZAAK", "title": "opschorting" }, "selectielijstklasse": { "type": "string", "format": "uri", "description": "URL-referentie naar de categorie in de gehanteerde 'Selectielijst Archiefbescheiden' die, gezien het zaaktype en het resultaattype van de zaak, bepalend is voor het archiefregime van de zaak.", "title": "selectielijstklasse", "maxLength": 1000 }, "hoofdzaak": { "type": [ "string", "null" ], "format": "uri", "title": "Is deelzaak van", "description": "URL-referentie naar de ZAAK, waarom verzocht is door de initiator daarvan, die behandeld wordt in twee of meer separate ZAAKen waarvan de onderhavige ZAAK er één is.", "minLength": 1, "maxLength": 1000 }, "deelzaken": { "type": "array", "items": { "type": "string", "format": "uri", "title": "" }, "readOnly": true, "description": "URL-referenties naar deel ZAAKen.", "title": "is deelzaak van", "uniqueItems": true }, "relevanteAndereZaken": { "type": "array", "items": { "$ref": "#/$defs/RelevanteZaak" }, "description": "Een lijst van relevante andere zaken.", "title": "zaak" }, "eigenschappen": { "type": "array", "items": { "type": "string", "format": "uri", "title": "" }, "readOnly": true, "title": "zaak", "uniqueItems": true }, "rollen": { "type": "array", "items": { "type": "string", "format": "uri", "title": "" }, "readOnly": true, "title": "zaak", "uniqueItems": true }, "status": { "type": [ "string", "null" ], "format": "uri", "readOnly": true, "description": "Indien geen status bekend is, dan is de waarde 'null'", "title": "status" }, "zaakinformatieobjecten": { "type": "array", "items": { "type": "string", "format": "uri", "title": "" }, "readOnly": true, "title": "zaak", "uniqueItems": true }, "zaakobjecten": { "type": "array", "items": { "type": "string", "format": "uri", "title": "" }, "readOnly": true, "title": "zaak", "uniqueItems": true }, "kenmerken": { "type": "array", "items": { "$ref": "#/$defs/ZaakKenmerk" }, "description": "Lijst van kenmerken. Merk op dat refereren naar gerelateerde objecten beter kan via `ZaakObject`.", "title": "zaak" }, "archiefnominatie": { "nullable": true, "description": "Aanduiding of het zaakdossier blijvend bewaard of na een bepaalde termijn vernietigd moet worden.\n\nUitleg bij mogelijke waarden:\n\n* `blijvend_bewaren` - Het zaakdossier moet bewaard blijven en op de Archiefactiedatum overgedragen worden naar een archiefbewaarplaats.\n* `vernietigen` - Het zaakdossier moet op of na de Archiefactiedatum vernietigd worden.", "title": "archiefnominatie", "oneOf": [ { "$ref": "#/$defs/ArchiefnominatieEnum" }, { "$ref": "#/$defs/BlankEnum" }, { "$ref": "#/$defs/NullEnum" } ] }, "archiefstatus": { "allOf": [ { "$ref": "#/$defs/ArchiefstatusEnum" } ], "description": "Aanduiding of het zaakdossier blijvend bewaard of na een bepaalde termijn vernietigd moet worden.\n\nUitleg bij mogelijke waarden:\n\n* `nog_te_archiveren` - De zaak cq. het zaakdossier is nog niet als geheel gearchiveerd.\n* `gearchiveerd` - De zaak cq. het zaakdossier is als geheel niet-wijzigbaar bewaarbaar gemaakt.\n* `gearchiveerd_procestermijn_onbekend` - De zaak cq. het zaakdossier is als geheel niet-wijzigbaar bewaarbaar gemaakt maar de vernietigingsdatum kan nog niet bepaald worden.\n* `overgedragen` - De zaak cq. het zaakdossier is overgebracht naar een archiefbewaarplaats.", "title": "archiefstatus" }, "archiefactiedatum": { "type": [ "string", "null" ], "format": "date", "description": "De datum waarop het gearchiveerde zaakdossier vernietigd moet worden dan wel overgebracht moet worden naar een archiefbewaarplaats. Wordt automatisch berekend bij het aanmaken of wijzigen van een RESULTAAT aan deze ZAAK indien nog leeg.", "title": "archiefactiedatum" }, "resultaat": { "type": [ "string", "null" ], "format": "uri", "readOnly": true, "description": "URL-referentie naar het RESULTAAT. Indien geen resultaat bekend is, dan is de waarde 'null'", "title": "resultaat" }, "opdrachtgevendeOrganisatie": { "type": "string", "description": "De krachtens publiekrecht ingestelde rechtspersoon dan wel ander niet-natuurlijk persoon waarbinnen het (bestuurs)orgaan zetelt dat opdracht heeft gegeven om taken uit te voeren waaraan de zaak invulling geeft.", "title": "opdrachtgevende organisatie", "maxLength": 9 }, "processobjectaard": { "type": [ "string", "null" ], "title": "Procesobjectaard", "description": "Omschrijving van het object, subject of gebeurtenis waarop, vanuit archiveringsoptiek, de zaak betrekking heeft.", "maxLength": 200 }, "startdatumBewaartermijn": { "type": [ "string", "null" ], "format": "date", "description": "De datum die de start markeert van de termijn waarop het zaakdossier vernietigd moet worden.", "title": "startdatum bewaartermijn" }, "processobject": { "allOf": [ { "$ref": "#/$defs/Processobject" } ], "nullable": true, "description": "Specificatie van de attribuutsoort van het object, subject of gebeurtenis waarop, vanuit archiveringsoptiek, de zaak betrekking heeft en dat bepalend is voor de start van de archiefactietermijn.", "title": "processobject" } }, "required": [ "betalingsindicatieWeergave", "bronorganisatie", "deelzaken", "eigenschappen", "einddatum", "resultaat", "rollen", "startdatum", "status", "url", "uuid", "verantwoordelijkeOrganisatie", "zaakinformatieobjecten", "zaakobjecten", "zaaktype" ], "$defs": { "AardRelatieEnum": { "enum": [ "vervolg", "onderwerp", "bijdrage" ], "type": "string" }, "ArchiefnominatieEnum": { "enum": [ "blijvend_bewaren", "vernietigen" ], "type": "string" }, "ArchiefstatusEnum": { "enum": [ "nog_te_archiveren", "gearchiveerd", "gearchiveerd_procestermijn_onbekend", "overgedragen" ], "type": "string" }, "BetalingsindicatieEnum": { "enum": [ "nvt", "nog_niet", "gedeeltelijk", "geheel" ], "type": "string" }, "BlankEnum": { "enum": [ "" ] }, "GeoJSONGeometry": { "title": "GeoJSONGeometry", "type": "object", "oneOf": [ { "$ref": "#/$defs/Point" }, { "$ref": "#/$defs/MultiPoint" }, { "$ref": "#/$defs/LineString" }, { "$ref": "#/$defs/MultiLineString" }, { "$ref": "#/$defs/Polygon" }, { "$ref": "#/$defs/MultiPolygon" }, { "$ref": "#/$defs/GeometryCollection" } ] }, "Geometry": { "title": "Geometry", "description": "GeoJSON geometry", "type": "object", "required": [ "type" ], "properties": { "type": { "allOf": [ { "$ref": "#/$defs/GeometryTypeEnum" } ], "description": "The geometry type" } } }, "GeometryCollection": { "title": "Geometry collection", "description": "GeoJSON multi-polygon geometry", "type": "object", "allOf": [ { "$ref": "#/$defs/Geometry" }, { "type": "object", "required": [ "geometries" ], "properties": { "geometries": { "type": "array", "items": { "$ref": "#/$defs/Geometry" } } } } ] }, "GeometryTypeEnum": { "type": "string", "enum": [ "Point", "MultiPoint", "LineString", "MultiLineString", "Polygon", "MultiPolygon", "Feature", "FeatureCollection", "GeometryCollection" ] }, "LineString": { "title": "Line-string", "description": "GeoJSON line-string geometry", "type": "object", "allOf": [ { "$ref": "#/$defs/Geometry" }, { "type": "object", "required": [ "coordinates" ], "properties": { "coordinates": { "type": "array", "items": { "$ref": "#/$defs/Point2D" }, "minItems": 2 } } } ] }, "MaximaleVertrouwelijkheidaanduidingEnum": { "enum": [ "openbaar", "beperkt_openbaar", "intern", "zaakvertrouwelijk", "vertrouwelijk", "confidentieel", "geheim", "zeer_geheim" ], "type": "string" }, "MultiLineString": { "title": "Multi-line string", "description": "GeoJSON multi-line-string geometry", "type": "object", "allOf": [ { "$ref": "#/$defs/Geometry" }, { "type": "object", "required": [ "coordinates" ], "properties": { "coordinates": { "type": "array", "items": { "type": "array", "items": { "$ref": "#/$defs/Point2D" } } } } } ] }, "MultiPoint": { "title": "MultiPoint", "description": "GeoJSON multi-point geometry", "type": "object", "allOf": [ { "$ref": "#/$defs/Geometry" }, { "type": "object", "required": [ "coordinates" ], "properties": { "coordinates": { "type": "array", "items": { "$ref": "#/$defs/Point2D" } } } } ] }, "MultiPolygon": { "title": "Multi-polygon", "description": "GeoJSON multi-polygon geometry", "type": "object", "allOf": [ { "$ref": "#/$defs/Geometry" }, { "type": "object", "required": [ "coordinates" ], "properties": { "coordinates": { "type": "array", "items": { "type": "array", "items": { "type": "array", "items": { "$ref": "#/$defs/Point2D" } } } } } } ] }, "NullEnum": { "enum": [ null ] }, "Opschorting": { "type": [ "object", "null" ], "description": "Gegevens omtrent het tijdelijk opschorten van de behandeling van de ZAAK", "properties": { "indicatie": { "type": "boolean", "description": "Aanduiding of de behandeling van de ZAAK tijdelijk is opgeschort.", "title": "indicatie opschorting" }, "reden": { "type": "string", "description": "Omschrijving van de reden voor het opschorten van de behandeling van de zaak.", "title": "reden opschorting", "maxLength": 200 } }, "required": [ "indicatie", "reden" ] }, "Point": { "title": "Point", "description": "GeoJSON point geometry", "type": "object", "allOf": [ { "$ref": "#/$defs/Geometry" }, { "type": "object", "required": [ "coordinates" ], "properties": { "coordinates": { "$ref": "#/$defs/Point2D" } } } ] }, "Point2D": { "title": "Point2D", "type": "array", "items": { "type": "number" }, "maxItems": 2, "minItems": 2 }, "Polygon": { "title": "Polygon", "description": "GeoJSON polygon geometry", "type": "object", "allOf": [ { "$ref": "#/$defs/Geometry" }, { "type": "object", "required": [ "coordinates" ], "properties": { "coordinates": { "type": "array", "items": { "type": "array", "items": { "$ref": "#/$defs/Point2D" } } } } } ] }, "Processobject": { "type": [ "object", "null" ], "description": "Specificatie van de attribuutsoort van het object, subject of gebeurtenis waarop, vanuit archiveringsoptiek, de zaak betrekking heeft en dat bepalend is voor de start van de archiefactietermijn.", "properties": { "datumkenmerk": { "type": "string", "description": "De naam van de attribuutsoort van het procesobject dat bepalend is voor het einde van de procestermijn.", "title": "datumkenmerk", "maxLength": 250 }, "identificatie": { "type": "string", "description": "De unieke aanduiding van het procesobject.", "title": "identificatie", "maxLength": 250 }, "objecttype": { "type": "string", "description": "Het soort object dat het procesobject representeert.", "title": "objecttype", "maxLength": 250 }, "registratie": { "type": "string", "description": "De naam van de registratie waarvan het procesobject deel uit maakt.", "title": "registratie", "maxLength": 250 } }, "required": [ "datumkenmerk", "identificatie", "objecttype", "registratie" ] }, "RelevanteZaak": { "type": "object", "properties": { "url": { "type": "string", "format": "uri", "title": "URL-referentie naar de ZAAK.", "maxLength": 1000 }, "aardRelatie": { "allOf": [ { "$ref": "#/$defs/AardRelatieEnum" } ], "description": "Benamingen van de aard van de relaties van andere zaken tot (onderhanden) zaken.\n\nUitleg bij mogelijke waarden:\n\n* `vervolg` - De andere zaak gaf aanleiding tot het starten van de onderhanden zaak.\n* `onderwerp` - De andere zaak is relevant voor cq. is onderwerp van de onderhanden zaak.\n* `bijdrage` - Aan het bereiken van de uitkomst van de andere zaak levert de onderhanden zaak een bijdrage.", "title": "aard relatie" } }, "required": [ "aardRelatie", "url" ] }, "Verlenging": { "type": [ "object", "null" ], "description": "Gegevens omtrent het verlengen van de doorlooptijd van de behandeling van de ZAAK", "properties": { "reden": { "type": "string", "description": "Omschrijving van de reden voor het verlengen van de behandeling van de zaak.", "title": "reden verlenging", "maxLength": 200 }, "duur": { "type": "string", "description": "Het aantal werkbare dagen waarmee de doorlooptijd van de behandeling van de ZAAK is verlengd (of verkort) ten opzichte van de eerder gecommuniceerde doorlooptijd.", "title": "duur verlenging", "format": "duration" } }, "required": [ "duur", "reden" ] }, "ZaakKenmerk": { "type": "object", "properties": { "kenmerk": { "type": "string", "description": "Identificeert uniek de zaak in een andere administratie.", "title": "kenmerk", "maxLength": 40 }, "bron": { "type": "string", "description": "De aanduiding van de administratie waar het kenmerk op slaat.", "title": "bron", "maxLength": 40 } }, "required": [ "bron", "kenmerk" ] } } }