VNG Realisatie Autorisaties API
Een API om een autorisatiecomponent (AC) te benaderen.
Een API om een autorisatiecomponent (AC) te benaderen.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/vng-realisatie:vng-realisatie-autorisaties-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Autorisaties API
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://vng-realisatie.github.io/gemma-zaken/standaard)
* [Zaakgericht werken](https://vng-realisatie.github.io/gemma-zaken)
'
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
version: 1.0.1-alpha1
security:
- JWT-Claims: []
paths:
/applicaties:
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
parameters: []
/applicaties/consumer:
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
parameters: []
/applicaties/{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
parameters:
- name: uuid
in: path
description: Unique resource identifier (UUID4)
required: true
schema:
type: string
format: uuid
tags:
- name: applicaties
description: ''
- name: consumer
description: ''
servers:
- url: /api/v1
components:
responses:
'400':
description: Bad request
headers:
API-version:
schema:
type: string
description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ValidatieFout'
'401':
description: Unauthorized
headers:
API-version:
schema:
type: string
description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Fout'
'403':
description: Forbidden
headers:
API-version:
schema:
type: string
description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Fout'
'404':
description: Not found
headers:
API-version:
schema:
type: string
description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Fout'
'406':
description: Not acceptable
headers:
API-version:
schema:
type: string
description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Fout'
'409':
description: Conflict
headers:
API-version:
schema:
type: string
description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Fout'
'410':
description: Gone
headers:
API-version:
schema:
type: string
description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Fout'
'412':
description: Precondition failed
headers:
API-version:
schema:
type: string
description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Fout'
'415':
description: Unsupported media type
headers:
API-version:
schema:
type: string
description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Fout'
'429':
description: Too many requests
headers:
API-version:
schema:
type: string
description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Fout'
'500':
description: Internal server error
headers:
API-version:
schema:
type: string
description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Fout'
requestBodies:
Applicatie:
content:
application/json:
schema:
$ref: '#/components/schemas/Applicatie'
required: true
securitySchemes:
JWT-Claims:
type: http
scheme: bearer
bearerFormat: JWT
schemas:
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
zrcAutorisatie:
type: object
properties:
zaaktype:
title: Zaaktype
description: URL naar het zaaktype waarop de autorisatie van toepassing is.
type: string
format: uri
maxLength: 1000
maxVertrouwelijkheidaanduiding:
title: Max vertrouwelijkheidaanduiding
description: Maximaal toegelaten vertrouwelijkheidaanduiding (inclusief).
type: string
enum:
- openbaar
- beperkt_openbaar
- intern
- zaakvertrouwelijk
- vertrouwelijk
- confidentieel
- geheim
- zeer_geheim
zrc:
type: object
allOf:
- $ref: '#/components/schemas/AutorisatieBase'
- $ref: '#/components/schemas/zrcAutorisatie'
drcAutorisatie:
type: object
properties:
informatieobjecttype:
title: Informatieobjecttype
description: URL naar het informatieobjecttype waarop de autorisatie van toepassing is.
type: string
format: uri
maxLength: 1000
maxVertrouwelijkheidaanduiding:
title: Max vertrouwelijkheidaanduiding
description: Maximaal toegelaten vertrouwelijkheidaanduiding (inclusief).
type: string
enum:
- openbaar
- beperkt_openbaar
- intern
- zaakvertrouwelijk
- vertrouwelijk
- confidentieel
- geheim
- zeer_geheim
drc:
type: object
allOf:
- $ref: '#/components/schemas/AutorisatieBase'
- $ref: '#/components/schemas/drcAutorisatie'
brcAutorisatie:
type: object
properties:
besluittype:
title: Besluittype
description: URL naar het besluittype waarop de autorisatie van toepassing is.
type: string
format: uri
maxLength: 1000
brc:
type: object
allOf:
- $ref: '#/components/schemas/AutorisatieBase'
- $ref: '#/components/schemas/brcAutorisatie'
nrcAutorisatie:
type: object
properties: {}
nrc:
type: object
allOf:
- $ref: '#/components/schemas/AutorisatieBase'
- $ref: '#/components/schemas/nrcAutorisatie'
ztcAutorisatie:
type: object
properties: {}
ztc:
type: object
allOf:
- $ref: '#/components/schemas/AutorisatieBase'
- $ref: '#/components/schemas/ztcAutorisatie'
acAutorisatie:
type: object
properties: {}
ac:
type: object
allOf:
- $ref: '#/components/schemas/AutorisatieBase'
- $ref: '#/components/schemas/acAutorisatie'
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'
Fout:
required:
- code
- title
- status
- detail
- instance
type: object
properties:
type:
title: Type
description: URI referentie naar het type fout, bedoeld voor developers
type: string
code:
title: Code
description: Systeemcode die het type fout aangeeft
type: string
minLength: 1
title:
title: Title
description: Generieke titel voor het type fout
type: string
minLength: 1
status:
title: Status
description: De HTTP status code
type: integer
detail:
title: Detail
description: Extra informatie bij de fout, indien beschikbaar
type: string
minLength: 1
instance:
title: Instance
description: URI met referentie naar dit specifiek voorkomen van de fout. Deze kan gebruikt worden in combinatie met server logs, bijvoorbeeld.
type: string
minLength: 1
FieldValidationError:
required:
- name
- code
- reason
type: object
properties:
name:
title: Name
description: Naam van het veld met ongeldige gegevens
type: string
minLength: 1
code:
title: Code
description: Systeemcode die het type fout aangeeft
type: string
minLength: 1
reason:
title: Reason
description: Uitleg wat er precies fout is met de gegevens
type: string
minLength: 1
ValidatieFout:
required:
- code
- title
- status
- detail
- instance
- invalidParams
type: object
properties:
type:
title: Type
description: URI referentie naar het type fout, bedoeld voor developers
type: string
code:
title: Code
description: Systeemcode die het type fout aangeeft
type: string
minLength: 1
title:
title: Title
description: Generieke titel voor het type fout
type: string
minLength: 1
status:
title: Status
description: De HTTP status code
type: integer
detail:
title: Detail
description: Extra informatie bij de fout, indien beschikbaar
type: string
minLength: 1
instance:
title: Instance
description: URI met referentie naar dit specifiek voorkomen van de fout. Deze kan gebruikt worden in combinatie met server logs, bijvoorbeeld.
type: string
minLength: 1
invalidParams:
type: array
items:
$ref: '#/components/schemas/FieldValidationError'