openapi: 3.2.0 info: title: Vng Realisatie Besluiten API version: 1.0.2 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 description: 'Operations tagged besluiten across 2 of this provider''s published API definitions: vng-realisatie-besluiten-openapi.yml, vng-realisatie-besluiten-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: /api/v1 security: - JWT-Claims: [] tags: - name: besluiten description: '' paths: /besluiten: parameters: [] get: operationId: besluit_list summary: Alle BESLUITen opvragen description: Deze lijst kan gefilterd wordt met query-string parameters. parameters: - name: identificatie in: query description: Identificatie van het besluit binnen de organisatie die het besluit heeft vastgesteld. Indien deze niet opgegeven is, dan wordt die gegenereerd. required: false schema: type: string - name: verantwoordelijkeOrganisatie in: query description: Het RSIN van de niet-natuurlijk persoon zijnde de organisatie die het besluit heeft vastgesteld. required: false schema: type: string - name: besluittype in: query description: URL-referentie naar het BESLUITTYPE (in de Catalogi API). required: false schema: type: string format: uri - name: zaak in: query description: URL-referentie naar de ZAAK (in de Zaken API) waarvan dit besluit uitkomst is. required: false schema: type: string format: uri - name: page in: query description: Een pagina binnen de gepagineerde set resultaten. required: false schema: type: integer responses: '200': description: OK headers: API-version: schema: type: string description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.' content: application/json: schema: required: - count - results type: object properties: count: type: integer next: type: - string - 'null' format: uri previous: type: - string - 'null' format: uri results: type: array items: $ref: '#/components/schemas/Besluit' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '406': $ref: '#/components/responses/406' '409': $ref: '#/components/responses/409' '410': $ref: '#/components/responses/410' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' tags: - besluiten security: - JWT-Claims: - besluiten.lezen post: operationId: besluit_create summary: Maak een BESLUIT aan description: 'Indien geen identificatie gegeven is, dan wordt deze automatisch gegenereerd. Er wordt gevalideerd op: - uniciteit van `verantwoorlijkeOrganisatie` + `identificatie` - geldigheid `verantwoorlijkeOrganisatie` RSIN - geldigheid `besluittype` URL - de resource moet opgevraagd kunnen worden uit de Catalogi API en de vorm van een BESLUITTYPE hebben. - geldigheid `zaak` URL - de resource moet opgevraagd kunnen worden uit de Zaken API en de vorm van een ZAAK hebben. - `datum` in het verleden of nu - publicatie `besluittype` - `concept` moet `false` zijn' parameters: - name: Content-Type in: header description: Content type van de verzoekinhoud. required: true schema: type: string enum: - application/json - name: X-NLX-Logrecord-ID in: header description: Identifier of the request, traceable throughout the network required: false schema: type: string - name: X-Audit-Toelichting in: header description: Toelichting waarom een bepaald verzoek wordt gedaan required: false schema: type: string requestBody: $ref: '#/components/requestBodies/Besluit' responses: '201': description: Created headers: API-version: schema: type: string description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.' Location: schema: type: string format: uri description: URL waar de resource leeft. content: application/json: schema: $ref: '#/components/schemas/Besluit' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '406': $ref: '#/components/responses/406' '409': $ref: '#/components/responses/409' '410': $ref: '#/components/responses/410' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' tags: - besluiten security: - JWT-Claims: - besluiten.aanmaken servers: - url: /api/v1 /besluiten/{besluit_uuid}/audittrail: parameters: - name: besluit_uuid in: path required: true description: Unieke resource identifier (UUID4) schema: type: string format: uuid get: operationId: audittrail_list summary: Alle audit trail regels behorend bij het BESLUIT description: Alle audit trail regels behorend bij het BESLUIT. responses: '200': description: OK headers: API-version: schema: type: string description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.' content: application/json: schema: type: array items: $ref: '#/components/schemas/AuditTrail' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '406': $ref: '#/components/responses/406' '409': $ref: '#/components/responses/409' '410': $ref: '#/components/responses/410' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' tags: - besluiten security: - JWT-Claims: - audittrails.lezen servers: - url: /api/v1 /besluiten/{besluit_uuid}/audittrail/{uuid}: parameters: - name: besluit_uuid in: path required: true description: Unieke resource identifier (UUID4) schema: type: string format: uuid - name: uuid in: path description: Unieke identificatie van de audit regel. required: true schema: type: string format: uuid get: operationId: audittrail_read summary: Een specifieke audit trail regel opvragen description: Een specifieke audit trail regel opvragen. responses: '200': description: OK headers: API-version: schema: type: string description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.' content: application/json: schema: $ref: '#/components/schemas/AuditTrail' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '409': $ref: '#/components/responses/409' '410': $ref: '#/components/responses/410' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' tags: - besluiten security: - JWT-Claims: - audittrails.lezen servers: - url: /api/v1 /besluiten/{uuid}: parameters: - name: uuid in: path required: true schema: type: string format: uuid get: operationId: besluit_read summary: Een specifiek BESLUIT opvragen description: Een specifiek BESLUIT opvragen. responses: '200': description: OK headers: API-version: schema: type: string description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.' content: application/json: schema: $ref: '#/components/schemas/Besluit' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '409': $ref: '#/components/responses/409' '410': $ref: '#/components/responses/410' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' tags: - besluiten security: - JWT-Claims: - besluiten.lezen put: operationId: besluit_update summary: Werk een BESLUIT in zijn geheel bij description: 'Er wordt gevalideerd op: - uniciteit van `verantwoorlijkeOrganisatie` + `identificatie` - geldigheid `verantwoorlijkeOrganisatie` RSIN - het `besluittype` mag niet gewijzigd worden - geldigheid `zaak` URL - de resource moet opgevraagd kunnen worden uit de Zaken API en de vorm van een ZAAK hebben. - `datum` in het verleden of nu - publicatie `besluittype` - `concept` moet `false` zijn' parameters: - name: Content-Type in: header description: Content type van de verzoekinhoud. required: true schema: type: string enum: - application/json - name: X-NLX-Logrecord-ID in: header description: Identifier of the request, traceable throughout the network required: false schema: type: string - name: X-Audit-Toelichting in: header description: Toelichting waarom een bepaald verzoek wordt gedaan required: false schema: type: string requestBody: $ref: '#/components/requestBodies/Besluit' responses: '200': description: OK headers: API-version: schema: type: string description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.' content: application/json: schema: $ref: '#/components/schemas/Besluit' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '409': $ref: '#/components/responses/409' '410': $ref: '#/components/responses/410' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' tags: - besluiten security: - JWT-Claims: - besluiten.bijwerken patch: operationId: besluit_partial_update summary: Werk een BESLUIT deels bij description: 'Er wordt gevalideerd op: - uniciteit van `verantwoorlijkeOrganisatie` + `identificatie` - geldigheid `verantwoorlijkeOrganisatie` RSIN - het `besluittype` mag niet gewijzigd worden - geldigheid `zaak` URL - de resource moet opgevraagd kunnen worden uit de Zaken API en de vorm van een ZAAK hebben. - `datum` in het verleden of nu - publicatie `besluittype` - `concept` moet `false` zijn' parameters: - name: Content-Type in: header description: Content type van de verzoekinhoud. required: true schema: type: string enum: - application/json - name: X-NLX-Logrecord-ID in: header description: Identifier of the request, traceable throughout the network required: false schema: type: string - name: X-Audit-Toelichting in: header description: Toelichting waarom een bepaald verzoek wordt gedaan required: false schema: type: string requestBody: $ref: '#/components/requestBodies/Besluit' responses: '200': description: OK headers: API-version: schema: type: string description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.' content: application/json: schema: $ref: '#/components/schemas/Besluit' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '409': $ref: '#/components/responses/409' '410': $ref: '#/components/responses/410' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' tags: - besluiten security: - JWT-Claims: - besluiten.bijwerken delete: operationId: besluit_delete summary: Verwijder een BESLUIT description: 'Verwijder een BESLUIT samen met alle gerelateerde resources binnen deze API. **De gerelateerde resources zijn** - `BESLUITINFORMATIEOBJECT` - audit trail regels' parameters: - name: X-NLX-Logrecord-ID in: header description: Identifier of the request, traceable throughout the network required: false schema: type: string - name: X-Audit-Toelichting in: header description: Toelichting waarom een bepaald verzoek wordt gedaan required: false schema: type: string responses: '204': description: No content headers: API-version: schema: type: string description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '406': $ref: '#/components/responses/406' '409': $ref: '#/components/responses/409' '410': $ref: '#/components/responses/410' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' tags: - besluiten security: - JWT-Claims: - besluiten.verwijderen servers: - url: /api/v1 components: responses: '404': description: Not found headers: API-version: schema: type: string description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.' content: application/problem+json: schema: $ref: '#/components/schemas/Fout' '415': description: Unsupported media type headers: API-version: schema: type: string description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.' content: application/problem+json: schema: $ref: '#/components/schemas/Fout' '500': description: Internal server error headers: API-version: schema: type: string description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.' content: application/problem+json: schema: $ref: '#/components/schemas/Fout' '410': description: Gone headers: API-version: schema: type: string description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.' content: application/problem+json: schema: $ref: '#/components/schemas/Fout' '403': description: Forbidden headers: API-version: schema: type: string description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.' content: application/problem+json: schema: $ref: '#/components/schemas/Fout' '429': description: Too many requests headers: API-version: schema: type: string description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.' content: application/problem+json: schema: $ref: '#/components/schemas/Fout' '401': description: Unauthorized headers: API-version: schema: type: string description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.' content: application/problem+json: schema: $ref: '#/components/schemas/Fout' '406': description: Not acceptable headers: API-version: schema: type: string description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.' content: application/problem+json: schema: $ref: '#/components/schemas/Fout' '400': description: Bad request headers: API-version: schema: type: string description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.' content: application/problem+json: schema: $ref: '#/components/schemas/ValidatieFout' '409': description: Conflict headers: API-version: schema: type: string description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.' content: application/problem+json: schema: $ref: '#/components/schemas/Fout' schemas: FieldValidationError: required: - name - code - reason type: object properties: name: title: Name description: Naam van het veld met ongeldige gegevens type: string minLength: 1 code: title: Code description: Systeemcode die het type fout aangeeft type: string minLength: 1 reason: title: Reason description: Uitleg wat er precies fout is met de gegevens type: string minLength: 1 Fout: required: - code - title - status - detail - instance type: object properties: type: title: Type description: URI referentie naar het type fout, bedoeld voor developers type: string code: title: Code description: Systeemcode die het type fout aangeeft type: string minLength: 1 title: title: Title description: Generieke titel voor het type fout type: string minLength: 1 status: title: Status description: De HTTP status code type: integer detail: title: Detail description: Extra informatie bij de fout, indien beschikbaar type: string minLength: 1 instance: title: Instance description: URI met referentie naar dit specifiek voorkomen van de fout. Deze kan gebruikt worden in combinatie met server logs, bijvoorbeeld. type: string minLength: 1 Wijzigingen: type: object properties: oud: title: Oud description: Volledige JSON body van het object zoals dat bestond voordat de actie heeft plaatsgevonden. type: object nieuw: title: Nieuw description: Volledige JSON body van het object na de actie. type: object Besluit: required: - verantwoordelijkeOrganisatie - besluittype - datum - ingangsdatum type: object properties: url: title: Url description: URL-referentie naar dit object. Dit is de unieke identificatie en locatie van dit object. type: string format: uri readOnly: true maxLength: 1000 minLength: 1 identificatie: title: Identificatie description: Identificatie van het besluit binnen de organisatie die het besluit heeft vastgesteld. Indien deze niet opgegeven is, dan wordt die gegenereerd. type: string maxLength: 50 verantwoordelijkeOrganisatie: title: Verantwoordelijke organisatie description: Het RSIN van de niet-natuurlijk persoon zijnde de organisatie die het besluit heeft vastgesteld. type: string maxLength: 9 minLength: 1 besluittype: title: Besluittype description: URL-referentie naar het BESLUITTYPE (in de Catalogi API). type: string format: uri maxLength: 200 minLength: 1 zaak: title: Zaak description: URL-referentie naar de ZAAK (in de Zaken API) waarvan dit besluit uitkomst is. type: string format: uri maxLength: 200 datum: title: Datum description: De beslisdatum (AWB) van het besluit. type: string format: date toelichting: title: Toelichting description: Toelichting bij het besluit. type: string bestuursorgaan: title: Bestuursorgaan description: Een orgaan van een rechtspersoon krachtens publiekrecht ingesteld of een persoon of college, met enig openbaar gezag bekleed onder wiens verantwoordelijkheid het besluit vastgesteld is. type: string maxLength: 50 ingangsdatum: title: Ingangsdatum description: Ingangsdatum van de werkingsperiode van het besluit. type: string format: date vervaldatum: title: Vervaldatum description: Datum waarop de werkingsperiode van het besluit eindigt. type: - string - 'null' format: date vervalreden: title: Vervalreden description: 'De omschrijving die aangeeft op grond waarvan het besluit is of komt te vervallen. Uitleg bij mogelijke waarden: * `tijdelijk` - Besluit met tijdelijke werking * `ingetrokken_overheid` - Besluit ingetrokken door overheid * `ingetrokken_belanghebbende` - Besluit ingetrokken o.v.v. belanghebbende' type: string enum: - tijdelijk - ingetrokken_overheid - ingetrokken_belanghebbende vervalredenWeergave: title: Vervalreden weergave type: string readOnly: true minLength: 1 publicatiedatum: title: Publicatiedatum description: Datum waarop het besluit gepubliceerd wordt. type: - string - 'null' format: date verzenddatum: title: Verzenddatum description: Datum waarop het besluit verzonden is. type: - string - 'null' format: date uiterlijkeReactiedatum: title: Uiterlijke reactiedatum description: De datum tot wanneer verweer tegen het besluit mogelijk is. type: - string - 'null' format: date AuditTrail: required: - bron - actie - resultaat - hoofdObject - resource - resourceUrl - resourceWeergave - wijzigingen type: object properties: uuid: title: Uuid description: Unieke identificatie van de audit regel. type: string format: uuid bron: title: Bron description: 'De naam van het component waar de wijziging in is gedaan. Uitleg bij 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' type: string enum: - ac - nrc - zrc - ztc - drc - brc - cmc - kc - vrc applicatieId: title: Applicatie id description: Unieke identificatie van de applicatie, binnen de organisatie. type: string maxLength: 100 applicatieWeergave: title: Applicatie weergave description: Vriendelijke naam van de applicatie. type: string maxLength: 200 gebruikersId: title: Gebruikers id description: Unieke identificatie van de gebruiker die binnen de organisatie herleid kan worden naar een persoon. type: string maxLength: 255 gebruikersWeergave: title: Gebruikers weergave description: Vriendelijke naam van de gebruiker. type: string maxLength: 255 actie: title: Actie description: 'De uitgevoerde handeling. De bekende waardes voor dit veld zijn hieronder aangegeven, maar andere waardes zijn ook toegestaan Uitleg bij mogelijke waarden: * `create` - Object aangemaakt * `list` - Lijst van objecten opgehaald * `retrieve` - Object opgehaald * `destroy` - Object verwijderd * `update` - Object bijgewerkt * `partial_update` - Object deels bijgewerkt' type: string maxLength: 50 minLength: 1 actieWeergave: title: Actie weergave description: Vriendelijke naam van de actie. type: string maxLength: 200 resultaat: title: Resultaat description: HTTP status code van de API response van de uitgevoerde handeling. type: integer maximum: 599 minimum: 100 hoofdObject: title: Hoofd object description: De URL naar het hoofdobject van een component. type: string format: uri maxLength: 1000 minLength: 1 resource: title: Resource description: Het type resource waarop de actie gebeurde. type: string maxLength: 50 minLength: 1 resourceUrl: title: Resource url description: De URL naar het object. type: string format: uri maxLength: 1000 minLength: 1 toelichting: title: Toelichting description: Toelichting waarom de handeling is uitgevoerd. type: string resourceWeergave: title: Resource weergave description: Vriendelijke identificatie van het object. type: string maxLength: 200 minLength: 1 aanmaakdatum: title: Aanmaakdatum description: De datum waarop de handeling is gedaan. type: string format: date-time readOnly: true wijzigingen: $ref: '#/components/schemas/Wijzigingen' ValidatieFout: required: - code - title - status - detail - instance - invalidParams type: object properties: type: title: Type description: URI referentie naar het type fout, bedoeld voor developers type: string code: title: Code description: Systeemcode die het type fout aangeeft type: string minLength: 1 title: title: Title description: Generieke titel voor het type fout type: string minLength: 1 status: title: Status description: De HTTP status code type: integer detail: title: Detail description: Extra informatie bij de fout, indien beschikbaar type: string minLength: 1 instance: title: Instance description: URI met referentie naar dit specifiek voorkomen van de fout. Deze kan gebruikt worden in combinatie met server logs, bijvoorbeeld. type: string minLength: 1 invalidParams: type: array items: $ref: '#/components/schemas/FieldValidationError' requestBodies: Besluit: content: application/json: schema: $ref: '#/components/schemas/Besluit' required: true securitySchemes: JWT-Claims: type: http scheme: bearer bearerFormat: JWT x-refined-from: - vng-realisatie-besluiten-openapi.yml - vng-realisatie-besluiten-openapi.yml