components:
  requestBodies:
    Applicatie:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Applicatie'
      required: true
  schemas:
    Applicatie:
      properties:
        autorisaties:
          items:
            $ref: '#/components/schemas/AutorisatieBase'
          type: array
        clientIds:
          description: Lijst van consumer identifiers (hun 'client_id'). Een `client_id`
            mag slechts bij één applicatie-object voorkomen.
          items:
            maxLength: 50
            minLength: 1
            title: Client ids
            type: string
          type: array
        heeftAlleAutorisaties:
          description: Indien alle autorisaties gegeven zijn, dan hoeven deze niet
            individueel opgegeven te worden. Gebruik dit alleen als je de consumer
            helemaal vertrouwt.
          title: Heeft alle autorisaties
          type: boolean
        label:
          description: Een leesbare representatie van de applicatie, voor eindgebruikers.
          maxLength: 100
          minLength: 1
          title: Label
          type: string
        url:
          description: URL-referentie naar dit object. Dit is de unieke identificatie
            en locatie van dit object.
          format: uri
          maxLength: 1000
          minLength: 1
          readOnly: true
          title: Url
          type: string
      required:
      - clientIds
      - label
      type: object
    AutorisatieBase:
      discriminator:
        propertyName: component
      properties:
        component:
          description: |-
            Component waarop autorisatie van toepassing is.

            Uitleg bij mogelijke waarden:

            * `ac` - Autorisatiecomponent
            * `nrc` - Notificatierouteringcomponent
            * `zrc` - Zaakregistratiecomponent
            * `ztc` - Zaaktypecatalogus
            * `drc` - Documentregistratiecomponent
            * `brc` - Besluitregistratiecomponent
          enum:
          - ac
          - nrc
          - zrc
          - ztc
          - drc
          - brc
          title: Component
          type: string
        componentWeergave:
          description: Omschrijving van `component`.
          minLength: 1
          readOnly: true
          title: Component weergave
          type: string
        scopes:
          description: Lijst van scope labels. Elke scope geeft toegang tot een set
            van acties/operaties, zoals gedocumenteerd bij de betreffende component.
          items:
            maxLength: 100
            minLength: 1
            title: Scopes
            type: string
          type: array
      required:
      - component
      - scopes
      type: object
    FieldValidationError:
      properties:
        code:
          description: Systeemcode die het type fout aangeeft
          minLength: 1
          title: Code
          type: string
        name:
          description: Naam van het veld met ongeldige gegevens
          minLength: 1
          title: Name
          type: string
        reason:
          description: Uitleg wat er precies fout is met de gegevens
          minLength: 1
          title: Reason
          type: string
      required:
      - name
      - code
      - reason
      type: object
    Fout:
      properties:
        code:
          description: Systeemcode die het type fout aangeeft
          minLength: 1
          title: Code
          type: string
        detail:
          description: Extra informatie bij de fout, indien beschikbaar
          minLength: 1
          title: Detail
          type: string
        instance:
          description: URI met referentie naar dit specifiek voorkomen van de fout.
            Deze kan gebruikt worden in combinatie met server logs, bijvoorbeeld.
          minLength: 1
          title: Instance
          type: string
        status:
          description: De HTTP status code
          title: Status
          type: integer
        title:
          description: Generieke titel voor het type fout
          minLength: 1
          title: Title
          type: string
        type:
          description: URI referentie naar het type fout, bedoeld voor developers
          title: Type
          type: string
      required:
      - code
      - title
      - status
      - detail
      - instance
      type: object
    ValidatieFout:
      properties:
        code:
          description: Systeemcode die het type fout aangeeft
          minLength: 1
          title: Code
          type: string
        detail:
          description: Extra informatie bij de fout, indien beschikbaar
          minLength: 1
          title: Detail
          type: string
        instance:
          description: URI met referentie naar dit specifiek voorkomen van de fout.
            Deze kan gebruikt worden in combinatie met server logs, bijvoorbeeld.
          minLength: 1
          title: Instance
          type: string
        invalidParams:
          items:
            $ref: '#/components/schemas/FieldValidationError'
          type: array
        status:
          description: De HTTP status code
          title: Status
          type: integer
        title:
          description: Generieke titel voor het type fout
          minLength: 1
          title: Title
          type: string
        type:
          description: URI referentie naar het type fout, bedoeld voor developers
          title: Type
          type: string
      required:
      - code
      - title
      - status
      - detail
      - instance
      - invalidParams
      type: object
    ac:
      allOf:
      - $ref: '#/components/schemas/AutorisatieBase'
      - $ref: '#/components/schemas/acAutorisatie'
      type: object
    acAutorisatie:
      type: object
    brc:
      allOf:
      - $ref: '#/components/schemas/AutorisatieBase'
      - $ref: '#/components/schemas/brcAutorisatie'
      type: object
    brcAutorisatie:
      properties:
        besluittype:
          description: URL naar het besluittype waarop de autorisatie van toepassing
            is.
          format: uri
          maxLength: 1000
          title: Besluittype
          type: string
      type: object
    drc:
      allOf:
      - $ref: '#/components/schemas/AutorisatieBase'
      - $ref: '#/components/schemas/drcAutorisatie'
      type: object
    drcAutorisatie:
      properties:
        informatieobjecttype:
          description: URL naar het informatieobjecttype waarop de autorisatie van
            toepassing is.
          format: uri
          maxLength: 1000
          title: Informatieobjecttype
          type: string
        maxVertrouwelijkheidaanduiding:
          description: Maximaal toegelaten vertrouwelijkheidaanduiding (inclusief).
          enum:
          - openbaar
          - beperkt_openbaar
          - intern
          - zaakvertrouwelijk
          - vertrouwelijk
          - confidentieel
          - geheim
          - zeer_geheim
          title: Max vertrouwelijkheidaanduiding
          type: string
      type: object
    nrc:
      allOf:
      - $ref: '#/components/schemas/AutorisatieBase'
      - $ref: '#/components/schemas/nrcAutorisatie'
      type: object
    nrcAutorisatie:
      type: object
    zrc:
      allOf:
      - $ref: '#/components/schemas/AutorisatieBase'
      - $ref: '#/components/schemas/zrcAutorisatie'
      type: object
    zrcAutorisatie:
      properties:
        maxVertrouwelijkheidaanduiding:
          description: Maximaal toegelaten vertrouwelijkheidaanduiding (inclusief).
          enum:
          - openbaar
          - beperkt_openbaar
          - intern
          - zaakvertrouwelijk
          - vertrouwelijk
          - confidentieel
          - geheim
          - zeer_geheim
          title: Max vertrouwelijkheidaanduiding
          type: string
        zaaktype:
          description: URL naar het zaaktype waarop de autorisatie van toepassing
            is.
          format: uri
          maxLength: 1000
          title: Zaaktype
          type: string
      type: object
    ztc:
      allOf:
      - $ref: '#/components/schemas/AutorisatieBase'
      - $ref: '#/components/schemas/ztcAutorisatie'
      type: object
    ztcAutorisatie:
      type: object
  securitySchemes:
    JWT-Claims:
      bearerFormat: JWT
      scheme: bearer
      type: http
info:
  contact:
    email: standaarden.ondersteuning@vng.nl
    url: https://zaakgerichtwerken.vng.cloud
  description: |
    Een API om een autorisatiecomponent (AC) te benaderen.

    De `AUTORISATIE` is het kernobject in deze API. Autorisaties worden toegekend
    aan applicaties. Een applicatie is een representatie van een (web) app die
    communiceert met de API van (andere) componenten, zoals het ZRC, DRC, ZTC en
    BRC.

    Deze API laat toe om autorisaties van een (taak)applicatie te beheren en uit
    te lezen.

    **Afhankelijkheden**

    Deze API is afhankelijk van:

    * Notificaties API

    **Autorisatie**

    Deze API vereist autorisatie. Je kan de
    [token-tool](https://zaken-auth.vng.cloud/) gebruiken om JWT-tokens te
    genereren.

    ### Notificaties

    Deze API publiceert notificaties op het kanaal `autorisaties`.

    **Main resource**

    `applicatie`



    **Kenmerken**



    **Resources en acties**
    - `applicatie`: create, update, destroy


    **Handige links**

    * [Documentatie](https://zaakgerichtwerken.vng.cloud/standaard)
    * [Zaakgericht werken](https://zaakgerichtwerken.vng.cloud)
  license:
    name: EUPL 1.2
    url: https://opensource.org/licenses/EUPL-1.2
  title: Autorisaties API
  version: 1.0.0
openapi: 3.1.0
paths:
  /applicaties:
    get:
      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.
      operationId: applicatie_list
      parameters:
      - description: Multiple values may be separated by commas.
        in: query
        name: clientIds
        required: false
        schema:
          type: string
      - description: Een pagina binnen de gepagineerde set resultaten.
        in: query
        name: page
        required: false
        schema:
          type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: '#/components/schemas/Applicatie'
                    type: array
                required:
                - count
                - results
                type: object
          description: OK
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "400":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ValidatieFout'
          description: Bad request
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Unauthorized
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Forbidden
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "406":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Not acceptable
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "409":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Conflict
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "410":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Gone
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "415":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Unsupported media type
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Too many requests
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "500":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Internal server error
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
      security:
      - JWT-Claims:
        - autorisaties.lezen
      summary: Geef een collectie van applicaties, met ingesloten autorisaties.
      tags:
      - applicaties
    post:
      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.
      operationId: applicatie_create
      requestBody:
        $ref: '#/components/requestBodies/Applicatie'
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Applicatie'
          description: Created
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
            Location:
              description: URL waar de resource leeft.
              schema:
                format: uri
                type: string
        "400":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ValidatieFout'
          description: Bad request
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Unauthorized
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Forbidden
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "406":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Not acceptable
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "409":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Conflict
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "410":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Gone
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "415":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Unsupported media type
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Too many requests
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "500":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Internal server error
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
      security:
      - JWT-Claims:
        - autorisaties.bijwerken
      summary: Registreer een applicatie met een bepaalde set van autorisaties.
      tags:
      - applicaties
  /applicaties/{uuid}:
    delete:
      description: Na het verwijderen wordt een notificatie verstuurd.
      operationId: applicatie_delete
      responses:
        "204":
          description: No content
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Unauthorized
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Forbidden
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "404":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Not found
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "406":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Not acceptable
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "409":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Conflict
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "410":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Gone
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "415":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Unsupported media type
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Too many requests
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "500":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Internal server error
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
      security:
      - JWT-Claims:
        - autorisaties.bijwerken
      summary: Verwijder een applicatie met de bijhorende autorisaties.
      tags:
      - applicaties
    get:
      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.
      operationId: applicatie_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Applicatie'
          description: OK
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Unauthorized
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Forbidden
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "404":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Not found
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "406":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Not acceptable
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "409":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Conflict
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "410":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Gone
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "415":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Unsupported media type
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Too many requests
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "500":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Internal server error
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
      security:
      - JWT-Claims:
        - autorisaties.lezen
      summary: Vraag een applicatie op, met ingesloten autorisaties.
      tags:
      - applicaties
    parameters:
    - description: Unique resource identifier (UUID4)
      in: path
      name: uuid
      required: true
      schema:
        format: uuid
        type: string
    patch:
      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.
      operationId: applicatie_partial_update
      requestBody:
        $ref: '#/components/requestBodies/Applicatie'
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Applicatie'
          description: OK
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "400":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ValidatieFout'
          description: Bad request
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Unauthorized
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Forbidden
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "404":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Not found
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "406":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Not acceptable
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "409":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Conflict
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "410":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Gone
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "415":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Unsupported media type
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Too many requests
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "500":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Internal server error
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
      security:
      - JWT-Claims:
        - autorisaties.bijwerken
      summary: Werk (een deel van) de applicatie bij.
      tags:
      - applicaties
    put:
      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.
      operationId: applicatie_update
      requestBody:
        $ref: '#/components/requestBodies/Applicatie'
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Applicatie'
          description: OK
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "400":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ValidatieFout'
          description: Bad request
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Unauthorized
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Forbidden
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "404":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Not found
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "406":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Not acceptable
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "409":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Conflict
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "410":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Gone
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "415":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Unsupported media type
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Too many requests
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "500":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Internal server error
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
      security:
      - JWT-Claims:
        - autorisaties.bijwerken
      summary: Werk de applicatie bij.
      tags:
      - applicaties
  /applicaties/consumer:
    get:
      description: |-
        Gegeven een `clientId`, via de query string, zoek de bijbehorende applicatie
        op. Het antwoord bevat de applicatie met ingesloten autorisaties.
      operationId: applicatie_consumer
      parameters:
      - description: Geef het client ID op waarvoor je de applicatie wil opvragen.
        in: query
        name: clientId
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Applicatie'
                type: array
          description: OK
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Unauthorized
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Forbidden
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "404":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Not found
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "406":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Not acceptable
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "409":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Conflict
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "410":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Gone
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "415":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Unsupported media type
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Too many requests
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
        "500":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Fout'
          description: Internal server error
          headers:
            API-version:
              description: 'Geeft een specifieke API-versie aan in de context van
                een specifieke aanroep. Voorbeeld: 1.2.1.'
              schema:
                type: string
      security:
      - JWT-Claims:
        - autorisaties.lezen
      summary: Vraag een applicatie op, op basis van clientId
      tags:
      - applicaties
security:
- JWT-Claims: []
servers:
- url: https://autorisaties-api.vng.cloud/api/v1
