VNG Realisatie Notification API

The API consists of three parts:

GitHub OpenAPI

Operations 13

GET /domains #
POST /domains #
GET /domains/{uuid} #
PUT /domains/{uuid} #
PATCH /domains/{uuid} #
DELETE /domains/{uuid} #
POST /events Publish an event. #
GET /subscriptions #
POST /subscriptions #
GET /subscriptions/{uuid} #
PUT /subscriptions/{uuid} #
PATCH /subscriptions/{uuid} #
DELETE /subscriptions/{uuid} #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/vng-realisatie:vng-realisatie-notificaties-api"
All apis
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.

Get an API 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 Specification

vng-realisatie-notificaties-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Notification API
  description: "\nThe API consists of three parts:\n    1. **Publishing events (resource Events)** <br> The events resource is based on the [GOV NL profile for CloudEvents](https://vng-realisatie.github.io/NL-GOV-profile-for-CloudEvents).\n      This specification only contains brief descriptions of the attributes of the event. Please refer to the GOV NL profile for additional information.\n    2. **Subscribing to receive events (resource Subscriptions)**<br>\n    The subscription resource was derived from the [CloudEvents Subscription v1.0.0-wip](https://github.com/cloudevents/spec/tree/main/subscriptions).\n    This specification only contains brief descriptions of the attributes of the subscription. Please refer to the draft CE Subscription Specification for additional information.\n    3. **Basic information about domains (resource Domains)** <br>The scopes for autorisation are described [here](https://github.com/VNG-Realisatie/notificatieservices/blob/main/docs/api-specification/scopes.md).\n    This specification is work in progress. It can be changed completely without notice.\n"
  license:
    name: EUPL 1.2
    url: https://opensource.org/licenses/EUPL-1.2
  version: 2.0.0-alpha13
security:
- JWT-Claims: []
paths:
  /domains:
    get:
      operationId: domain_list
      description: Returns a list with information about all domains.
      parameters:
      - name: name
        in: query
        description: Name of the domain.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers:
            API-version:
              schema:
                type: string
              description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Domain'
        '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:
      - domains
      security:
      - JWT-Claims:
        - domains.read
    post:
      operationId: domain_create
      description: Defines a new domain with its basis properties and filter attributes.
      parameters:
      - name: Content-Type
        in: header
        description: Content type van de verzoekinhoud.
        required: true
        schema:
          type: string
          enum:
          - application/json
      requestBody:
        $ref: '#/components/requestBodies/Domain'
      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/Domain'
        '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:
      - domains
      security:
      - JWT-Claims:
        - domains.create
    parameters: []
  /domains/{uuid}:
    get:
      operationId: domain_read
      description: Returns information about the specified domain.
      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/Domain'
        '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:
      - domains
      security:
      - JWT-Claims:
        - domains.read
    put:
      operationId: domain_update
      description: Update the specified domain by replacing all properties.
      parameters:
      - name: Content-Type
        in: header
        description: Content type van de verzoekinhoud.
        required: true
        schema:
          type: string
          enum:
          - application/json
      requestBody:
        $ref: '#/components/requestBodies/Domain'
      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/Domain'
        '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:
      - domains
      security:
      - JWT-Claims:
        - domains.update
    patch:
      operationId: domain_partial_update
      description: Update the specified domain by replacing the modified properties.
      parameters:
      - name: Content-Type
        in: header
        description: Content type van de verzoekinhoud.
        required: true
        schema:
          type: string
          enum:
          - application/json
      requestBody:
        $ref: '#/components/requestBodies/Domain'
      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/Domain'
        '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:
      - domains
      security:
      - JWT-Claims:
        - domains.update
    delete:
      operationId: domain_delete
      description: Delete the specified domain.
      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:
      - domains
      security:
      - JWT-Claims:
        - domains.delete
    parameters:
    - name: uuid
      in: path
      description: UUID of the domain.
      required: true
      schema:
        type: string
        format: uuid
  /events:
    post:
      operationId: events_create
      summary: Publish an event.
      description: 'The component will distribute the event to the subscribers when the criteria

        of a subscription are met.'
      parameters:
      - name: Content-Type
        in: header
        description: Content type van de verzoekinhoud.
        required: true
        schema:
          type: string
          enum:
          - application/json
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Event'
        required: true
      responses:
        '200':
          description: ''
          headers:
            API-version:
              schema:
                type: string
              description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Event'
      tags:
      - events
      security:
      - JWT-Claims:
        - events.publish
    parameters: []
  /subscriptions:
    get:
      operationId: subscription_list
      description: Returns a list with information about all subscriptions.
      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/Subscription'
        '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:
      - subscriptions
      security:
      - JWT-Claims:
        - subscriptions.read
    post:
      operationId: subscription_create
      description: Subscribe to receive events.
      parameters:
      - name: Content-Type
        in: header
        description: Content type van de verzoekinhoud.
        required: true
        schema:
          type: string
          enum:
          - application/json
      requestBody:
        $ref: '#/components/requestBodies/Subscription'
      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/Subscription'
        '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:
      - subscriptions
      security:
      - JWT-Claims:
        - subscriptions.create
    parameters: []
  /subscriptions/{uuid}:
    get:
      operationId: subscription_read
      description: Returns information about the specified subscription.
      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/Subscription'
        '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:
      - subscriptions
      security:
      - JWT-Claims:
        - subscriptions.read
    put:
      operationId: subscription_update
      description: Update the specified subscription by replacing all properties.
      parameters:
      - name: Content-Type
        in: header
        description: Content type van de verzoekinhoud.
        required: true
        schema:
          type: string
          enum:
          - application/json
      requestBody:
        $ref: '#/components/requestBodies/Subscription'
      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/Subscription'
        '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:
      - subscriptions
      security:
      - JWT-Claims:
        - subscriptions.update
    patch:
      operationId: subscription_partial_update
      description: Update the specified subscription by replacing the modified properties.
      parameters:
      - name: Content-Type
        in: header
        description: Content type van de verzoekinhoud.
        required: true
        schema:
          type: string
          enum:
          - application/json
      requestBody:
        $ref: '#/components/requestBodies/Subscription'
      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/Subscription'
        '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:
      - subscriptions
      security:
      - JWT-Claims:
        - subscriptions.update
    delete:
      operationId: subscription_delete
      description: Delete the specified subscription.
      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:
      - subscriptions
      security:
      - JWT-Claims:
        - subscriptions.delete
    parameters:
    - name: uuid
      in: path
      description: UUID of the subscription.
      required: true
      schema:
        type: string
        format: uuid
tags:
- name: domains
  description: ''
- name: events
  description: ''
- name: subscriptions
  description: ''
servers:


# --- truncated at 32 KB (35 KB total) ---
# Full source: https://artifacts.apis.io/vng-realisatie/openapi/vng-realisatie-notificaties-openapi.yml