openapi: 3.2.0 info: title: Vng Realisatie Applicaties API version: 1.0.1-alpha1 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 applicaties across 2 of this provider''s published API definitions: vng-realisatie-autorisaties-openapi.yml, vng-realisatie-autorisaties-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: /api/v1 security: - JWT-Claims: [] tags: - name: applicaties description: '' paths: /applicaties: parameters: [] get: operationId: applicatie_list summary: Geef een collectie van applicaties, met ingesloten autorisaties description: 'De autorisaties zijn gedefinieerd op een specifieke component, bijvoorbeeld het ZRC, en geven aan welke scopes van toepassing zijn voor dit component. De waarde van de `component` bepaalt ook welke verdere informatie ingesloten is, zoals `zaaktype` en `maxVertrouwelijkheidaanduiding` voor het ZRC. In dit voorbeeld gelden er dus zaaktype-specifieke scopes en mogen zaken van het betreffende zaaktype met een striktere vertrouwelijkheidaanduiding dan `maxVertrouwelijkheidaanduiding` niet ontsloten worden. De collectie kan doorzocht worden met de ``clientIds`` query parameter.' parameters: - name: clientIds in: query description: Multiple values may be separated by commas. required: false schema: type: array items: type: string style: form explode: false - 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/Applicatie' '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: - applicaties security: - JWT-Claims: - autorisaties.lezen post: operationId: applicatie_create summary: Registreer een applicatie met een bepaalde set van autorisaties description: 'Indien `heeftAlleAutorisaties` gezet is, dan moet je `autorisaties` leeg (of weg) laten. Indien je `autorisaties` meegeeft, dan moet `heeftAlleAutorisaties` de waarde `false` hebben of weggelaten worden. Na het aanmaken wordt een notificatie verstuurd.' parameters: - name: Content-Type in: header description: Content type van de verzoekinhoud. required: true schema: type: string enum: - application/json requestBody: $ref: '#/components/requestBodies/Applicatie' 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/Applicatie' '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: - applicaties security: - JWT-Claims: - autorisaties.bijwerken servers: - url: /api/v1 /applicaties/consumer: parameters: [] get: operationId: applicatie_consumer summary: Vraag een applicatie op, op basis van clientId description: 'Gegeven een `clientId`, via de query string, zoek de bijbehorende applicatie op. Het antwoord bevat de applicatie met ingesloten autorisaties.' parameters: - name: clientId in: query description: Geef het client ID op waarvoor je de applicatie wil opvragen. required: true schema: type: array items: type: string style: form explode: false 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/Applicatie' '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: - applicaties security: - JWT-Claims: - autorisaties.lezen servers: - url: /api/v1 /applicaties/{uuid}: parameters: - name: uuid in: path description: Unique resource identifier (UUID4) required: true schema: type: string format: uuid get: operationId: applicatie_read summary: Vraag een applicatie op, met ingesloten autorisaties description: 'De autorisaties zijn gedefinieerd op een specifieke component, bijvoorbeeld het ZRC, en geven aan welke scopes van toepassing zijn voor dit component. De waarde van de `component` bepaalt ook welke verdere informatie ingesloten is, zoals `zaaktype` en `maxVertrouwelijkheidaanduiding` voor het ZRC. In dit voorbeeld gelden er dus zaaktype-specifieke scopes en mogen zaken van het betreffende zaaktype met een striktere vertrouwelijkheidaanduiding dan `maxVertrouwelijkheidaanduiding` niet ontsloten worden.' 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/Applicatie' '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: - applicaties security: - JWT-Claims: - autorisaties.lezen put: operationId: applicatie_update summary: Werk de applicatie bij description: 'Indien `heeftAlleAutorisaties` gezet is, dan moet je `autorisaties` leeg (of weg) laten. Indien je `autorisaties` meegeeft, dan moet `heeftAlleAutorisaties` de waarde `false` hebben of weggelaten worden. Na het bijwerken wordt een notificatie verstuurd.' parameters: - name: Content-Type in: header description: Content type van de verzoekinhoud. required: true schema: type: string enum: - application/json requestBody: $ref: '#/components/requestBodies/Applicatie' 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/Applicatie' '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: - applicaties security: - JWT-Claims: - autorisaties.bijwerken patch: operationId: applicatie_partial_update summary: Werk (een deel van) de applicatie bij description: 'Indien `autorisaties` meegegeven is, dan worden de bestaande `autorisaties` vervangen met de nieuwe set van `autorisaties`. Indien `heeftAlleAutorisaties` gezet is, dan moet je `autorisaties` leeg (of weg) laten. Indien je `autorisaties` meegeeft, dan moet `heeftAlleAutorisaties` de waarde `false` hebben of weggelaten worden. Na het bijwerken wordt een notificatie verstuurd.' parameters: - name: Content-Type in: header description: Content type van de verzoekinhoud. required: true schema: type: string enum: - application/json requestBody: $ref: '#/components/requestBodies/Applicatie' 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/Applicatie' '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: - applicaties security: - JWT-Claims: - autorisaties.bijwerken delete: operationId: applicatie_delete summary: Verwijder een applicatie met de bijhorende autorisaties description: Na het verwijderen wordt een notificatie verstuurd. 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: - applicaties security: - JWT-Claims: - autorisaties.bijwerken 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' '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' '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' '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' '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' '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' '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' requestBodies: Applicatie: content: application/json: schema: $ref: '#/components/schemas/Applicatie' required: true 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 AutorisatieBase: required: - component - scopes type: object properties: component: title: Component description: 'Component waarop autorisatie van toepassing is. 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 componentWeergave: title: Component weergave description: Omschrijving van `component`. type: string readOnly: true minLength: 1 scopes: description: Lijst van scope labels. Elke scope geeft toegang tot een set van acties/operaties, zoals gedocumenteerd bij de betreffende component. type: array items: title: Scopes type: string maxLength: 100 minLength: 1 discriminator: propertyName: component Applicatie: required: - clientIds - label 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 clientIds: description: Lijst van consumer identifiers (hun 'client_id'). Een `client_id` mag slechts bij één applicatie-object voorkomen. type: array items: title: Client ids type: string maxLength: 50 minLength: 1 label: title: Label description: Een leesbare representatie van de applicatie, voor eindgebruikers. type: string maxLength: 100 minLength: 1 heeftAlleAutorisaties: title: Heeft alle autorisaties description: Indien alle autorisaties gegeven zijn, dan hoeven deze niet individueel opgegeven te worden. Gebruik dit alleen als je de consumer helemaal vertrouwt. type: boolean autorisaties: type: array items: $ref: '#/components/schemas/AutorisatieBase' 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' securitySchemes: JWT-Claims: type: http scheme: bearer bearerFormat: JWT x-refined-from: - vng-realisatie-autorisaties-openapi.yml - vng-realisatie-autorisaties-openapi.yml