openapi: 3.0.0 info: title: Notificaties API description: 'Een API om een notificatierouteringscomponent te benaderen. Deze API voorziet in drie functionaliteiten voor notificaties: * registreren van kanalen (=exchanges) * abonneren van consumers op kanalen * ontvangen en routeren van berichten **Registreren van kanalen** Een component dekt een bepaald domein af, en heeft het recht om hiervoor een kanaal te registeren waarop eigen notificaties verstuurd worden. Een kanaal is uniek in naam. Een component dient dus te controleren of een kanaal al bestaat voor het registreren. Bij het registeren van kanalen wordt een documentatielink verwacht die beschrijft welke events en kenmerken van toepassing zijn op het kanaal. **Abonneren** Consumers kunnen een abonnement aanmaken voor een of meerdere kanalen. Per kanaal kan op de kenmerken van het kanaal gefilterd worden. Consumers dienen zelf een endpoint te bouwen waarop berichten afgeleverd (kunnen) worden. **Routeren van berichten** Bronnen sturen berichten naar deze API, die vervolgens de berichten onveranderd routeert naar alle abonnees. **Afhankelijkheden** Deze API is afhankelijk van: * Autorisaties API **Autorisatie** Deze API vereist autorisatie. Je kan de [token-tool](https://zaken-auth.vng.cloud/) gebruiken om JWT-tokens te genereren. **Handige links** * [Documentatie](https://zaakgerichtwerken.vng.cloud/standaard) * [Zaakgericht werken](https://zaakgerichtwerken.vng.cloud) ' contact: url: https://zaakgerichtwerken.vng.cloud email: standaarden.ondersteuning@vng.nl license: name: EUPL 1.2 url: https://opensource.org/licenses/EUPL-1.2 version: 1.0.0 security: - JWT-Claims: [] paths: /abonnement: get: operationId: abonnement_list description: Alle ABONNEMENTen 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: type: array items: $ref: '#/components/schemas/Abonnement' '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' '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' '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' '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' '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' '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' '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' '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' tags: - abonnement security: - JWT-Claims: - (notificaties.consumeren | notificaties.publiceren) post: operationId: abonnement_create description: Maak een ABONNEMENT aan. requestBody: $ref: '#/components/requestBodies/Abonnement' 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/Abonnement' '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' '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' '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' '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' '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' '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' '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' '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' '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' tags: - abonnement security: - JWT-Claims: - notificaties.consumeren parameters: [] /abonnement/{uuid}: get: operationId: abonnement_read description: Een specifiek ABONNEMENT 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/Abonnement' '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' '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' '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' '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' '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' '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' '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' '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' '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' tags: - abonnement security: - JWT-Claims: - (notificaties.consumeren | notificaties.publiceren) put: operationId: abonnement_update description: Werk een ABONNEMENT in zijn geheel bij. requestBody: $ref: '#/components/requestBodies/Abonnement' 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/Abonnement' '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' '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' '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' '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' '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' '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' '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' '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' '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' '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' tags: - abonnement security: - JWT-Claims: - notificaties.consumeren patch: operationId: abonnement_partial_update description: Werk een ABONNEMENT deels bij. requestBody: $ref: '#/components/requestBodies/Abonnement' 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/Abonnement' '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' '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' '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' '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' '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' '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' '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' '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' '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' '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' tags: - abonnement security: - JWT-Claims: - notificaties.consumeren delete: operationId: abonnement_delete description: Verwijder een ABONNEMENT. 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': 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' '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' '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' '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' '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' '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' '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' '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' '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' tags: - abonnement security: - JWT-Claims: - notificaties.consumeren parameters: - name: uuid in: path description: Unique resource identifier (UUID4) required: true schema: type: string format: uuid /kanaal: get: operationId: kanaal_list description: Alle KANAALen opvragen. parameters: - name: naam in: query description: Naam van het KANAAL (ook wel "Exchange" genoemd) dat de bron vertegenwoordigd. required: false schema: type: string 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/Kanaal' '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' '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' '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' '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' '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' '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' '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' '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' '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' tags: - kanaal security: - JWT-Claims: - (notificaties.publiceren | notificaties.consumeren) post: operationId: kanaal_create description: Maak een KANAAL aan. requestBody: content: application/json: schema: $ref: '#/components/schemas/Kanaal' required: true 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/Kanaal' '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' '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' '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' '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' '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' '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' '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' '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' '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' tags: - kanaal security: - JWT-Claims: - notificaties.publiceren parameters: [] /kanaal/{uuid}: get: operationId: kanaal_read description: Een specifiek KANAAL 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/Kanaal' '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' '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' '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' '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' '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' '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' '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' '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' '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' tags: - kanaal security: - JWT-Claims: - (notificaties.publiceren | notificaties.consumeren) parameters: - name: uuid in: path description: Unique resource identifier (UUID4) required: true schema: type: string format: uuid /notificaties: post: operationId: notificaties_create description: Publiceer een notificatie. requestBody: content: application/json: schema: $ref: '#/components/schemas/Message' required: true responses: '200': description: '' 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/Message' tags: - notificaties security: - JWT-Claims: - notificaties.publiceren parameters: [] servers: - url: /api/v1 components: requestBodies: Abonnement: content: application/json: schema: $ref: '#/components/schemas/Abonnement' required: true securitySchemes: JWT-Claims: bearerFormat: JWT scheme: bearer type: http schemas: FilterGroup: title: kanalen description: Een lijst van kanalen en filters waarop het ABONNEMENT wordt afgenomen. required: - naam type: object properties: filters: title: Filters description: Map van kenmerken (sleutel/waarde) waarop notificaties gefilterd worden. Alleen notificaties waarvan de kenmerken voldoen aan het filter worden doorgestuurd naar de afnemer van het ABONNEMENT. type: object additionalProperties: title: kenmerk description: Een waarde behorende bij de sleutel. type: string maxLength: 1000 minLength: 1 naam: title: Naam description: De naam van het KANAAL (`KANAAL.naam`) waarop een abonnement is of wordt genomen. type: string minLength: 1 Abonnement: required: - callbackUrl - auth - kanalen 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 callbackUrl: title: Callback URL description: De URL waar notificaties naar toe gestuurd dienen te worden. Deze URL dient uit te komen bij een API die geschikt is om notificaties op te ontvangen. type: string format: uri maxLength: 200 minLength: 1 auth: title: Autorisatie header description: 'Autorisatie header invulling voor het vesturen naar de "Callback URL". Voorbeeld: Bearer a4daa31...' type: string maxLength: 1000 minLength: 1 kanalen: description: Een lijst van kanalen en filters waarop het ABONNEMENT wordt afgenomen. type: array items: $ref: '#/components/schemas/FilterGroup' 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 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 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' Kanaal: required: - naam 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 naam: title: Naam description: Naam van het KANAAL (ook wel "Exchange" genoemd) dat de bron vertegenwoordigd. type: string maxLength: 50 minLength: 1 documentatieLink: title: Documentatie link description: URL naar documentatie. type: string format: uri maxLength: 200 filters: description: Lijst van mogelijke filter kenmerken van een KANAAL. Deze filter kenmerken kunnen worden gebruikt bij het aanmaken van een ABONNEMENT. type: array items: title: Filters type: string maxLength: 100 minLength: 1 Message: required: - kanaal - hoofdObject - resource - resourceUrl - actie - aanmaakdatum type: object properties: kanaal: title: kanaal description: De naam van het kanaal (`KANAAL.naam`) waar het bericht op moet worden gepubliceerd. type: string maxLength: 50 minLength: 1 hoofdObject: title: hoofd object description: URL-referentie naar het hoofd object van de publicerende API die betrekking heeft op de `resource`. type: string format: uri minLength: 1 resource: title: resource description: De resourcenaam waar de notificatie over gaat. type: string maxLength: 100 minLength: 1 resourceUrl: title: resource URL description: URL-referentie naar de `resource` van de publicerende API. type: string format: uri minLength: 1 actie: title: actie description: De actie die door de publicerende API is gedaan. De publicerende API specificeert de toegestane acties. type: string maxLength: 100 minLength: 1 aanmaakdatum: title: aanmaakdatum description: Datum en tijd waarop de actie heeft plaatsgevonden. type: string format: date-time kenmerken: title: kenmerken description: Mapping van kenmerken (sleutel/waarde) van de notificatie. De publicerende API specificeert de toegestane kenmerken. type: object additionalProperties: title: kenmerk description: Een waarde behorende bij de sleutel. type: string maxLength: 1000 minLength: 1