diff --git a/bin/generate_schema.sh b/bin/generate_schema.sh index 8cedc8c..a4d0fb0 100755 --- a/bin/generate_schema.sh +++ b/bin/generate_schema.sh @@ -13,4 +13,5 @@ fi echo "Generating OAS schema" src/manage.py spectacular \ - --file ${OUTPUT_FILE:-./src/openapi.yaml} + --file ${OUTPUT_FILE:-./src/openapi.yaml} \ + --lang="nl-nl" diff --git a/src/openapi.yaml b/src/openapi.yaml index e869998..8321a45 100644 --- a/src/openapi.yaml +++ b/src/openapi.yaml @@ -238,7 +238,7 @@ paths: type: string enum: - application/json - description: Content type van de verzoekinhoud. + description: Inhoudstype van de request body. required: true tags: - abonnement @@ -392,7 +392,7 @@ paths: schema: type: string format: uuid - description: Unique resource identifier (UUID4) + description: Unieke resource identificatie (UUID4) required: true tags: - abonnement @@ -535,14 +535,14 @@ paths: type: string enum: - application/json - description: Content type van de verzoekinhoud. + description: Inhoudstype van de request body. required: true - in: path name: uuid schema: type: string format: uuid - description: Unique resource identifier (UUID4) + description: Unieke resource identificatie (UUID4) required: true tags: - abonnement @@ -703,14 +703,14 @@ paths: type: string enum: - application/json - description: Content type van de verzoekinhoud. + description: Inhoudstype van de request body. required: true - in: path name: uuid schema: type: string format: uuid - description: Unique resource identifier (UUID4) + description: Unieke resource identificatie (UUID4) required: true tags: - abonnement @@ -869,7 +869,7 @@ paths: schema: type: string format: uuid - description: Unique resource identifier (UUID4) + description: Unieke resource identificatie (UUID4) required: true tags: - abonnement @@ -1156,7 +1156,7 @@ paths: type: string enum: - application/json - description: Content type van de verzoekinhoud. + description: Inhoudstype van de request body. required: true tags: - kanaal @@ -1312,7 +1312,7 @@ paths: schema: type: string format: uuid - description: Unique resource identifier (UUID4) + description: Unieke resource identificatie (UUID4) required: true tags: - kanaal @@ -1457,14 +1457,14 @@ paths: type: string enum: - application/json - description: Content type van de verzoekinhoud. + description: Inhoudstype van de request body. required: true - in: path name: uuid schema: type: string format: uuid - description: Unique resource identifier (UUID4) + description: Unieke resource identificatie (UUID4) required: true tags: - kanaal @@ -1627,14 +1627,14 @@ paths: type: string enum: - application/json - description: Content type van de verzoekinhoud. + description: Inhoudstype van de request body. required: true - in: path name: uuid schema: type: string format: uuid - description: Unique resource identifier (UUID4) + description: Unieke resource identificatie (UUID4) required: true tags: - kanaal @@ -1795,7 +1795,7 @@ paths: type: string enum: - application/json - description: Content type van de verzoekinhoud. + description: Inhoudstype van de request body. required: true tags: - notificaties diff --git a/src/openapi.yaml2 b/src/openapi.yaml2 new file mode 100644 index 0000000..8321a45 --- /dev/null +++ b/src/openapi.yaml2 @@ -0,0 +1,2214 @@ +openapi: 3.0.3 +info: + title: Open Notificaties API + version: 1.0.0 + 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. + + _Zelf een token genereren_ + + De tokens die gebruikt worden voor autorisatie zijn [jwt.io][JWT's] (JSON web + token). In de API calls moeten deze gebruikt worden in de `Authorization` + header: + + ``` + Authorization: Bearer + ``` + + Om een JWT te genereren heb je een `client ID` en een `secret` nodig. Het JWT + moet gebouwd worden volgens het `HS256` algoritme. De vereiste payload is: + + ```json + { + "iss": "", + "iat": 1572863906, + "client_id": "", + "user_id": "", + "user_representation": "" + } + ``` + + Als `issuer` gebruik je dus je eigen client ID. De `iat` timestamp is een + UNIX-timestamp die aangeeft op welk moment het token gegenereerd is. + + `user_id` en `user_representation` zijn nodig voor de audit trails. Het zijn + vrije velden met als enige beperking dat de lengte maximaal de lengte van + de overeenkomstige velden in de audit trail resources is (zie rest API spec). + + + **Handige links** + + * [API-documentatie](https://vng-realisatie.github.io/gemma-zaken/standaard/) + * [Open Notificaties documentatie](https://open-notificaties.readthedocs.io/en/latest/) + * [Zaakgericht werken](https://www.vngrealisatie.nl/producten/api-standaarden-zaakgericht-werken) + * [Open Notificaties GitHub](https://github.com/open-zaak/open-notificaties) + contact: + email: support@maykinmedia.nl + url: https://www.maykinmedia.nl + license: + name: EUPL 1.2 + url: https://opensource.org/licenses/EUPL-1.2 +paths: + /abonnement: + get: + operationId: abonnement_list + description: |- + Opvragen en bewerken van ABONNEMENTen. + + Een consumer kan een ABONNEMENT nemen op een KANAAL om zo NOTIFICATIEs te + ontvangen die op dat KANAAL gepubliceerd worden. + summary: Alle ABONNEMENTen opvragen. + tags: + - abonnement + security: + - JWT-Claims: + - (notificaties.consumeren | notificaties.publiceren) + responses: + '200': + 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' + description: OK + '400': + 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' + description: Bad request + '401': + 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' + description: Unauthorized + '403': + 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' + description: Forbidden + '406': + 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' + description: Not acceptable + '409': + 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' + description: Conflict + '410': + 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' + description: Gone + '415': + 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' + description: Unsupported media type + '429': + 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' + description: Too many requests + '500': + 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' + description: Internal server error + post: + operationId: abonnement_create + description: |- + Opvragen en bewerken van ABONNEMENTen. + + Een consumer kan een ABONNEMENT nemen op een KANAAL om zo NOTIFICATIEs te + ontvangen die op dat KANAAL gepubliceerd worden. + summary: Maak een ABONNEMENT aan. + parameters: + - in: header + name: Content-Type + schema: + type: string + enum: + - application/json + description: Inhoudstype van de request body. + required: true + tags: + - abonnement + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Abonnement' + required: true + security: + - JWT-Claims: + - notificaties.consumeren + responses: + '201': + 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' + description: Created + '400': + 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' + description: Bad request + '401': + 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' + description: Unauthorized + '403': + 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' + description: Forbidden + '406': + 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' + description: Not acceptable + '409': + 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' + description: Conflict + '410': + 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' + description: Gone + '415': + 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' + description: Unsupported media type + '429': + 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' + description: Too many requests + '500': + 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' + description: Internal server error + /abonnement/{uuid}: + get: + operationId: abonnement_read + description: |- + Opvragen en bewerken van ABONNEMENTen. + + Een consumer kan een ABONNEMENT nemen op een KANAAL om zo NOTIFICATIEs te + ontvangen die op dat KANAAL gepubliceerd worden. + summary: Een specifieke ABONNEMENT opvragen. + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: Unieke resource identificatie (UUID4) + required: true + tags: + - abonnement + security: + - JWT-Claims: + - (notificaties.consumeren | notificaties.publiceren) + responses: + '200': + 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' + description: OK + '401': + 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' + description: Unauthorized + '403': + 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' + description: Forbidden + '404': + 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' + description: Not found + '406': + 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' + description: Not acceptable + '409': + 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' + description: Conflict + '410': + 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' + description: Gone + '415': + 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' + description: Unsupported media type + '429': + 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' + description: Too many requests + '500': + 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' + description: Internal server error + put: + operationId: abonnement_update + description: |- + Opvragen en bewerken van ABONNEMENTen. + + Een consumer kan een ABONNEMENT nemen op een KANAAL om zo NOTIFICATIEs te + ontvangen die op dat KANAAL gepubliceerd worden. + summary: Werk een ABONNEMENT in zijn geheel bij. + parameters: + - in: header + name: Content-Type + schema: + type: string + enum: + - application/json + description: Inhoudstype van de request body. + required: true + - in: path + name: uuid + schema: + type: string + format: uuid + description: Unieke resource identificatie (UUID4) + required: true + tags: + - abonnement + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Abonnement' + required: true + security: + - JWT-Claims: + - notificaties.consumeren + responses: + '200': + 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' + description: OK + '400': + 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' + description: Bad request + '401': + 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' + description: Unauthorized + '403': + 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' + description: Forbidden + '404': + 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' + description: Not found + '406': + 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' + description: Not acceptable + '409': + 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' + description: Conflict + '410': + 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' + description: Gone + '415': + 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' + description: Unsupported media type + '429': + 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' + description: Too many requests + '500': + 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' + description: Internal server error + patch: + operationId: abonnement_partial_update + description: |- + Opvragen en bewerken van ABONNEMENTen. + + Een consumer kan een ABONNEMENT nemen op een KANAAL om zo NOTIFICATIEs te + ontvangen die op dat KANAAL gepubliceerd worden. + summary: Werk een ABONNEMENT deels bij. + parameters: + - in: header + name: Content-Type + schema: + type: string + enum: + - application/json + description: Inhoudstype van de request body. + required: true + - in: path + name: uuid + schema: + type: string + format: uuid + description: Unieke resource identificatie (UUID4) + required: true + tags: + - abonnement + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedAbonnement' + security: + - JWT-Claims: + - notificaties.consumeren + responses: + '200': + 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' + description: OK + '400': + 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' + description: Bad request + '401': + 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' + description: Unauthorized + '403': + 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' + description: Forbidden + '404': + 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' + description: Not found + '406': + 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' + description: Not acceptable + '409': + 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' + description: Conflict + '410': + 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' + description: Gone + '415': + 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' + description: Unsupported media type + '429': + 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' + description: Too many requests + '500': + 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' + description: Internal server error + delete: + operationId: abonnement_delete + description: |- + Opvragen en bewerken van ABONNEMENTen. + + Een consumer kan een ABONNEMENT nemen op een KANAAL om zo NOTIFICATIEs te + ontvangen die op dat KANAAL gepubliceerd worden. + summary: Verwijder een ABONNEMENT. + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: Unieke resource identificatie (UUID4) + required: true + tags: + - abonnement + security: + - JWT-Claims: + - notificaties.consumeren + responses: + '204': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + description: No response body + '401': + 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' + description: Unauthorized + '403': + 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' + description: Forbidden + '404': + 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' + description: Not found + '406': + 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' + description: Not acceptable + '409': + 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' + description: Conflict + '410': + 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' + description: Gone + '415': + 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' + description: Unsupported media type + '429': + 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' + description: Too many requests + '500': + 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' + description: Internal server error + /kanaal: + get: + operationId: kanaal_list + description: |- + Opvragen, aanmaken en bewerken van KANAALen. + + Op een KANAAL publiceren componenten (bronnen) hun NOTIFICATIEs. Alleen + componenten die NOTIFICATIEs willen publiceren dienen een KANAAL aan te + maken. Dit KANAAL kan vervolgens aan consumers worden gegeven om zich op te + abonneren. + summary: Alle KANAALen opvragen. + parameters: + - in: query + name: naam + schema: + type: string + description: Naam van het KANAAL (ook wel "Exchange" genoemd) dat de bron + vertegenwoordigd. + tags: + - kanaal + security: + - JWT-Claims: + - (notificaties.publiceren | notificaties.consumeren) + responses: + '200': + 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' + description: OK + '400': + 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' + description: Bad request + '401': + 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' + description: Unauthorized + '403': + 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' + description: Forbidden + '406': + 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' + description: Not acceptable + '409': + 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' + description: Conflict + '410': + 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' + description: Gone + '415': + 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' + description: Unsupported media type + '429': + 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' + description: Too many requests + '500': + 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' + description: Internal server error + post: + operationId: kanaal_create + description: |- + Opvragen, aanmaken en bewerken van KANAALen. + + Op een KANAAL publiceren componenten (bronnen) hun NOTIFICATIEs. Alleen + componenten die NOTIFICATIEs willen publiceren dienen een KANAAL aan te + maken. Dit KANAAL kan vervolgens aan consumers worden gegeven om zich op te + abonneren. + summary: Maak een KANAAL aan. + parameters: + - in: header + name: Content-Type + schema: + type: string + enum: + - application/json + description: Inhoudstype van de request body. + required: true + tags: + - kanaal + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Kanaal' + required: true + security: + - JWT-Claims: + - notificaties.publiceren + responses: + '201': + 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' + description: Created + '400': + 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' + description: Bad request + '401': + 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' + description: Unauthorized + '403': + 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' + description: Forbidden + '406': + 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' + description: Not acceptable + '409': + 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' + description: Conflict + '410': + 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' + description: Gone + '415': + 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' + description: Unsupported media type + '429': + 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' + description: Too many requests + '500': + 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' + description: Internal server error + /kanaal/{uuid}: + get: + operationId: kanaal_read + description: |- + Opvragen, aanmaken en bewerken van KANAALen. + + Op een KANAAL publiceren componenten (bronnen) hun NOTIFICATIEs. Alleen + componenten die NOTIFICATIEs willen publiceren dienen een KANAAL aan te + maken. Dit KANAAL kan vervolgens aan consumers worden gegeven om zich op te + abonneren. + summary: Een specifiek KANAAL opvragen. + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: Unieke resource identificatie (UUID4) + required: true + tags: + - kanaal + security: + - JWT-Claims: + - (notificaties.publiceren | notificaties.consumeren) + responses: + '200': + 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' + description: OK + '401': + 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' + description: Unauthorized + '403': + 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' + description: Forbidden + '404': + 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' + description: Not found + '406': + 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' + description: Not acceptable + '409': + 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' + description: Conflict + '410': + 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' + description: Gone + '415': + 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' + description: Unsupported media type + '429': + 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' + description: Too many requests + '500': + 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' + description: Internal server error + put: + operationId: kanaal_update + description: |- + Opvragen, aanmaken en bewerken van KANAALen. + + Op een KANAAL publiceren componenten (bronnen) hun NOTIFICATIEs. Alleen + componenten die NOTIFICATIEs willen publiceren dienen een KANAAL aan te + maken. Dit KANAAL kan vervolgens aan consumers worden gegeven om zich op te + abonneren. + summary: '**EXPERIMENTEEL** Een specifiek KANAAL bewerken.' + parameters: + - in: header + name: Content-Type + schema: + type: string + enum: + - application/json + description: Inhoudstype van de request body. + required: true + - in: path + name: uuid + schema: + type: string + format: uuid + description: Unieke resource identificatie (UUID4) + required: true + tags: + - kanaal + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Kanaal' + required: true + security: + - JWT-Claims: + - notificaties.publiceren + responses: + '200': + 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' + description: OK + '400': + 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' + description: Bad request + '401': + 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' + description: Unauthorized + '403': + 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' + description: Forbidden + '404': + 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' + description: Not found + '406': + 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' + description: Not acceptable + '409': + 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' + description: Conflict + '410': + 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' + description: Gone + '415': + 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' + description: Unsupported media type + '429': + 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' + description: Too many requests + '500': + 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' + description: Internal server error + patch: + operationId: kanaal_partial_update + description: |- + Opvragen, aanmaken en bewerken van KANAALen. + + Op een KANAAL publiceren componenten (bronnen) hun NOTIFICATIEs. Alleen + componenten die NOTIFICATIEs willen publiceren dienen een KANAAL aan te + maken. Dit KANAAL kan vervolgens aan consumers worden gegeven om zich op te + abonneren. + summary: '**EXPERIMENTEEL** Een specifiek KANAAL deels bewerken.' + parameters: + - in: header + name: Content-Type + schema: + type: string + enum: + - application/json + description: Inhoudstype van de request body. + required: true + - in: path + name: uuid + schema: + type: string + format: uuid + description: Unieke resource identificatie (UUID4) + required: true + tags: + - kanaal + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedKanaal' + security: + - JWT-Claims: + - notificaties.publiceren + responses: + '200': + 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' + description: OK + '400': + 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' + description: Bad request + '401': + 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' + description: Unauthorized + '403': + 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' + description: Forbidden + '404': + 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' + description: Not found + '406': + 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' + description: Not acceptable + '409': + 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' + description: Conflict + '410': + 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' + description: Gone + '415': + 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' + description: Unsupported media type + '429': + 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' + description: Too many requests + '500': + 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' + description: Internal server error + /notificaties: + post: + operationId: notificaties_create + description: |- + Publiceren van NOTIFICATIEs. + + Een NOTIFICATIE wordt gepubliceerd op een KANAAL. Alle consumers die een + ABONNEMENT hebben op dit KANAAL ontvangen de NOTIFICATIE. + summary: Publiceer een notificatie. + parameters: + - in: header + name: Content-Type + schema: + type: string + enum: + - application/json + description: Inhoudstype van de request body. + required: true + tags: + - notificaties + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Message' + required: true + security: + - JWT-Claims: + - notificaties.publiceren + responses: + '201': + 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' + description: Created + '400': + 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' + description: Bad request + '401': + 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' + description: Unauthorized + '403': + 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' + description: Forbidden + '406': + 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' + description: Not acceptable + '409': + 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' + description: Conflict + '410': + 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' + description: Gone + '415': + 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' + description: Unsupported media type + '429': + 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' + description: Too many requests + '500': + 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' + description: Internal server error +components: + schemas: + Abonnement: + type: object + properties: + url: + type: string + format: uri + readOnly: true + minLength: 1 + maxLength: 1000 + description: URL-referentie naar dit object. Dit is de unieke identificatie + en locatie van dit object. + callbackUrl: + type: string + format: uri + 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. + maxLength: 200 + auth: + type: string + writeOnly: true + title: Autorisatie header + description: 'Autorisatie header invulling voor het vesturen naar de "Callback + URL". Voorbeeld: Bearer a4daa31...' + maxLength: 1000 + kanalen: + type: array + items: + $ref: '#/components/schemas/FilterGroup' + description: Een lijst van kanalen en filters waarop het ABONNEMENT wordt + afgenomen. + required: + - auth + - callbackUrl + - kanalen + FieldValidationError: + type: object + description: Formaat van validatiefouten. + properties: + name: + type: string + description: Naam van het veld met ongeldige gegevens + code: + type: string + description: Systeemcode die het type fout aangeeft + reason: + type: string + description: Uitleg wat er precies fout is met de gegevens + required: + - code + - name + - reason + FilterGroup: + type: object + properties: + filters: + type: object + additionalProperties: + type: string + title: kenmerk + description: Een waarde behorende bij de sleutel. + maxLength: 1000 + 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. + naam: + type: string + description: De naam van het KANAAL (`KANAAL.naam`) waarop een abonnement + is of wordt genomen. + required: + - naam + Fout: + type: object + description: Formaat van HTTP 4xx en 5xx fouten. + properties: + type: + type: string + description: URI referentie naar het type fout, bedoeld voor developers + code: + type: string + description: Systeemcode die het type fout aangeeft + title: + type: string + description: Generieke titel voor het type fout + status: + type: integer + description: De HTTP status code + detail: + type: string + description: Extra informatie bij de fout, indien beschikbaar + instance: + type: string + description: URI met referentie naar dit specifiek voorkomen van de fout. + Deze kan gebruikt worden in combinatie met server logs, bijvoorbeeld. + required: + - code + - detail + - instance + - status + - title + Kanaal: + type: object + properties: + url: + type: string + format: uri + readOnly: true + minLength: 1 + maxLength: 1000 + description: URL-referentie naar dit object. Dit is de unieke identificatie + en locatie van dit object. + naam: + type: string + description: Naam van het KANAAL (ook wel "Exchange" genoemd) dat de bron + vertegenwoordigd. + maxLength: 50 + documentatieLink: + type: string + format: uri + description: URL naar documentatie. + maxLength: 200 + filters: + type: array + items: + type: string + maxLength: 100 + description: Lijst van mogelijke filter kenmerken van een KANAAL. Deze filter + kenmerken kunnen worden gebruikt bij het aanmaken van een ABONNEMENT. + required: + - naam + Message: + type: object + properties: + kanaal: + type: string + description: De naam van het kanaal (`KANAAL.naam`) waar het bericht op + moet worden gepubliceerd. + maxLength: 50 + hoofdObject: + type: string + format: uri + title: hoofdobject + description: URL-referentie naar het hoofd object van de publicerende API + die betrekking heeft op de `resource`. + resource: + type: string + description: De resourcenaam waar de notificatie over gaat. + maxLength: 100 + resourceUrl: + type: string + format: uri + description: URL-referentie naar de `resource` van de publicerende API. + actie: + type: string + description: De actie die door de publicerende API is gedaan. De publicerende + API specificeert de toegestane acties. + maxLength: 100 + aanmaakdatum: + type: string + format: date-time + description: Datum en tijd waarop de actie heeft plaatsgevonden. + kenmerken: + type: object + additionalProperties: + type: string + title: kenmerk + description: Een waarde behorende bij de sleutel. + maxLength: 1000 + description: Mapping van kenmerken (sleutel/waarde) van de notificatie. + De publicerende API specificeert de toegestane kenmerken. + required: + - aanmaakdatum + - actie + - hoofdObject + - kanaal + - resource + - resourceUrl + PatchedAbonnement: + type: object + properties: + url: + type: string + format: uri + readOnly: true + minLength: 1 + maxLength: 1000 + description: URL-referentie naar dit object. Dit is de unieke identificatie + en locatie van dit object. + callbackUrl: + type: string + format: uri + 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. + maxLength: 200 + auth: + type: string + writeOnly: true + title: Autorisatie header + description: 'Autorisatie header invulling voor het vesturen naar de "Callback + URL". Voorbeeld: Bearer a4daa31...' + maxLength: 1000 + kanalen: + type: array + items: + $ref: '#/components/schemas/FilterGroup' + description: Een lijst van kanalen en filters waarop het ABONNEMENT wordt + afgenomen. + PatchedKanaal: + type: object + properties: + url: + type: string + format: uri + readOnly: true + minLength: 1 + maxLength: 1000 + description: URL-referentie naar dit object. Dit is de unieke identificatie + en locatie van dit object. + naam: + type: string + description: Naam van het KANAAL (ook wel "Exchange" genoemd) dat de bron + vertegenwoordigd. + maxLength: 50 + documentatieLink: + type: string + format: uri + description: URL naar documentatie. + maxLength: 200 + filters: + type: array + items: + type: string + maxLength: 100 + description: Lijst van mogelijke filter kenmerken van een KANAAL. Deze filter + kenmerken kunnen worden gebruikt bij het aanmaken van een ABONNEMENT. + ValidatieFout: + type: object + description: Formaat van HTTP 4xx en 5xx fouten. + properties: + type: + type: string + description: URI referentie naar het type fout, bedoeld voor developers + code: + type: string + description: Systeemcode die het type fout aangeeft + title: + type: string + description: Generieke titel voor het type fout + status: + type: integer + description: De HTTP status code + detail: + type: string + description: Extra informatie bij de fout, indien beschikbaar + instance: + type: string + description: URI met referentie naar dit specifiek voorkomen van de fout. + Deze kan gebruikt worden in combinatie met server logs, bijvoorbeeld. + invalidParams: + type: array + items: + $ref: '#/components/schemas/FieldValidationError' + required: + - code + - detail + - instance + - invalidParams + - status + - title + securitySchemes: + JWT-Claims: + type: http + scheme: bearer + bearerFormat: JWT +servers: +- url: /api/v1 +tags: +- name: abonnement +- name: kanaal +- name: notificaties