{"openapi":"3.1.1","info":{"title":"Documenten API","version":"1.5.0","description":"Een API om een documentregistratiecomponent (DRC) te benaderen.\n\nIn een documentregistratiecomponent worden INFORMATIEOBJECTen opgeslagen. Een\nINFORMATIEOBJECT is een digitaal document voorzien van meta-gegevens.\nINFORMATIEOBJECTen kunnen aan andere objecten zoals zaken en besluiten worden\ngerelateerd (maar dat hoeft niet) en kunnen GEBRUIKSRECHTen hebben.\n\n**Uploaden van bestanden**\n\nBestanden kunnen groter zijn dan de minimum die door providers ondersteund moet worden.\nVoor kleine bestanden kan de inhoud base64-encoded meegestuurd worden in de JSON.\nVoor grote bestanden (>4GB) moet de chunked upload workflow gebruikt worden via BESTANDSDELen.\n\n**Afhankelijkheden**\n\nDeze API is afhankelijk van:\n* Catalogi API\n* Notificaties API\n* Autorisaties API *(optioneel)*\n* Zaken API *(optioneel)*\n\n**Autorisatie**\n\nDeze API vereist autorisatie via JWT tokens.","contact":{"url":"https://vng-realisatie.github.io/gemma-zaken","email":"standaarden.ondersteuning@vng.nl"},"license":{"name":"EUPL 1.2","url":"https://opensource.org/licenses/EUPL-1.2"}},"servers":[{"url":"https://cg-dmf.dev.baseflow.com","description":"Dit systeem (https://cg-dmf.dev.baseflow.com)"},{"url":"https://cg-dmf.dev.baseflow.com","description":"Baseflow dev"},{"url":"https://gzac-dmf.commonground.test.utrecht.nl","description":"Utrecht test"}],"paths":{"/documenten/api/v1/enkelvoudiginformatieobjecten":{"post":{"operationId":"enkelvoudiginformatieobjecten_create","tags":["enkelvoudiginformatieobjecten"],"summary":"Maak een ENKELVOUDIGINFORMATIEOBJECT aan.","description":"Maak een ENKELVOUDIGINFORMATIEOBJECT aan.","requestBody":{"description":"Gegevens van het aan te maken INFORMATIEOBJECT.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnkelvoudigInformatieObjectRequest"}}},"required":true},"responses":{"201":{"description":"Aangemaakt.","headers":{"Location":{"description":"URL van het aangemaakte INFORMATIEOBJECT.","schema":{"type":"string"}},"API-version":{"description":"Geeft de specifieke API-versie aan.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnkelvoudigInformatieObject"}}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden."}},"security":[{"auth-jwt":["openid","profile","email"]},{"auth-zgw":[]}]},"get":{"operationId":"enkelvoudiginformatieobjecten_list","tags":["enkelvoudiginformatieobjecten"],"summary":"Alle (enkelvoudige) INFORMATIEOBJECTen opvragen.","description":"Geeft een gepagineerde lijst van ENKELVOUDIGINFORMATIEOBJECTen. Alleen de laatste versie van elk INFORMATIEOBJECT wordt getoond.","parameters":[{"name":"bronorganisatie","in":"query","description":"Het RSIN van de Niet-natuurlijk persoon zijnde de organisatie die het INFORMATIEOBJECT heeft gecreëerd of heeft ontvangen en als eerste in een samenwerkingsketen heeft vastgelegd.","schema":{"type":"string"}},{"name":"identificatie","in":"query","description":"Een binnen een gegeven context ondubbelzinnige referentie naar het INFORMATIEOBJECT.","schema":{"type":"string"}},{"name":"trefwoorden","in":"query","description":"Een lijst van trefwoorden gescheiden door comma's.","schema":{"type":"string"}},{"name":"expand","in":"query","description":"Sluit de gespecifieerde gerelateerde resources in het antwoord in.","schema":{"type":"string"}},{"name":"page","in":"query","description":"Een pagina binnen de gepagineerde set resultaten.","schema":{"type":"string"}},{"name":"pageSize","in":"query","description":"Het aantal resultaten terug te geven per pagina. (default: 100, maximum: 500).","schema":{"type":"string"}},{"name":"informatieobjecttype","in":"query","description":"**EXPERIMENTEEL** URL-referentie naar de gerelateerde INFORMATIEOBJECTTYPE (in deze of een andere API).","schema":{"type":"string"}},{"name":"vertrouwelijkheidaanduiding","in":"query","description":"**EXPERIMENTEEL** De vertrouwelijkheidaanduiding van het INFORMATIEOBJECT. Komma-gescheiden lijst van waarden: openbaar, beperkt_openbaar, intern, zaakvertrouwelijk, vertrouwelijk, confidentieel, geheim, zeer_geheim.","schema":{"type":"string"}},{"name":"titel","in":"query","description":"**EXPERIMENTEEL** De titel van het INFORMATIEOBJECT (bevat de gegeven waarde, hoofdletterongevoelig).","schema":{"type":"string"}},{"name":"auteur","in":"query","description":"**EXPERIMENTEEL** De persoon of organisatie die dit INFORMATIEOBJECT heeft aangemaakt (bevat de gegeven waarde, hoofdletterongevoelig).","schema":{"type":"string"}},{"name":"status","in":"query","description":"**EXPERIMENTEEL** Filter op de status van het INFORMATIEOBJECT. Mogelijke waarden: in_bewerking, ter_vaststelling, definitief, gearchiveerd.","schema":{"type":"string"}},{"name":"beschrijving","in":"query","description":"**EXPERIMENTEEL** De beschrijving van het INFORMATIEOBJECT (bevat de gegeven waarde, hoofdletterongevoelig).","schema":{"type":"string"}},{"name":"trefwoorden__overlap","in":"query","description":"**EXPERIMENTEEL** Een lijst van trefwoorden gescheiden door komma's, geeft alle EnkelvoudigInformatieObjecten terug die ten minste een van de opgegeven trefwoorden hebben.","schema":{"type":"string"}},{"name":"locked","in":"query","description":"**EXPERIMENTEEL** Filter op vergrendeld (true) of ontgrendeld (false).","schema":{"type":"string"}},{"name":"creatiedatum__gte","in":"query","description":"**EXPERIMENTEEL** De aanmakingsdatum van het INFORMATIEOBJECT (groter of gelijk aan de gegeven datum, formaat: YYYY-MM-DD).","schema":{"type":"string"}},{"name":"creatiedatum__lte","in":"query","description":"**EXPERIMENTEEL** De aanmakingsdatum van het INFORMATIEOBJECT (kleiner of gelijk aan de gegeven datum, formaat: YYYY-MM-DD).","schema":{"type":"string"}},{"name":"registratiedatum__gte","in":"query","description":"**EXPERIMENTEEL** De registratiedatum (`beginRegistratie`) van het INFORMATIEOBJECT (groter of gelijk aan de gegeven datum/tijd, formaat: date-time, bijv. 2025-01-01T00:00:00).","schema":{"type":"string"}},{"name":"registratiedatum__lte","in":"query","description":"**EXPERIMENTEEL** De registratiedatum (`beginRegistratie`) van het INFORMATIEOBJECT (kleiner of gelijk aan de gegeven datum/tijd, formaat: date-time, bijv. 2025-01-01T00:00:00).","schema":{"type":"string"}},{"name":"ordering","in":"query","description":"**EXPERIMENTEEL** Sorteer op één of meer velden (komma-gescheiden). Gebruik een `-` prefix voor aflopende volgorde. Mogelijke waarden: auteur, bestandsomvang, creatiedatum, formaat, status, titel, vertrouwelijkheidaanduiding (en hun `-`-varianten).","schema":{"type":"string"}},{"name":"objectinformatieobjecten__object","in":"query","description":"**EXPERIMENTEEL** URL-referentie naar het gerelateerde object (in deze of een andere API).","schema":{"type":"string"}},{"name":"objectinformatieobjecten__objectType","in":"query","description":"**EXPERIMENTEEL** Het type van het gerelateerde object. Mogelijke waarden: zaak, besluit, etc.","schema":{"type":"string"}}],"responses":{"200":{"description":"Lijst van ENKELVOUDIGINFORMATIEOBJECTen.","content":{"application/json":{"schema":{"type":"object","required":["count","results"],"properties":{"count":{"type":"integer"},"next":{"type":["string","null"]},"previous":{"type":["string","null"]},"results":{"type":"array","items":{"$ref":"#/components/schemas/EnkelvoudigInformatieObject"}}}}}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden."}},"security":[{"auth-jwt":["openid","profile","email"]},{"auth-zgw":[]}]}},"/documenten/api/v1/enkelvoudiginformatieobjecten/_zoek":{"post":{"operationId":"enkelvoudiginformatieobjecten_zoek","tags":["enkelvoudiginformatieobjecten"],"summary":"Voer een zoekopdracht uit op ENKELVOUDIGINFORMATIEOBJECTen.","description":"Zoeken/filteren op UUID of andere velden. Gebruik dit endpoint voor zoekopdrachten met UUIDs.","requestBody":{"description":"Zoekcriteria.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InformatieObjectZoekRequest"}}},"required":true},"responses":{"200":{"description":"Lijst van gevonden ENKELVOUDIGINFORMATIEOBJECTen.","content":{"application/json":{"schema":{"type":"object","required":["count","results"],"properties":{"count":{"type":"integer"},"next":{"type":["string","null"]},"previous":{"type":["string","null"]},"results":{"type":"array","items":{"$ref":"#/components/schemas/EnkelvoudigInformatieObject"}}}}}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden."}},"security":[{"auth-jwt":["openid","profile","email"]},{"auth-zgw":[]}]}},"/documenten/api/v1/enkelvoudiginformatieobjecten/{uuid}":{"put":{"operationId":"enkelvoudiginformatieobjecten_update","tags":["enkelvoudiginformatieobjecten"],"summary":"Werk een ENKELVOUDIGINFORMATIEOBJECT in zijn geheel bij.","description":"Dit creëert altijd een nieuwe versie van het INFORMATIEOBJECT.","parameters":[{"name":"uuid","in":"path","description":"Unieke resource identifier (UUID4).","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Bijgewerkte gegevens van het INFORMATIEOBJECT.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnkelvoudigInformatieObjectRequest"}}},"required":true},"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnkelvoudigInformatieObject"}}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden."},"404":{"description":"Not found."}},"security":[{"auth-jwt":["openid","profile","email"]},{"auth-zgw":[]}]},"delete":{"operationId":"enkelvoudiginformatieobjecten_delete","tags":["enkelvoudiginformatieobjecten"],"summary":"Verwijder een ENKELVOUDIGINFORMATIEOBJECT.","description":"Verwijdert het INFORMATIEOBJECT en alle bijbehorende versies. Alleen mogelijk als er geen OBJECTINFORMATIEOBJECTen aan gerelateerd zijn.","parameters":[{"name":"uuid","in":"path","description":"Unieke resource identifier (UUID4).","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No content."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"409":{"description":"Conflict: INFORMATIEOBJECT is vergrendeld."}},"security":[{"auth-jwt":["openid","profile","email"]},{"auth-zgw":[]}]},"get":{"operationId":"enkelvoudiginformatieobjecten_read","tags":["enkelvoudiginformatieobjecten"],"summary":"Een specifiek ENKELVOUDIGINFORMATIEOBJECT opvragen.","description":"Geeft het INFORMATIEOBJECT terug. Standaard de laatste versie.","parameters":[{"name":"uuid","in":"path","description":"Unieke resource identifier (UUID4).","required":true,"schema":{"type":"string"}},{"name":"versie","in":"query","description":"Specifieke versie van het INFORMATIEOBJECT.","schema":{"type":"string"}},{"name":"registratieOp","in":"query","description":"Filtert op de registratiedatum.","schema":{"type":"string"}},{"name":"expand","in":"query","description":"Sluit de gespecifieerde gerelateerde resources in het antwoord in.","schema":{"type":"string"}},{"name":"If-None-Match","in":"header","description":"Conditioneel GET: geef de ETag-waarde van de eerder ontvangen response mee. De server antwoordt met 304 Not Modified als de resource niet gewijzigd is.","schema":{"type":"string"}}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnkelvoudigInformatieObject"}}}},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden."},"404":{"description":"Not found."}},"security":[{"auth-jwt":["openid","profile","email"]},{"auth-zgw":[]}]},"head":{"operationId":"enkelvoudiginformatieobjecten_headers","tags":["enkelvoudiginformatieobjecten"],"summary":"De headers voor een specifiek ENKELVOUDIGINFORMATIEOBJECT opvragen.","parameters":[{"name":"uuid","in":"path","description":"Unieke resource identifier (UUID4).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK."},"400":{"description":"Bad request: ontbrekende of ongeldige UUID."},"404":{"description":"Not found."}},"security":[{"auth-jwt":["openid","profile","email"]},{"auth-zgw":[]}]},"patch":{"operationId":"enkelvoudiginformatieobjecten_partial_update","tags":["enkelvoudiginformatieobjecten"],"summary":"Werk een ENKELVOUDIGINFORMATIEOBJECT deels bij.","description":"Dit creëert altijd een nieuwe versie van het INFORMATIEOBJECT.","parameters":[{"name":"uuid","in":"path","description":"Unieke resource identifier (UUID4).","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Gedeeltelijk bijgewerkte gegevens van het INFORMATIEOBJECT.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnkelvoudigInformatieObjectRequest"}}}},"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnkelvoudigInformatieObject"}}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden."},"404":{"description":"Not found."}},"security":[{"auth-jwt":["openid","profile","email"]},{"auth-zgw":[]}]}},"/documenten/api/v1/enkelvoudiginformatieobjecten/{uuid}/download":{"get":{"operationId":"enkelvoudiginformatieobjecten_download","tags":["enkelvoudiginformatieobjecten"],"summary":"Download de binaire data van het INFORMATIEOBJECT.","parameters":[{"name":"uuid","in":"path","description":"Unieke resource identifier (UUID4).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK — binaire bestandsinhoud.","headers":{"Content-Disposition":{"description":"Bestandsnaam voor de download.","schema":{"type":"string"}},"Content-Type":{"description":"MIME-type van het bestand.","schema":{"type":"string"}}}},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden."},"404":{"description":"Not found."}},"security":[{"auth-jwt":["openid","profile","email"]},{"auth-zgw":[]}]}},"/documenten/api/v1/enkelvoudiginformatieobjecten/{uuid}/lock":{"post":{"operationId":"enkelvoudiginformatieobjecten_lock","tags":["enkelvoudiginformatieobjecten"],"summary":"Vergrendel een ENKELVOUDIGINFORMATIEOBJECT.","description":"Voert een checkout uit waardoor het INFORMATIEOBJECT vergrendeld wordt met een lock-waarde.","parameters":[{"name":"uuid","in":"path","description":"Unieke resource identifier (UUID4).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK — lock-waarde teruggegeven.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LockToken"}}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"409":{"description":"Conflict: INFORMATIEOBJECT is al vergrendeld."}},"security":[{"auth-jwt":["openid","profile","email"]},{"auth-zgw":[]}]}},"/documenten/api/v1/enkelvoudiginformatieobjecten/{uuid}/unlock":{"post":{"operationId":"enkelvoudiginformatieobjecten_unlock","tags":["enkelvoudiginformatieobjecten"],"summary":"Ontgrendel een ENKELVOUDIGINFORMATIEOBJECT.","description":"Heft de checkout op waardoor het INFORMATIEOBJECT ontgrendeld wordt.","parameters":[{"name":"uuid","in":"path","description":"Unieke resource identifier (UUID4).","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No content."},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"409":{"description":"Conflict: ongeldige lock-waarde of niet vergrendeld."}},"security":[{"auth-jwt":["openid","profile","email"]},{"auth-zgw":[]}]}},"/documenten/api/v1/enkelvoudiginformatieobjecten/{uuid}/audittrail/{auditTrailUuid}":{"get":{"operationId":"enkelvoudiginformatieobjecten_audittrail_read","tags":["audittrail"],"summary":"Een specifieke audit trail regel opvragen.","parameters":[{"name":"uuid","in":"path","description":"UUID van het INFORMATIEOBJECT.","required":true,"schema":{"type":"string"}},{"name":"auditTrailUuid","in":"path","description":"UUID van de audit trail regel.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditTrailRegel"}}}},"400":{"description":"Bad request: ongeldige UUID."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden."},"404":{"description":"Not found."}},"security":[{"auth-jwt":["openid","profile","email"]},{"auth-zgw":[]}]}},"/documenten/api/v1/enkelvoudiginformatieobjecten/{uuid}/audittrail":{"get":{"operationId":"enkelvoudiginformatieobjecten_audittrail_list","tags":["audittrail"],"summary":"Alle audit trail regels behorend bij het INFORMATIEOBJECT opvragen.","parameters":[{"name":"uuid","in":"path","description":"UUID van het INFORMATIEOBJECT.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Lijst van audit trail regels.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AuditTrailRegel"}}}}},"400":{"description":"Bad request: ongeldige UUID."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden."}},"security":[{"auth-jwt":["openid","profile","email"]},{"auth-zgw":[]}]}},"/documenten/api/v1/objectinformatieobjecten":{"post":{"operationId":"objectinformatieobjecten_create","tags":["objectinformatieobjecten"],"summary":"Maak een ObjectInformatieObject relatie aan.","description":"LET OP: Dit endpoint hoor je als consumer niet zelf aan te spreken. Andere API's gebruiken dit endpoint bij het synchroniseren van relaties.","requestBody":{"description":"Gegevens van de aan te maken relatie.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObjectInformatieObjectRequest"}}},"required":true},"responses":{"201":{"description":"Aangemaakt.","headers":{"Location":{"description":"URL van de aangemaakte relatie.","schema":{"type":"string"}},"API-version":{"description":"Geeft de specifieke API-versie aan.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObjectInformatieObject"}}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden."}},"security":[{"auth-jwt":["openid","profile","email"]},{"auth-zgw":[]}]},"delete":{"operationId":"objectinformatieobjecten_delete_by_record_id","tags":["objectinformatieobjecten"],"summary":"Verwijder ObjectInformatieObject relaties op basis van record_id.","description":"Verwijdert alle relaties die gekoppeld zijn aan de opgegeven EIOVersion (record_id).","parameters":[{"name":"record_id","in":"query","description":"UUID van de EIOVersion (informatieobject versie) waarvoor alle relaties verwijderd worden.","schema":{"type":"string"}}],"responses":{"204":{"description":"No content."},"400":{"description":"Bad request: ontbrekende of ongeldige record_id."},"404":{"description":"Not found: geen relaties gevonden voor de opgegeven record_id."}},"security":[{"auth-jwt":["openid","profile","email"]},{"auth-zgw":[]}]},"get":{"operationId":"objectinformatieobjecten_list","tags":["objectinformatieobjecten"],"summary":"Alle ObjectInformatieObject relaties opvragen.","description":"Geeft een lijst van OBJECTINFORMATIEOBJECT relaties, gefilterd via query-parameters.","parameters":[{"name":"informatieobject","in":"query","description":"Filter op URL-referentie naar het INFORMATIEOBJECT.","schema":{"type":"string"}},{"name":"object","in":"query","description":"Filter op URL-referentie naar het gerelateerde OBJECT.","schema":{"type":"string"}},{"name":"expand","in":"query","description":"Velden om te expanderen.","schema":{"type":"string"}},{"name":"page","in":"query","description":"**EXPERIMENTEEL** Paginanummer.","schema":{"type":"string"}},{"name":"pageSize","in":"query","description":"**EXPERIMENTEEL** Aantal resultaten per pagina.","schema":{"type":"string"}}],"responses":{"200":{"description":"Lijst van ObjectInformatieObject relaties.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ObjectInformatieObject"}}}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden."}},"security":[{"auth-jwt":["openid","profile","email"]},{"auth-zgw":[]}]}},"/documenten/api/v1/objectinformatieobjecten/{uuid}":{"delete":{"operationId":"objectinformatieobjecten_delete","tags":["objectinformatieobjecten"],"summary":"Verwijder een ObjectInformatieObject relatie.","description":"LET OP: Dit endpoint hoor je als consumer niet zelf aan te spreken. Andere API's gebruiken dit endpoint bij het synchroniseren van relaties.","parameters":[{"name":"uuid","in":"path","description":"Unieke resource identifier (UUID4).","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No content."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden."},"404":{"description":"Not found."}},"security":[{"auth-jwt":["openid","profile","email"]},{"auth-zgw":[]}]},"get":{"operationId":"objectinformatieobjecten_read","tags":["objectinformatieobjecten"],"summary":"Een specifieke ObjectInformatieObject relatie opvragen.","parameters":[{"name":"uuid","in":"path","description":"Unieke resource identifier (UUID4).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObjectInformatieObject"}}}},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden."},"404":{"description":"Not found."}},"security":[{"auth-jwt":["openid","profile","email"]},{"auth-zgw":[]}]},"head":{"operationId":"objectinformatieobjecten_headers","tags":["objectinformatieobjecten"],"summary":"De headers voor een specifieke ObjectInformatieObject opvragen.","parameters":[{"name":"uuid","in":"path","description":"Unieke resource identifier (UUID4).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK."},"400":{"description":"Bad request: ontbrekende of ongeldige UUID."},"404":{"description":"Not found."}},"security":[{"auth-jwt":["openid","profile","email"]},{"auth-zgw":[]}]}},"/documenten/api/v1/subjectinformatieobjecten":{"post":{"operationId":"subjectinformatieobjecten_create","tags":["subjectinformatieobjecten"],"summary":"Maak een SubjectInformatieObject relatie aan.","description":"LET OP: Dit endpoint hoor je als consumer niet zelf aan te spreken. Andere API's gebruiken dit endpoint bij het synchroniseren van relaties.","requestBody":{"description":"Gegevens van de aan te maken relatie.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObjectInformatieObjectRequest"}}},"required":true},"responses":{"201":{"description":"Aangemaakt.","headers":{"Location":{"description":"URL van de aangemaakte relatie.","schema":{"type":"string"}},"API-version":{"description":"Geeft de specifieke API-versie aan.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObjectInformatieObject"}}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden."}},"security":[{"auth-jwt":["openid","profile","email"]},{"auth-zgw":[]}]},"delete":{"operationId":"subjectinformatieobjecten_delete_by_record_id","tags":["subjectinformatieobjecten"],"summary":"Verwijder SubjectInformatieObject relaties op basis van record_id.","description":"Verwijdert alle relaties die gekoppeld zijn aan de opgegeven EIOVersion (record_id).","parameters":[{"name":"record_id","in":"query","description":"UUID van de EIOVersion (informatieobject versie) waarvoor alle relaties verwijderd worden.","schema":{"type":"string"}}],"responses":{"204":{"description":"No content."},"400":{"description":"Bad request: ontbrekende of ongeldige record_id."},"404":{"description":"Not found: geen relaties gevonden voor de opgegeven record_id."}},"security":[{"auth-jwt":["openid","profile","email"]},{"auth-zgw":[]}]},"get":{"operationId":"subjectinformatieobjecten_list","tags":["subjectinformatieobjecten"],"summary":"Alle SubjectInformatieObject relaties opvragen.","description":"Geeft een lijst van OBJECTINFORMATIEOBJECT relaties, gefilterd via query-parameters.","parameters":[{"name":"informatieobject","in":"query","description":"Filter op URL-referentie naar het INFORMATIEOBJECT.","schema":{"type":"string"}},{"name":"object","in":"query","description":"Filter op URL-referentie naar het gerelateerde OBJECT.","schema":{"type":"string"}},{"name":"expand","in":"query","description":"Velden om te expanderen.","schema":{"type":"string"}},{"name":"page","in":"query","description":"**EXPERIMENTEEL** Paginanummer.","schema":{"type":"string"}},{"name":"pageSize","in":"query","description":"**EXPERIMENTEEL** Aantal resultaten per pagina.","schema":{"type":"string"}}],"responses":{"200":{"description":"Lijst van SubjectInformatieObject relaties.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ObjectInformatieObject"}}}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden."}},"security":[{"auth-jwt":["openid","profile","email"]},{"auth-zgw":[]}]}},"/documenten/api/v1/subjectinformatieobjecten/{uuid}":{"delete":{"operationId":"subjectinformatieobjecten_delete","tags":["subjectinformatieobjecten"],"summary":"Verwijder een SubjectInformatieObject relatie.","description":"LET OP: Dit endpoint hoor je als consumer niet zelf aan te spreken. Andere API's gebruiken dit endpoint bij het synchroniseren van relaties.","parameters":[{"name":"uuid","in":"path","description":"Unieke resource identifier (UUID4).","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No content."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden."},"404":{"description":"Not found."}},"security":[{"auth-jwt":["openid","profile","email"]},{"auth-zgw":[]}]},"get":{"operationId":"subjectinformatieobjecten_read","tags":["subjectinformatieobjecten"],"summary":"Een specifieke SubjectInformatieObject relatie opvragen.","parameters":[{"name":"uuid","in":"path","description":"Unieke resource identifier (UUID4).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObjectInformatieObject"}}}},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden."},"404":{"description":"Not found."}},"security":[{"auth-jwt":["openid","profile","email"]},{"auth-zgw":[]}]},"head":{"operationId":"subjectinformatieobjecten_headers","tags":["subjectinformatieobjecten"],"summary":"De headers voor een specifieke SubjectInformatieObject opvragen.","parameters":[{"name":"uuid","in":"path","description":"Unieke resource identifier (UUID4).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK."},"400":{"description":"Bad request: ontbrekende of ongeldige UUID."},"404":{"description":"Not found."}},"security":[{"auth-jwt":["openid","profile","email"]},{"auth-zgw":[]}]}},"/documenten/api/v1/bestandsdelen/{uuid}":{"put":{"operationId":"bestandsdelen_update","tags":["bestandsdelen"],"summary":"Upload een BESTANDSDEEL.","description":"Upload een BESTANDSDEEL als onderdeel van de chunked upload workflow voor grote bestanden. De request body is multipart/form-data met velden 'inhoud' (binary) en 'lock' (string). Wanneer alle delen zijn geupload kan het bovenliggende INFORMATIEOBJECT worden ontgrendeld.","parameters":[{"name":"uuid","in":"path","description":"Unieke resource identifier (UUID4) van het BESTANDSDEEL.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK – BESTANDSDEEL bijgewerkt.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BestandsDeel"}}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden – ongeldige lock token."},"404":{"description":"Not found."}},"security":[{"auth-jwt":["openid","profile","email"]},{"auth-zgw":[]}]}}},"components":{"schemas":{"Ondertekening":{"type":"object","title":"Ondertekening","description":"Aanduiding van de rechtskracht van een INFORMATIEOBJECT. Mag niet van een waarde zijn voorzien als de `status` de waarde 'in_bewerking' of 'ter_vaststelling' heeft.","required":["soort","datum"],"properties":{"soort":{"type":"string","description":"Het type ondertekening: analoog, digitaal of pki.","enum":["analoog","digitaal","pki"]},"datum":{"type":"string","description":"De datum waarop ondertekend is (ISO 8601, formaat YYYY-MM-DD).","format":"date"}},"example":{"soort":"digitaal","datum":"2024-01-15"}},"Integriteit":{"type":"object","title":"Integriteit","description":"Uitdrukking van mate van volledigheid en onbeschadigd zijn van digitaal bestand. Bevat het gebruikte algoritme, de berekende waarde en de datum.","required":["algoritme","waarde","datum"],"properties":{"algoritme":{"type":"string","description":"Het hash-algoritme waarmee de integriteitswaarde is berekend.","enum":["crc_16","crc_32","crc_64","fletcher_4","fletcher_8","fletcher_16","fletcher_32","hmac","md5","sha_1","sha_256"]},"waarde":{"type":"string","description":"De berekende hash-waarde (checksum) van het bestand.","example":"d41d8cd98f00b204e9800998ecf8427e"},"datum":{"type":"string","description":"De datum waarop de integriteitswaarde is bepaald (ISO 8601, formaat YYYY-MM-DD).","format":"date"}},"example":{"algoritme":"md5","waarde":"d41d8cd98f00b204e9800998ecf8427e","datum":"2024-01-15"}},"BestandsDeel":{"type":"object","title":"BestandsDeel","description":"Een BESTANDSDEEL voor chunked upload van grote bestanden.","required":["url","volgnummer","omvang","voltooid","lock"],"properties":{"url":{"type":"string","description":"De URL van dit BESTANDSDEEL.","readOnly":true,"format":"uri"},"volgnummer":{"type":"integer","description":"Het volgnummer van dit BESTANDSDEEL (begint bij 1).","readOnly":true},"omvang":{"type":"integer","description":"De grootte van dit BESTANDSDEEL in bytes.","readOnly":true},"voltooid":{"type":"boolean","description":"Geeft aan of dit BESTANDSDEEL reeds geüpload is.","readOnly":true},"lock":{"type":"string","description":"Het vergrendel-token (lock) dat vereist is om dit BESTANDSDEEL te uploaden.","readOnly":true},"inhoud":{"type":["string","null"],"description":"De inhoud van dit BESTANDSDEEL (alleen aanwezig bij voltooid=true, base64-gecodeerd).","format":"byte"}},"example":{"url":"https://drc.example.com/api/v1/bestandsdelen/3fa85f64-5717-4562-b3fc-2c963f66afa6","volgnummer":1,"omvang":4194304,"voltooid":false,"lock":"c7d72de0-2ba1-4e73-8a4a-9b6de2f1d3e0"}},"JsonElement":{"type":"object","title":"kotlinx.serialization.json.JsonElement"},"EnkelvoudigInformatieObject":{"type":"object","title":"EnkelvoudigInformatieObject","description":"Een enkelvoudig informatieobject (document met metadata) zoals opgeslagen in het DRC. Bevat alle metadata inclusief downloadlink naar de binaire bestandsinhoud.","required":["id","bronorganisatie","creatiedatum","titel","versie","auteur","taal","beginRegistratie","informatieobjecttype","lock","locked"],"properties":{"id":{"type":"string","description":"De UUID van het INFORMATIEOBJECT.","readOnly":true,"format":"uuid"},"url":{"type":["string","null"],"description":"De URL van dit INFORMATIEOBJECT.","readOnly":true,"format":"uri"},"identificatie":{"type":["string","null"],"description":"Een binnen de organisatie unieke referentie naar het INFORMATIEOBJECT. Maximaal 40 tekens.","maxLength":40},"bronorganisatie":{"type":"string","description":"Het RSIN van de Niet-natuurlijk persoon zijnde de organisatie die het INFORMATIEOBJECT heeft gecreëerd of heeft ontvangen en als eerste in een samenwerkingsketen heeft vastgelegd.","example":"123456782","maxLength":9,"minLength":9},"creatiedatum":{"type":"string","description":"Een datum of een gebeurtenis in de levenscyclus van het INFORMATIEOBJECT (ISO 8601, formaat YYYY-MM-DD).","example":"2024-01-15","format":"date"},"titel":{"type":"string","description":"De naam waaronder het INFORMATIEOBJECT formeel bekend is. Maximaal 200 tekens.","example":"Besluit vergunning omgevingsrecht","maxLength":200},"versie":{"type":"integer","description":"Het (automatische) versienummer van het INFORMATIEOBJECT. Begint bij 1. Elke PUT/PATCH creëert een nieuwe versie.","readOnly":true},"vertrouwelijkheidaanduiding":{"type":["string","null"],"description":"Aanduiding van de mate waarin het INFORMATIEOBJECT voor de openbaarheid bestemd is. Mogelijke waarden: openbaar, beperkt_openbaar, intern, zaakvertrouwelijk, vertrouwelijk, confidentieel, geheim, zeer_geheim.","enum":["","openbaar","beperkt_openbaar","intern","zaakvertrouwelijk","vertrouwelijk","confidentieel","geheim","zeer_geheim"]},"auteur":{"type":"string","description":"De persoon of organisatie die in de eerste plaats verantwoordelijk is voor het creëren van de inhoud van het INFORMATIEOBJECT. Maximaal 200 tekens.","example":"Gemeente Utrecht","maxLength":200},"status":{"type":["string","null"],"description":"Aanduiding van de stand van zaken van een INFORMATIEOBJECT. De waarden 'in_bewerking' en 'ter_vaststelling' komen niet voor als het document ontvangen is. Wijziging van 'definitief' naar een eerdere status is niet mogelijk.","enum":["concept","in_bewerking","definitief","ter_vaststelling","vastgesteld","gearchiveerd"]},"formaat":{"type":["string","null"],"description":"Het \"Media Type\" (voorheen \"MIME type\") voor de wijze waarop de inhoud van het INFORMATIEOBJECT is vastgelegd in een computerbestand. Voorbeeld: `application/pdf`. Zie: https://www.iana.org/assignments/media-types/media-types.xhtml. Maximaal 255 tekens.","example":"application/pdf","maxLength":255},"taal":{"type":"string","description":"Een ISO 639-2/B taalcode waarin de inhoud van het INFORMATIEOBJECT is vastgelegd (3-letterige code). Voorbeeld: `nld` (Nederlands), `eng` (Engels). Zie: https://www.iso.org/standard/4767.html","example":"nld","maxLength":3,"minLength":3,"pattern":"^[a-z]{3}$"},"bestandsnaam":{"type":["string","null"],"description":"De naam van het fysieke bestand waarin de inhoud van het INFORMATIEOBJECT is vastgelegd, inclusief extensie. Maximaal 255 tekens.","example":"besluit-2024-001.pdf","maxLength":255},"inhoud":{"type":["string","null"],"description":"Download URL van de binaire inhoud van het INFORMATIEOBJECT.","format":"uri"},"bestandsomvang":{"type":["integer","null"],"description":"Aantal bytes dat de inhoud van het INFORMATIEOBJECT in beslag neemt.","example":12345,"format":"int64"},"link":{"type":["string","null"],"description":"De URL waarmee de inhoud van het INFORMATIEOBJECT op te vragen is. Maximaal 200 tekens.","format":"uri","maxLength":200},"beschrijving":{"type":["string","null"],"description":"Een generieke beschrijving van de inhoud van het INFORMATIEOBJECT. Maximaal 1000 tekens.","example":"Besluit omgevingsvergunning bouwen woning Dorpsstraat 1","maxLength":1000},"beginRegistratie":{"type":"string","description":"Een datumtijd in ISO 8601 formaat waarop deze versie van het INFORMATIEOBJECT is aangemaakt of gewijzigd.","readOnly":true,"format":"date-time"},"indicatieGebruiksrecht":{"type":["boolean","null"],"description":"Indicatie of er beperkingen gelden aangaande het gebruik van het INFORMATIEOBJECT anders dan raadpleging. Dit veld mag `null` zijn om aan te geven dat de indicatie nog niet bekend is. Als de indicatie gezet is op `true`, moet er ook een Gebruiksrecht aangemaakt zijn."},"verschijningsvorm":{"type":["string","null"],"description":"De essentiële opmaakaspecten van een INFORMATIEOBJECT, vrij tekstveld (bijv. HTML, formulier, Word-document)."},"ondertekening":{"oneOf":[{"$ref":"#/components/schemas/Ondertekening"},{"type":"null"}]},"integriteit":{"oneOf":[{"$ref":"#/components/schemas/Integriteit"},{"type":"null"}]},"informatieobjecttype":{"type":"string","description":"URL-referentie naar het INFORMATIEOBJECTTYPE (in de Catalogi API). Maximaal 200 tekens.","example":"https://catalogi.example.com/api/v1/informatieobjecttypen/1c35fb6a-a07e-4643-b522-4a68b7deb21d","format":"uri","maxLength":200},"trefwoorden":{"type":"array","description":"Een lijst van trefwoorden gescheiden door comma's.","example":["omgevingsrecht","vergunning"],"items":{"type":"string"}},"inhoudIsVervallen":{"type":["boolean","null"],"description":"Geeft aan of de inhoud van het INFORMATIEOBJECT vervallen (dus niet langer geldig) is."},"bestandsdelen":{"type":"array","description":"Lijst van BESTANDSDELen voor chunked upload. Gevuld wanneer het bestand via BESTANDSDELen wordt geüpload.","readOnly":true,"items":{"$ref":"#/components/schemas/BestandsDeel"}},"lock":{"type":"string","description":"Het huidige vergrendel-token (lock). Leeg wanneer het INFORMATIEOBJECT niet vergrendeld is.","readOnly":true},"locked":{"type":"boolean","description":"Geeft aan of het document gelocked is. Alleen als een document gelocked is, mogen er aanpassingen gemaakt worden.","readOnly":true},"_expand":{"type":["object","null"],"description":"Geëxpandeerde gerelateerde resources, bijv. INFORMATIEOBJECTTYPE of OBJECTINFORMATIEOBJECTen.","additionalProperties":{"$ref":"#/components/schemas/JsonElement"}}},"example":{"url":"https://drc.example.com/api/v1/enkelvoudiginformatieobjecten/550e8400-e29b-41d4-a716-446655440000","identificatie":"DOC-2024-00001","bronorganisatie":"123456782","creatiedatum":"2024-01-15","titel":"Besluit vergunning omgevingsrecht","versie":1,"vertrouwelijkheidaanduiding":"openbaar","auteur":"Gemeente Utrecht","status":"definitief","formaat":"application/pdf","taal":"nld","bestandsnaam":"besluit-2024-001.pdf","inhoud":"https://drc.example.com/api/v1/enkelvoudiginformatieobjecten/550e8400-e29b-41d4-a716-446655440000/download","bestandsomvang":12345,"beschrijving":"Besluit omgevingsvergunning bouwen woning Dorpsstraat 1","beginRegistratie":"2024-01-15T10:30:00","indicatieGebruiksrecht":false,"informatieobjecttype":"https://catalogi.example.com/api/v1/informatieobjecttypen/1c35fb6a-a07e-4643-b522-4a68b7deb21d","trefwoorden":["omgevingsrecht","vergunning"],"inhoudIsVervallen":false,"bestandsdelen":[],"lock":"","locked":false}},"EnkelvoudigInformatieObjectRequest":{"type":"object","title":"EnkelvoudigInformatieObjectRequest","description":"Request-model voor het aanmaken of bijwerken van een ENKELVOUDIGINFORMATIEOBJECT (document met metadata).","required":["bronorganisatie","creatiedatum","titel","auteur","taal","informatieobjecttype"],"properties":{"identificatie":{"type":["string","null"],"description":"Een binnen een gegeven context ondubbelzinnige referentie naar het INFORMATIEOBJECT. Maximaal 40 tekens.","maxLength":40},"bronorganisatie":{"type":["string","null"],"description":"Het RSIN van de Niet-natuurlijk persoon zijnde de organisatie die het INFORMATIEOBJECT heeft gecreëerd of heeft ontvangen en als eerste in een samenwerkingsketen heeft vastgelegd. 9 cijfers.","example":"123456782","maxLength":9,"minLength":9,"pattern":"^[0-9]{9}$"},"creatiedatum":{"type":["string","null"],"description":"Een datum of een gebeurtenis in de levenscyclus van het INFORMATIEOBJECT (ISO 8601, formaat YYYY-MM-DD). Dit hoeft niet de aanmaakdatum van het document te zijn.","example":"2024-01-15","format":"date"},"titel":{"type":["string","null"],"description":"De naam waaronder het INFORMATIEOBJECT formeel bekend is. Maximaal 200 tekens.","example":"Besluit vergunning omgevingsrecht","maxLength":200},"vertrouwelijkheidaanduiding":{"type":["string","null"],"description":"Aanduiding van de mate waarin het INFORMATIEOBJECT voor de openbaarheid bestemd is. Mogelijke waarden: openbaar, beperkt_openbaar, intern, zaakvertrouwelijk, vertrouwelijk, confidentieel, geheim, zeer_geheim.","enum":["","openbaar","beperkt_openbaar","intern","zaakvertrouwelijk","vertrouwelijk","confidentieel","geheim","zeer_geheim"]},"auteur":{"type":["string","null"],"description":"De persoon of organisatie die in de eerste plaats verantwoordelijk is voor het creëren van de inhoud van het INFORMATIEOBJECT. Maximaal 200 tekens.","example":"Gemeente Utrecht","maxLength":200},"status":{"type":["string","null"],"description":"Aanduiding van de stand van zaken van een INFORMATIEOBJECT. De waarden 'in_bewerking' en 'ter_vaststelling' komen niet voor als het document ontvangen is (ontvangstdatum). Wijziging van 'definitief' naar een eerdere status is niet mogelijk. Mogelijke waarden: concept, in_bewerking, ter_vaststelling, definitief, vastgesteld, gearchiveerd.","enum":["concept","in_bewerking","definitief","ter_vaststelling","vastgesteld","gearchiveerd"]},"formaat":{"type":["string","null"],"description":"Het \"Media Type\" (voorheen \"MIME type\") voor de wijze waarop de inhoud van het INFORMATIEOBJECT is vastgelegd in een computerbestand. Voorbeeld: `application/pdf`. Zie: https://www.iana.org/assignments/media-types/media-types.xhtml. Maximaal 255 tekens.","example":"application/pdf","maxLength":255},"taal":{"type":["string","null"],"description":"Een ISO 639-2/B taalcode waarin de inhoud van het INFORMATIEOBJECT is vastgelegd (3-letterige code). Voorbeeld: `nld` (Nederlands), `eng` (Engels). Zie: https://www.iso.org/standard/4767.html","example":"nld","maxLength":3,"minLength":3,"pattern":"^[a-z]{3}$"},"bestandsnaam":{"type":["string","null"],"description":"De naam van het fysieke bestand waarin de inhoud van het INFORMATIEOBJECT is vastgelegd, inclusief extensie. Maximaal 255 tekens.","example":"besluit-2024-001.pdf","maxLength":255},"inhoud":{"type":["string","null"],"description":"Base64-gecodeerde bestandsinhoud. Gebruik dit veld alleen voor kleine bestanden (<4 GB); stuur anders via BESTANDSDELen.","format":"byte"},"bestandsomvang":{"type":["integer","null"],"description":"Aantal bytes dat de inhoud van het INFORMATIEOBJECT in beslag neemt.","example":12345,"format":"int64"},"link":{"type":["string","null"],"description":"De URL waarmee de inhoud van het INFORMATIEOBJECT op te vragen is (alternatief voor inhoud-veld). Maximaal 200 tekens.","format":"uri","maxLength":200},"beschrijving":{"type":["string","null"],"description":"Een generieke beschrijving van de inhoud van het INFORMATIEOBJECT. Maximaal 1000 tekens.","example":"Besluit omgevingsvergunning bouwen woning Dorpsstraat 1","maxLength":1000},"indicatieGebruiksrecht":{"type":["boolean","null"],"description":"Indicatie of er beperkingen gelden aangaande het gebruik van het informatieobject anders dan raadpleging. Dit veld mag `null` zijn om aan te geven dat de indicatie nog niet bekend is. Als de indicatie gezet is op `true`, moet er ook een Gebruiksrecht aangemaakt zijn."},"verschijningsvorm":{"type":["string","null"],"description":"De essentiële opmaakaspecten van een INFORMATIEOBJECT, vrij tekstveld (bijv. HTML, formulier, Word-document)."},"ondertekening":{"oneOf":[{"$ref":"#/components/schemas/Ondertekening"},{"type":"null"}]},"integriteit":{"oneOf":[{"$ref":"#/components/schemas/Integriteit"},{"type":"null"}]},"informatieobjecttype":{"type":["string","null"],"description":"URL-referentie naar het INFORMATIEOBJECTTYPE (in de Catalogi API). Maximaal 200 tekens.","example":"https://catalogi.example.com/api/v1/informatieobjecttypen/1c35fb6a-a07e-4643-b522-4a68b7deb21d","format":"uri","maxLength":200},"trefwoorden":{"type":["array","null"],"description":"Een lijst van trefwoorden gescheiden door comma's. Elk trefwoord maximaal 100 tekens.","example":["omgevingsrecht","vergunning"],"items":{"type":"string"}},"inhoudIsVervallen":{"type":["boolean","null"],"description":"Indicatie of de inhoud van het INFORMATIEOBJECT is vervallen en niet meer te downloaden is."}},"example":{"bronorganisatie":"123456782","creatiedatum":"2024-01-15","titel":"Besluit vergunning omgevingsrecht","auteur":"Gemeente Utrecht","taal":"nld","informatieobjecttype":"https://catalogi.example.com/api/v1/informatieobjecttypen/1c35fb6a-a07e-4643-b522-4a68b7deb21d","status":"definitief","formaat":"application/pdf","bestandsnaam":"besluit-2024-001.pdf","bestandsomvang":12345,"vertrouwelijkheidaanduiding":"openbaar","beschrijving":"Besluit omgevingsvergunning bouwen woning Dorpsstraat 1","trefwoorden":["omgevingsrecht","vergunning"]}},"InformatieObjectZoekRequest":{"type":"object","title":"InformatieObjectZoekRequest","description":"Request-body voor het zoeken van INFORMATIEOBJECTen op UUID.","required":["uuid_In"],"properties":{"uuid_In":{"type":"array","description":"Lijst van UUID's van INFORMATIEOBJECTen om op te zoeken.","items":{"type":"string"}},"expand":{"type":["string","null"],"description":"Komma-gescheiden lijst van gerelateerde resources om te expanderen in het antwoord."}},"example":{"uuid_In":["550e8400-e29b-41d4-a716-446655440000","6ba7b810-9dad-11d1-80b4-00c04fd430c8"]}},"LockToken":{"type":"object","title":"LockToken","description":"Het vergrendel-token dat ontvangen wordt na het vergrendelen (lock/checkout) van een informatieobject.","required":["lock"],"properties":{"lock":{"type":"string","description":"Het vergrendel-token (UUID). Bewaar dit token — het is nodig voor PUT/PATCH en voor unlock.","format":"uuid"}},"example":{"lock":"c7d72de0-2ba1-4e73-8a4a-9b6de2f1d3e0"}},"JsonElement?":{"type":["object","null"],"title":"kotlinx.serialization.json.JsonElement?"},"Wijzigingen":{"type":"object","title":"Wijzigingen","description":"De gewijzigde velden met hun oude en nieuwe waarden, weergegeven als twee objecten: 'oud' (situatie vóór de actie) en 'nieuw' (situatie ná de actie).","properties":{"oud":{"$ref":"#/components/schemas/JsonElement?"},"nieuw":{"$ref":"#/components/schemas/JsonElement?"}}},"AuditTrailRegel":{"type":"object","title":"AuditTrailRegel","description":"Een audittrail-regel die een wijziging op een INFORMATIEOBJECT vastlegt.","required":["uuid","wijzigingen"],"properties":{"uuid":{"type":"string","description":"De UUID van deze audittrail-regel.","readOnly":true,"format":"uuid"},"bron":{"type":["string","null"],"description":"De naam van het systeem (component) dat de actie heeft uitgevoerd. Mogelijke waarden: ac (Autorisaties API), nrc (Notificaties API), zrc (Zaken API), ztc (Catalogi API), drc (Documenten API), brc (Besluiten API), cmc (Contactmomenten API), kc (Klanten API), vrc (Verzoeken API)."},"applicatieId":{"type":["string","null"],"description":"De ID van de applicatie die de actie heeft uitgevoerd."},"applicatieWeergave":{"type":["string","null"],"description":"Een leesbare weergave van de applicatie die de actie heeft uitgevoerd."},"gebruikersId":{"type":["string","null"],"description":"De ID van de gebruiker die de actie heeft uitgevoerd."},"gebruikersWeergave":{"type":["string","null"],"description":"Een leesbare weergave van de gebruiker die de actie heeft uitgevoerd."},"actie":{"type":["string","null"],"description":"De uitgevoerde actie, bijv. create, update, destroy, retrieve, list."},"actieWeergave":{"type":["string","null"],"description":"Een leesbare omschrijving van de uitgevoerde actie."},"resultaat":{"type":["integer","null"],"description":"De HTTP-statuscode van het resultaat van de actie, bijv. 200, 201, 204."},"hoofdObject":{"type":["string","null"],"description":"URL van het hoofd-object (het INFORMATIEOBJECT) waarop de actie betrekking heeft.","format":"uri"},"resource":{"type":["string","null"],"description":"De naam van de resource, bijv. enkelvoudiginformatieobject."},"resourceUrl":{"type":["string","null"],"description":"URL van de specifieke resource waarop de actie is uitgevoerd.","format":"uri"},"resourceWeergave":{"type":["string","null"],"description":"Een leesbare weergave van de resource waarop de actie is uitgevoerd (bijv. de documenttitel)."},"toelichting":{"type":["string","null"],"description":"Optionele toelichting bij de actie."},"wijzigingen":{"$ref":"#/components/schemas/Wijzigingen"},"aanmaakdatum":{"type":["string","null"],"description":"De datum-tijd waarop de audittrail-regel is aangemaakt (ISO 8601 date-time).","readOnly":true,"format":"date-time"}},"example":{"uuid":"3fa85f64-5717-4562-b3fc-2c963f66afa6","bron":"DRC","applicatieId":"gzac","applicatieWeergave":"GZAC","gebruikersId":"user@gemeente.nl","gebruikersWeergave":"Jan Jansen","actie":"create","actieWeergave":"Aangemaakt","resultaat":201,"hoofdObject":"https://drc.example.com/api/v1/enkelvoudiginformatieobjecten/550e8400-e29b-41d4-a716-446655440000","resource":"enkelvoudiginformatieobject","resourceUrl":"https://drc.example.com/api/v1/enkelvoudiginformatieobjecten/550e8400-e29b-41d4-a716-446655440000","resourceWeergave":"Besluit vergunning omgevingsrecht","toelichting":"","wijzigingen":{"oud":{},"nieuw":{"titel":"Besluit vergunning omgevingsrecht"}},"aanmaakdatum":"2024-01-15T10:30:00"}},"ObjectInformatieObject":{"type":"object","title":"ObjectInformatieObject","description":"Een relatie tussen een INFORMATIEOBJECT en een ander object (bijv. zaak, besluit of custom objecttype). Koppelt een document aan een object uit een andere API.","required":["informatieobject","object","objectType"],"properties":{"id":{"type":["string","null"],"description":"De UUID van deze OBJECTINFORMATIEOBJECT relatie.","readOnly":true,"format":"uuid"},"url":{"type":["string","null"],"description":"De URL van deze OBJECTINFORMATIEOBJECT relatie.","readOnly":true,"format":"uri"},"informatieobject":{"type":"string","description":"URL-referentie naar het gekoppelde INFORMATIEOBJECT.","example":"https://drc.example.com/api/v1/enkelvoudiginformatieobjecten/550e8400-e29b-41d4-a716-446655440000","format":"uri"},"object":{"type":"string","description":"URL-referentie naar het object waaraan het INFORMATIEOBJECT gekoppeld is.","example":"https://zaken.example.com/api/v1/zaken/6ba7b810-9dad-11d1-80b4-00c04fd430c8","format":"uri"},"objectType":{"type":"string","description":"Het type van het gerelateerde OBJECT. Standaard objecttypen: `zaak`, `besluit`. **EXPERIMENTEEL**: dit PoC breidt de standaard uit met ondersteuning voor elk geldig objecttype in kleine letters met optionele koppeltekens (bijv. `verzoek`, `mijn-object-type`).","example":"zaak","pattern":"^[a-z0-9]+(-[a-z0-9]+)*$"}},"example":{"url":"https://drc.example.com/api/v1/objectinformatieobjecten/3fa85f64-5717-4562-b3fc-2c963f66afa6","informatieobject":"https://drc.example.com/api/v1/enkelvoudiginformatieobjecten/550e8400-e29b-41d4-a716-446655440000","object":"https://zaken.example.com/api/v1/zaken/6ba7b810-9dad-11d1-80b4-00c04fd430c8","objectType":"zaak"}},"ObjectInformatieObjectRequest":{"type":"object","title":"ObjectInformatieObjectRequest","description":"Request-model voor het aanmaken van een relatie tussen een INFORMATIEOBJECT en een ander object (bijv. zaak, besluit of custom objecttype).","required":["informatieobject","object","objectType"],"properties":{"informatieobject":{"type":"string","description":"URL-referentie naar het te koppelen INFORMATIEOBJECT.","example":"https://drc.example.com/api/v1/enkelvoudiginformatieobjecten/550e8400-e29b-41d4-a716-446655440000","format":"uri","maxLength":1000},"object":{"type":"string","description":"URL-referentie naar het object waaraan het INFORMATIEOBJECT gekoppeld wordt (bijv. zaak, besluit, verzoek).","example":"https://zaken.example.com/api/v1/zaken/6ba7b810-9dad-11d1-80b4-00c04fd430c8","format":"uri","maxLength":1000},"objectType":{"type":"string","description":"Het type van het gerelateerde OBJECT. Standaard objecttypen: `zaak`, `besluit`. **EXPERIMENTEEL**: dit PoC breidt de standaard uit met ondersteuning voor elk geldig objecttype in kleine letters met optionele koppeltekens (bijv. `verzoek`, `mijn-object-type`).","example":"zaak","pattern":"^[a-z0-9]+(-[a-z0-9]+)*$"}},"example":{"informatieobject":"https://drc.example.com/api/v1/enkelvoudiginformatieobjecten/550e8400-e29b-41d4-a716-446655440000","object":"https://zaken.example.com/api/v1/zaken/6ba7b810-9dad-11d1-80b4-00c04fd430c8","objectType":"zaak"}}},"securitySchemes":{"auth-jwt":{"flows":{"authorizationCode":{"authorizationUrl":"https://auth.gzac.baseflow.com/realms/valtimo/protocol/openid-connect/auth","tokenUrl":"https://auth.gzac.baseflow.com/realms/valtimo/protocol/openid-connect/token","refreshUrl":"https://auth.gzac.baseflow.com/realms/valtimo/protocol/openid-connect/token","scopes":{"openid":"OpenID Connect scope","profile":"Profiel informatie","email":"E-mailadres"}}},"description":"OIDC login via Keycloak (Authorization Code + PKCE). Klik 'Authorize', log in met uw Keycloak-account en het token wordt automatisch gebruikt.","type":"oauth2"},"auth-zgw":{"scheme":"bearer","bearerFormat":"JWT","description":"ZGW-stijl HS256 JWT (GZAC/OpenZaak/Valtimo). Plak een token gegenereerd via de ZGW token-tool. Het token wordt niet op handtekening gecontroleerd; alleen client_id wordt gevalideerd.\n\n⚠️ UNSAFE BYPASS: typ de letterlijke waarde `bypass` om alle JWT-validatie over te slaan. Uitsluitend bedoeld voor lokale ontwikkeling en testen. NOOIT gebruiken in productie.","type":"http"}}},"security":[{"auth-jwt":["openid","profile","email"]},{"auth-zgw":[]}],"tags":[{"name":"enkelvoudiginformatieobjecten","description":"Beheer van document registraties, bestanden en hun metadata"},{"name":"objectinformatieobjecten","description":"Koppelen van documenten aan objecten"},{"name":"subjectinformatieobjecten","description":"Uitbreiding voor niet-Zaken objecten"},{"name":"bestandsdelen","description":"Chunked upload voor grote bestanden"},{"name":"audittrail","description":"Audit log regels per INFORMATIEOBJECT"},{"name":"admin","description":"Interne beheerfuncties voor opslagconfiguratie (niet onderdeel van de publieke API)"}]}