From 4e5dca10e8486278ba46c891d9f6b69d65a9ae65 Mon Sep 17 00:00:00 2001 From: matthijsbekendam Date: Mon, 24 Oct 2022 10:27:47 +0200 Subject: [PATCH] drf-spec update --- requirements/ci.txt | 538 ++++++++ requirements/dev.txt | 549 +++++++++ src/nrc/api/apps.py | 13 + src/nrc/api/viewsets.py | 1 + src/nrc/conf/api.py | 10 +- src/openapi.yaml | 2585 +++++++++++++++++++++++++++++++++++++++ 6 files changed, 3693 insertions(+), 3 deletions(-) create mode 100644 requirements/ci.txt create mode 100644 requirements/dev.txt create mode 100644 src/nrc/api/apps.py create mode 100644 src/openapi.yaml diff --git a/requirements/ci.txt b/requirements/ci.txt new file mode 100644 index 00000000..56d2380f --- /dev/null +++ b/requirements/ci.txt @@ -0,0 +1,538 @@ +# +# This file is autogenerated by pip-compile with python 3.9 +# To update, run: +# +# ./bin/compile_dependencies.sh +# +alabaster==0.7.12 + # via + # -r requirements/base.txt + # sphinx +amqp==5.1.1 + # via + # -r requirements/base.txt + # kombu +asgiref==3.5.2 + # via + # -r requirements/base.txt + # django +astroid==1.6.6 + # via pylint +async-timeout==4.0.2 + # via + # -r requirements/base.txt + # redis +attrs==22.1.0 + # via + # -r requirements/base.txt + # jsonschema +babel==2.10.3 + # via + # -r requirements/base.txt + # sphinx +billiard==3.6.4.0 + # via + # -r requirements/base.txt + # celery +black==22.10.0 + # via -r requirements/testing.in +bleach==5.0.1 + # via + # -r requirements/base.txt + # django-markup +build==0.8.0 + # via + # -r requirements/base.txt + # pip-tools +celery==5.2.7 + # via -r requirements/base.txt +certifi==2022.6.15 + # via + # -r requirements/base.txt + # django-simple-certmanager + # requests +cffi==1.15.1 + # via + # -r requirements/base.txt + # cryptography +charset-normalizer==2.1.0 + # via + # -r requirements/base.txt + # requests +click==8.1.3 + # via + # -r requirements/base.txt + # black + # celery + # click-didyoumean + # click-plugins + # click-repl + # pip-tools +click-didyoumean==0.3.0 + # via + # -r requirements/base.txt + # celery +click-plugins==1.1.1 + # via + # -r requirements/base.txt + # celery +click-repl==0.2.0 + # via + # -r requirements/base.txt + # celery +codecov==2.1.12 + # via -r requirements/ci.in +coverage==6.5.0 + # via + # -r requirements/ci.in + # codecov +cryptography==38.0.1 + # via + # -r requirements/base.txt + # cryptograpy + # pyopenssl +cryptograpy==0.0.0 + # via + # -r requirements/base.txt + # django-simple-certmanager +deprecated==1.2.13 + # via + # -r requirements/base.txt + # redis +django==3.2.14 + # via + # -r requirements/base.txt + # django-admin-index + # django-axes + # django-choices + # django-filter + # django-hijack + # django-markup + # django-privates + # django-redis + # django-relativedelta + # django-rest-framework-condition + # django-rosetta + # django-sendfile2 + # django-simple-certmanager + # django-solo + # djangorestframework + # drf-nested-routers + # drf-spectacular + # notifications-api-common + # vng-api-common + # zgw-consumers +django-admin-index==2.0.2 + # via -r requirements/base.txt +django-axes==5.36.0 + # via -r requirements/base.txt +django-better-admin-arrayfield==1.4.2 + # via -r requirements/base.txt +django-choices==1.7.2 + # via + # -r requirements/base.txt + # django-simple-certmanager + # vng-api-common + # zgw-consumers +django-compat==1.0.15 + # via + # -r requirements/base.txt + # django-hijack-admin +django-cors-middleware==1.5.0 + # via -r requirements/base.txt +django-filter==21.1 + # via + # -r requirements/base.txt + # vng-api-common +django-hijack==3.2.1 + # via + # -r requirements/base.txt + # django-hijack-admin +django-hijack-admin==2.1.10 + # via -r requirements/base.txt +django-ipware==4.0.2 + # via + # -r requirements/base.txt + # django-axes +django-markup[all_filter_dependencies]==1.5 + # via -r requirements/base.txt +django-ordered-model==3.6 + # via + # -r requirements/base.txt + # django-admin-index +django-privates==1.4.0 + # via + # -r requirements/base.txt + # django-simple-certmanager +django-redis==5.2.0 + # via -r requirements/base.txt +django-relativedelta==1.1.2 + # via + # -r requirements/base.txt + # zgw-consumers +django-rest-framework-condition==0.1.1 + # via + # -r requirements/base.txt + # vng-api-common +django-rosetta==0.9.8 + # via -r requirements/base.txt +django-sendfile2==0.7.0 + # via + # -r requirements/base.txt + # django-privates +django-simple-certmanager==1.1.0 + # via + # -r requirements/base.txt + # zgw-consumers +django-solo==2.0.0 + # via + # -r requirements/base.txt + # notifications-api-common + # vng-api-common + # zgw-consumers +djangorestframework==3.12.4 + # via + # -r requirements/base.txt + # drf-nested-routers + # drf-spectacular + # notifications-api-common + # vng-api-common +djangorestframework-camel-case==1.3.0 + # via + # -r requirements/base.txt + # notifications-api-common + # vng-api-common +docutils==0.17.1 + # via + # -r requirements/base.txt + # django-markup + # python-creole + # sphinx + # sphinx-rtd-theme +drf-flex-fields==0.9.8 + # via -r requirements/base.txt +drf-nested-routers==0.93.4 + # via + # -r requirements/base.txt + # vng-api-common +drf-spectacular==0.24.2 + # via + # -r requirements/base.txt + # vng-api-common +drf-writable-nested==0.6.4 + # via -r requirements/base.txt +factory-boy==3.2.1 + # via -r requirements/testing.in +faker==15.1.1 + # via + # -r requirements/base.txt + # factory-boy + # zgw-consumers +freezegun==1.2.2 + # via -r requirements/testing.in +gemma-zds-client==1.0.1 + # via + # -r requirements/base.txt + # notifications-api-common + # vng-api-common + # zgw-consumers +html5lib==1.1 + # via + # -r requirements/base.txt + # textile +idna==3.3 + # via + # -r requirements/base.txt + # requests +imagesize==1.4.1 + # via + # -r requirements/base.txt + # sphinx +importlib-metadata==4.12.0 + # via + # -r requirements/base.txt + # markdown + # sphinx +inflection==0.5.1 + # via + # -r requirements/base.txt + # drf-spectacular +iso-639==0.4.5 + # via + # -r requirements/base.txt + # vng-api-common +isodate==0.6.1 + # via + # -r requirements/base.txt + # vng-api-common +isort==5.10.1 + # via + # -r requirements/testing.in + # pylint +jinja2==3.1.2 + # via + # -r requirements/base.txt + # sphinx +jsonschema==4.16.0 + # via + # -r requirements/base.txt + # drf-spectacular +kombu==5.2.4 + # via + # -r requirements/base.txt + # celery +lazy-object-proxy==1.7.1 + # via astroid +markdown==3.4.1 + # via + # -r requirements/base.txt + # django-markup +markupsafe==2.1.1 + # via + # -r requirements/base.txt + # jinja2 +mccabe==0.7.0 + # via pylint +mypy-extensions==0.4.3 + # via black +notifications-api-common==0.1.0 + # via + # -r requirements/base.txt + # vng-api-common +oyaml==1.0 + # via + # -r requirements/base.txt + # vng-api-common +packaging==21.3 + # via + # -r requirements/base.txt + # build + # redis + # sphinx +pathspec==0.10.1 + # via black +pep517==0.12.0 + # via + # -r requirements/base.txt + # build +pep8==1.7.1 + # via -r requirements/testing.in +pika==1.3.0 + # via -r requirements/base.txt +pip-tools==6.8.0 + # via -r requirements/base.txt +platformdirs==2.5.2 + # via black +polib==1.1.1 + # via + # -r requirements/base.txt + # django-rosetta +prompt-toolkit==3.0.30 + # via + # -r requirements/base.txt + # click-repl +psycopg2==2.9.3 + # via -r requirements/base.txt +pycparser==2.21 + # via + # -r requirements/base.txt + # cffi +pygments==2.12.0 + # via + # -r requirements/base.txt + # django-markup + # sphinx +pyjwt==2.4.0 + # via + # -r requirements/base.txt + # gemma-zds-client + # vng-api-common +pylint==1.9.2 + # via -r requirements/testing.in +pyopenssl==22.1.0 + # via + # -r requirements/base.txt + # django-simple-certmanager + # zgw-consumers +pyparsing==3.0.9 + # via + # -r requirements/base.txt + # packaging +pyrsistent==0.18.1 + # via + # -r requirements/base.txt + # jsonschema +python-creole==1.4.10 + # via + # -r requirements/base.txt + # django-markup +python-dateutil==2.8.2 + # via + # -r requirements/base.txt + # django-relativedelta + # faker + # freezegun +python-dotenv==0.20.0 + # via -r requirements/base.txt +pytz==2022.1 + # via + # -r requirements/base.txt + # babel + # celery + # django +pyyaml==6.0 + # via + # -r requirements/base.txt + # drf-spectacular + # gemma-zds-client + # oyaml + # vng-api-common +raven==6.10.0 + # via -r requirements/base.txt +redis==4.3.4 + # via + # -r requirements/base.txt + # django-redis +regex==2022.7.25 + # via + # -r requirements/base.txt + # textile +requests==2.28.1 + # via + # -r requirements/base.txt + # codecov + # django-rosetta + # gemma-zds-client + # requests-mock + # sphinx + # vng-api-common + # zgw-consumers +requests-mock==1.10.0 + # via + # -r requirements/base.txt + # -r requirements/testing.in + # zgw-consumers +six==1.16.0 + # via + # -r requirements/base.txt + # astroid + # bleach + # click-repl + # django-choices + # django-compat + # html5lib + # isodate + # pylint + # python-dateutil + # requests-mock +smartypants==2.0.1 + # via + # -r requirements/base.txt + # django-markup +snowballstemmer==2.2.0 + # via + # -r requirements/base.txt + # sphinx +sphinx==5.0.2 + # via + # -r requirements/base.txt + # sphinx-rtd-theme +sphinx-rtd-theme==1.0.0 + # via -r requirements/base.txt +sphinxcontrib-applehelp==1.0.2 + # via + # -r requirements/base.txt + # sphinx +sphinxcontrib-devhelp==1.0.2 + # via + # -r requirements/base.txt + # sphinx +sphinxcontrib-htmlhelp==2.0.0 + # via + # -r requirements/base.txt + # sphinx +sphinxcontrib-jsmath==1.0.1 + # via + # -r requirements/base.txt + # sphinx +sphinxcontrib-qthelp==1.0.3 + # via + # -r requirements/base.txt + # sphinx +sphinxcontrib-serializinghtml==1.1.5 + # via + # -r requirements/base.txt + # sphinx +sqlparse==0.4.2 + # via + # -r requirements/base.txt + # django +tblib==1.7.0 + # via -r requirements/testing.in +textile==4.0.2 + # via + # -r requirements/base.txt + # django-markup +tomli==2.0.1 + # via + # -r requirements/base.txt + # black + # build + # pep517 +typing-extensions==4.4.0 + # via black +uritemplate==4.1.1 + # via + # -r requirements/base.txt + # drf-spectacular +urllib3==1.26.10 + # via + # -r requirements/base.txt + # requests +uwsgi==2.0.20 + # via -r requirements/base.txt +vine==5.0.0 + # via + # -r requirements/base.txt + # amqp + # celery + # kombu +vng_api_common @ git+https://github.com/VNG-Realisatie/vng-api-common@drf-spectacular-upgrade + # via -r requirements/base.txt +wcwidth==0.2.5 + # via + # -r requirements/base.txt + # prompt-toolkit +webencodings==0.5.1 + # via + # -r requirements/base.txt + # bleach + # html5lib +wheel==0.37.1 + # via + # -r requirements/base.txt + # pip-tools +wrapt==1.14.1 + # via + # -r requirements/base.txt + # astroid + # deprecated +zgw-consumers==0.21.2 + # via + # -r requirements/base.txt + # notifications-api-common +zipp==3.8.1 + # via + # -r requirements/base.txt + # importlib-metadata + +# The following packages are considered to be unsafe in a requirements file: +pip==22.1.2 + # via + # -r requirements/base.txt + # pip-tools +setuptools==63.2.0 + # via + # -r requirements/base.txt + # django-axes + # pip-tools diff --git a/requirements/dev.txt b/requirements/dev.txt new file mode 100644 index 00000000..d1d13d5e --- /dev/null +++ b/requirements/dev.txt @@ -0,0 +1,549 @@ +# +# This file is autogenerated by pip-compile with python 3.9 +# To update, run: +# +# ./bin/compile_dependencies.sh +# +alabaster==0.7.12 + # via + # -r requirements/base.txt + # sphinx +amqp==5.1.1 + # via + # -r requirements/base.txt + # kombu +asgiref==3.5.2 + # via + # -r requirements/base.txt + # django +astroid==1.6.6 + # via pylint +async-timeout==4.0.2 + # via + # -r requirements/base.txt + # redis +attrs==22.1.0 + # via + # -r requirements/base.txt + # jsonschema +babel==2.10.3 + # via + # -r requirements/base.txt + # sphinx +billiard==3.6.4.0 + # via + # -r requirements/base.txt + # celery +black==22.10.0 + # via -r requirements/testing.in +bleach==5.0.1 + # via + # -r requirements/base.txt + # django-markup +build==0.8.0 + # via + # -r requirements/base.txt + # pip-tools +celery==5.2.7 + # via + # -r requirements/base.txt + # flower +certifi==2022.6.15 + # via + # -r requirements/base.txt + # django-simple-certmanager + # requests +cffi==1.15.1 + # via + # -r requirements/base.txt + # cryptography +charset-normalizer==2.1.0 + # via + # -r requirements/base.txt + # requests +click==8.1.3 + # via + # -r requirements/base.txt + # black + # celery + # click-didyoumean + # click-plugins + # click-repl + # pip-tools +click-didyoumean==0.3.0 + # via + # -r requirements/base.txt + # celery +click-plugins==1.1.1 + # via + # -r requirements/base.txt + # celery +click-repl==0.2.0 + # via + # -r requirements/base.txt + # celery +cryptography==38.0.1 + # via + # -r requirements/base.txt + # cryptograpy + # pyopenssl +cryptograpy==0.0.0 + # via + # -r requirements/base.txt + # django-simple-certmanager +deprecated==1.2.13 + # via + # -r requirements/base.txt + # redis +django==3.2.14 + # via + # -r requirements/base.txt + # django-admin-index + # django-axes + # django-choices + # django-debug-toolbar + # django-extensions + # django-filter + # django-hijack + # django-markup + # django-privates + # django-redis + # django-relativedelta + # django-rest-framework-condition + # django-rosetta + # django-sendfile2 + # django-simple-certmanager + # django-solo + # djangorestframework + # drf-nested-routers + # drf-spectacular + # notifications-api-common + # vng-api-common + # zgw-consumers +django-admin-index==2.0.2 + # via -r requirements/base.txt +django-axes==5.36.0 + # via -r requirements/base.txt +django-better-admin-arrayfield==1.4.2 + # via -r requirements/base.txt +django-choices==1.7.2 + # via + # -r requirements/base.txt + # django-simple-certmanager + # vng-api-common + # zgw-consumers +django-compat==1.0.15 + # via + # -r requirements/base.txt + # django-hijack-admin +django-cors-middleware==1.5.0 + # via -r requirements/base.txt +django-debug-toolbar==3.7.0 + # via -r requirements/dev.in +django-extensions==3.2.1 + # via -r requirements/dev.in +django-filter==21.1 + # via + # -r requirements/base.txt + # vng-api-common +django-hijack==3.2.1 + # via + # -r requirements/base.txt + # django-hijack-admin +django-hijack-admin==2.1.10 + # via -r requirements/base.txt +django-ipware==4.0.2 + # via + # -r requirements/base.txt + # django-axes +django-markup[all_filter_dependencies]==1.5 + # via -r requirements/base.txt +django-ordered-model==3.6 + # via + # -r requirements/base.txt + # django-admin-index +django-privates==1.4.0 + # via + # -r requirements/base.txt + # django-simple-certmanager +django-redis==5.2.0 + # via -r requirements/base.txt +django-relativedelta==1.1.2 + # via + # -r requirements/base.txt + # zgw-consumers +django-rest-framework-condition==0.1.1 + # via + # -r requirements/base.txt + # vng-api-common +django-rosetta==0.9.8 + # via -r requirements/base.txt +django-sendfile2==0.7.0 + # via + # -r requirements/base.txt + # django-privates +django-simple-certmanager==1.1.0 + # via + # -r requirements/base.txt + # zgw-consumers +django-solo==2.0.0 + # via + # -r requirements/base.txt + # notifications-api-common + # vng-api-common + # zgw-consumers +djangorestframework==3.12.4 + # via + # -r requirements/base.txt + # drf-nested-routers + # drf-spectacular + # notifications-api-common + # vng-api-common +djangorestframework-camel-case==1.3.0 + # via + # -r requirements/base.txt + # notifications-api-common + # vng-api-common +docutils==0.17.1 + # via + # -r requirements/base.txt + # django-markup + # python-creole + # sphinx + # sphinx-rtd-theme +drf-flex-fields==0.9.8 + # via -r requirements/base.txt +drf-nested-routers==0.93.4 + # via + # -r requirements/base.txt + # vng-api-common +drf-spectacular==0.24.2 + # via + # -r requirements/base.txt + # vng-api-common +drf-writable-nested==0.6.4 + # via -r requirements/base.txt +factory-boy==3.2.1 + # via -r requirements/testing.in +faker==15.1.1 + # via + # -r requirements/base.txt + # factory-boy + # zgw-consumers +flower==1.2.0 + # via -r requirements/dev.in +freezegun==1.2.2 + # via -r requirements/testing.in +gemma-zds-client==1.0.1 + # via + # -r requirements/base.txt + # notifications-api-common + # vng-api-common + # zgw-consumers +html5lib==1.1 + # via + # -r requirements/base.txt + # textile +humanize==4.4.0 + # via flower +idna==3.3 + # via + # -r requirements/base.txt + # requests +imagesize==1.4.1 + # via + # -r requirements/base.txt + # sphinx +importlib-metadata==4.12.0 + # via + # -r requirements/base.txt + # markdown + # sphinx +inflection==0.5.1 + # via + # -r requirements/base.txt + # drf-spectacular +iso-639==0.4.5 + # via + # -r requirements/base.txt + # vng-api-common +isodate==0.6.1 + # via + # -r requirements/base.txt + # vng-api-common +isort==5.10.1 + # via + # -r requirements/testing.in + # pylint +jinja2==3.1.2 + # via + # -r requirements/base.txt + # sphinx +jsonschema==4.16.0 + # via + # -r requirements/base.txt + # drf-spectacular +kombu==5.2.4 + # via + # -r requirements/base.txt + # celery +lazy-object-proxy==1.7.1 + # via astroid +markdown==3.4.1 + # via + # -r requirements/base.txt + # django-markup +markupsafe==2.1.1 + # via + # -r requirements/base.txt + # jinja2 +mccabe==0.7.0 + # via pylint +mypy-extensions==0.4.3 + # via black +notifications-api-common==0.1.0 + # via + # -r requirements/base.txt + # vng-api-common +oyaml==1.0 + # via + # -r requirements/base.txt + # vng-api-common +packaging==21.3 + # via + # -r requirements/base.txt + # build + # redis + # sphinx +pathspec==0.10.1 + # via black +pep517==0.12.0 + # via + # -r requirements/base.txt + # build +pep8==1.7.1 + # via -r requirements/testing.in +pika==1.3.0 + # via -r requirements/base.txt +pip-tools==6.8.0 + # via -r requirements/base.txt +platformdirs==2.5.2 + # via black +polib==1.1.1 + # via + # -r requirements/base.txt + # django-rosetta +prometheus-client==0.15.0 + # via flower +prompt-toolkit==3.0.30 + # via + # -r requirements/base.txt + # click-repl +psycopg2==2.9.3 + # via -r requirements/base.txt +pycparser==2.21 + # via + # -r requirements/base.txt + # cffi +pygments==2.12.0 + # via + # -r requirements/base.txt + # django-markup + # sphinx +pyjwt==2.4.0 + # via + # -r requirements/base.txt + # gemma-zds-client + # vng-api-common +pylint==1.9.2 + # via -r requirements/testing.in +pyopenssl==22.1.0 + # via + # -r requirements/base.txt + # django-simple-certmanager + # zgw-consumers +pyparsing==3.0.9 + # via + # -r requirements/base.txt + # packaging +pyrsistent==0.18.1 + # via + # -r requirements/base.txt + # jsonschema +python-creole==1.4.10 + # via + # -r requirements/base.txt + # django-markup +python-dateutil==2.8.2 + # via + # -r requirements/base.txt + # django-relativedelta + # faker + # freezegun +python-dotenv==0.20.0 + # via -r requirements/base.txt +pytz==2022.1 + # via + # -r requirements/base.txt + # babel + # celery + # django + # flower +pyyaml==6.0 + # via + # -r requirements/base.txt + # drf-spectacular + # gemma-zds-client + # oyaml + # vng-api-common +raven==6.10.0 + # via -r requirements/base.txt +redis==4.3.4 + # via + # -r requirements/base.txt + # django-redis +regex==2022.7.25 + # via + # -r requirements/base.txt + # textile +requests==2.28.1 + # via + # -r requirements/base.txt + # django-rosetta + # gemma-zds-client + # requests-mock + # sphinx + # vng-api-common + # zgw-consumers +requests-mock==1.10.0 + # via + # -r requirements/base.txt + # -r requirements/testing.in + # zgw-consumers +six==1.16.0 + # via + # -r requirements/base.txt + # astroid + # bleach + # click-repl + # django-choices + # django-compat + # html5lib + # isodate + # pylint + # python-dateutil + # requests-mock +smartypants==2.0.1 + # via + # -r requirements/base.txt + # django-markup +snowballstemmer==2.2.0 + # via + # -r requirements/base.txt + # sphinx +sphinx==5.0.2 + # via + # -r requirements/base.txt + # sphinx-rtd-theme +sphinx-rtd-theme==1.0.0 + # via -r requirements/base.txt +sphinxcontrib-applehelp==1.0.2 + # via + # -r requirements/base.txt + # sphinx +sphinxcontrib-devhelp==1.0.2 + # via + # -r requirements/base.txt + # sphinx +sphinxcontrib-htmlhelp==2.0.0 + # via + # -r requirements/base.txt + # sphinx +sphinxcontrib-jsmath==1.0.1 + # via + # -r requirements/base.txt + # sphinx +sphinxcontrib-qthelp==1.0.3 + # via + # -r requirements/base.txt + # sphinx +sphinxcontrib-serializinghtml==1.1.5 + # via + # -r requirements/base.txt + # sphinx +sqlparse==0.4.2 + # via + # -r requirements/base.txt + # django + # django-debug-toolbar +tblib==1.7.0 + # via -r requirements/testing.in +textile==4.0.2 + # via + # -r requirements/base.txt + # django-markup +tomli==2.0.1 + # via + # -r requirements/base.txt + # black + # build + # pep517 +tornado==6.2 + # via flower +typing-extensions==4.4.0 + # via black +uritemplate==4.1.1 + # via + # -r requirements/base.txt + # drf-spectacular +urllib3==1.26.10 + # via + # -r requirements/base.txt + # requests +uwsgi==2.0.20 + # via -r requirements/base.txt +vine==5.0.0 + # via + # -r requirements/base.txt + # amqp + # celery + # kombu +vng_api_common @ git+https://github.com/VNG-Realisatie/vng-api-common@drf-spectacular-upgrade + # via -r requirements/base.txt +wcwidth==0.2.5 + # via + # -r requirements/base.txt + # prompt-toolkit +webencodings==0.5.1 + # via + # -r requirements/base.txt + # bleach + # html5lib +wheel==0.37.1 + # via + # -r requirements/base.txt + # pip-tools +wrapt==1.14.1 + # via + # -r requirements/base.txt + # astroid + # deprecated +zgw-consumers==0.21.2 + # via + # -r requirements/base.txt + # notifications-api-common +zipp==3.8.1 + # via + # -r requirements/base.txt + # importlib-metadata + +# The following packages are considered to be unsafe in a requirements file: +pip==22.1.2 + # via + # -r requirements/base.txt + # pip-tools +setuptools==63.2.0 + # via + # -r requirements/base.txt + # django-axes + # pip-tools diff --git a/src/nrc/api/apps.py b/src/nrc/api/apps.py new file mode 100644 index 00000000..341082e3 --- /dev/null +++ b/src/nrc/api/apps.py @@ -0,0 +1,13 @@ +from django.apps import AppConfig + +from vng_api_common.api import register_extensions + + +class ZRCApiConfig(AppConfig): + name = "nrc.api" + + def ready(self): + register_extensions() + + # ensure that the metaclass for every viewset has run + from . import viewsets # noqa diff --git a/src/nrc/api/viewsets.py b/src/nrc/api/viewsets.py index 05bc7b46..53d18467 100644 --- a/src/nrc/api/viewsets.py +++ b/src/nrc/api/viewsets.py @@ -119,6 +119,7 @@ class EventAPIView(views.APIView): required_scopes = {"create": SCOPE_EVENTS_PUBLISH} # Exposed action of the view used by the vng_api_common action = "create" + serializer_class = EventSerializer parser_classes = (JSONParser,) renderer_classes = (JSONRenderer,) diff --git a/src/nrc/conf/api.py b/src/nrc/conf/api.py index 1a11f2c9..5c63c482 100644 --- a/src/nrc/conf/api.py +++ b/src/nrc/conf/api.py @@ -14,11 +14,15 @@ SPECTACULAR_SETTINGS = BASE_SPECTACULAR_SETTINGS.copy() SPECTACULAR_SETTINGS.update( { - "SERVERS": [{"url": "https://zaken-api.test.vng.cloud/api/v1"}], - # todo remove this line below when deploying to production - "SORT_OPERATION_PARAMETERS": False, + "SERVERS": [{"url": "https://notificaties-api.test.vng.cloud/api/v1"}], } ) +SPECTACULAR_EXTENSIONS = [ + "vng_api_common.extensions.fields.hyperlink_identity.HyperlinkedIdentityFieldExtension", + "vng_api_common.extensions.fields.many_related.ManyRelatedFieldExtension", + "vng_api_common.extensions.fields.read_only.ReadOnlyFieldExtension", + "vng_api_common.extensions.filters.query.FilterExtension", +] GEMMA_URL_INFORMATIEMODEL_VERSIE = "1.0" TEST_CALLBACK_AUTH = True diff --git a/src/openapi.yaml b/src/openapi.yaml new file mode 100644 index 00000000..d828848f --- /dev/null +++ b/src/openapi.yaml @@ -0,0 +1,2585 @@ +openapi: 3.0.3 +info: + title: Notification API + version: 2.0.0-alpha13 + description: |2 + + The API consists of three parts: + 1. **Publishing events (resource Events)**
The events resource is based on the [GOV NL profile for CloudEvents](https://vng-realisatie.github.io/NL-GOV-profile-for-CloudEvents). + This specification only contains brief descriptions of the attributes of the event. Please refer to the GOV NL profile for additional information. + 2. **Subscribing to receive events (resource Subscriptions)**
+ The subscription resource was derived from the [CloudEvents Subscription v1.0.0-wip](https://github.com/cloudevents/spec/tree/main/subscriptions). + This specification only contains brief descriptions of the attributes of the subscription. Please refer to the draft CE Subscription Specification for additional information. + 3. **Basic information about domains (resource Domains)**
The scopes for autorisation are described [here](https://github.com/VNG-Realisatie/notificatieservices/blob/main/docs/api-specification/scopes.md). + This specification is work in progress. It can be changed completely without notice. + contact: + email: standaarden.ondersteuning@vng.nl + url: https://vng-realisatie.github.io/gemma-zaken + license: + name: EUPL 1.2 + url: https://opensource.org/licenses/EUPL-1.2 +paths: + /api/v1/domains: + get: + operationId: domain_list + summary: Returns a list with information about all domains. + parameters: + - name: name + required: false + in: query + description: Name of the domain. + schema: + type: string + tags: + - domains + security: + - JWT-Claims: + - domains.read + responses: + '200': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Domain' + description: OK + '400': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/ValidatieFout' + description: Bad request + '401': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Unauthorized + '403': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Forbidden + '406': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Not acceptable + '409': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Conflict + '410': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Gone + '415': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Unsupported media type + '429': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Too many requests + '500': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Internal server error + post: + operationId: domain_create + summary: Defines a new domain with its basis properties and filter attributes. + parameters: + - in: header + name: Content-Type + schema: + type: string + enum: + - application/json + description: Content type van de verzoekinhoud. + required: true + tags: + - domains + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Domain' + required: true + security: + - JWT-Claims: + - domains.create + responses: + '201': + headers: + Location: + schema: + type: string + format: uri + description: URL waar de resource leeft. + 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' + description: Created + '400': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/ValidatieFout' + description: Bad request + '401': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Unauthorized + '403': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Forbidden + '406': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Not acceptable + '409': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Conflict + '410': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Gone + '415': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Unsupported media type + '429': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Too many requests + '500': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Internal server error + /api/v1/domains/{uuid}: + get: + operationId: domain_retrieve + summary: Returns information about the specified domain. + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: UUID of the domain. + title: uuid + required: true + tags: + - domains + security: + - JWT-Claims: + - domains.read + responses: + '200': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Domain' + description: OK + '401': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Unauthorized + '403': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Forbidden + '404': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Not found + '406': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Not acceptable + '409': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Conflict + '410': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Gone + '415': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Unsupported media type + '429': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Too many requests + '500': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Internal server error + put: + operationId: domain_update + parameters: + - in: header + name: Content-Type + schema: + type: string + enum: + - application/json + description: Content type van de verzoekinhoud. + required: true + - in: path + name: uuid + schema: + type: string + format: uuid + description: UUID of the domain. + title: uuid + required: true + tags: + - domains + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Domain' + required: true + security: + - JWT-Claims: + - domains.update + responses: + '200': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Domain' + description: OK + '400': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/ValidatieFout' + description: Bad request + '401': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Unauthorized + '403': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Forbidden + '404': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Not found + '406': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Not acceptable + '409': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Conflict + '410': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Gone + '415': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Unsupported media type + '429': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Too many requests + '500': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Internal server error + patch: + operationId: domain_partial_update + parameters: + - in: header + name: Content-Type + schema: + type: string + enum: + - application/json + description: Content type van de verzoekinhoud. + required: true + - in: path + name: uuid + schema: + type: string + format: uuid + description: UUID of the domain. + title: uuid + required: true + tags: + - domains + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedDomain' + security: + - JWT-Claims: + - domains.update + responses: + '200': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Domain' + description: OK + '400': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/ValidatieFout' + description: Bad request + '401': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Unauthorized + '403': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Forbidden + '404': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Not found + '406': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Not acceptable + '409': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Conflict + '410': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Gone + '415': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Unsupported media type + '429': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Too many requests + '500': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Internal server error + delete: + operationId: domain_destroy + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: UUID of the domain. + title: uuid + required: true + tags: + - domains + security: + - JWT-Claims: + - domains.delete + responses: + '204': + description: No content + '401': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Unauthorized + '403': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Forbidden + '404': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Not found + '406': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Not acceptable + '409': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Conflict + '410': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Gone + '415': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Unsupported media type + '429': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Too many requests + '500': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Internal server error + /api/v1/events: + post: + operationId: events_create + parameters: + - in: header + name: Content-Type + schema: + type: string + enum: + - application/json + description: Content type van de verzoekinhoud. + required: true + tags: + - events + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Event' + required: true + security: + - JWT-Claims: + - events.publish + responses: + '201': + headers: + Location: + schema: + type: string + format: uri + description: URL waar de resource leeft. + 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' + description: Created + '400': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/ValidatieFout' + description: Bad request + '401': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Unauthorized + '403': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Forbidden + '406': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Not acceptable + '409': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Conflict + '410': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Gone + '415': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Unsupported media type + '429': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Too many requests + '500': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Internal server error + /api/v1/subscriptions: + get: + operationId: subscription_list + summary: Returns a list with information about all subscriptions. + tags: + - subscriptions + security: + - JWT-Claims: + - subscriptions.read + responses: + '200': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Subscription' + description: OK + '401': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Unauthorized + '403': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Forbidden + '406': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Not acceptable + '409': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Conflict + '410': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Gone + '415': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Unsupported media type + '429': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Too many requests + '500': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Internal server error + post: + operationId: subscription_create + summary: Subscribe to receive events. + parameters: + - in: header + name: Content-Type + schema: + type: string + enum: + - application/json + description: Content type van de verzoekinhoud. + required: true + tags: + - subscriptions + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Subscription' + required: true + security: + - JWT-Claims: + - subscriptions.create + responses: + '201': + headers: + Location: + schema: + type: string + format: uri + description: URL waar de resource leeft. + 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' + description: Created + '400': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/ValidatieFout' + description: Bad request + '401': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Unauthorized + '403': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Forbidden + '406': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Not acceptable + '409': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Conflict + '410': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Gone + '415': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Unsupported media type + '429': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Too many requests + '500': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Internal server error + /api/v1/subscriptions/{uuid}: + get: + operationId: subscription_retrieve + summary: Returns information about the specified subscription. + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: UUID of the subscription. + title: uuid + required: true + tags: + - subscriptions + security: + - JWT-Claims: + - subscriptions.read + responses: + '200': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Subscription' + description: OK + '401': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Unauthorized + '403': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Forbidden + '404': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Not found + '406': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Not acceptable + '409': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Conflict + '410': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Gone + '415': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Unsupported media type + '429': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Too many requests + '500': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Internal server error + put: + operationId: subscription_update + summary: Update the specified subscription by replacing all properties. + parameters: + - in: header + name: Content-Type + schema: + type: string + enum: + - application/json + description: Content type van de verzoekinhoud. + required: true + - in: path + name: uuid + schema: + type: string + format: uuid + description: UUID of the subscription. + title: uuid + required: true + tags: + - subscriptions + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Subscription' + required: true + security: + - JWT-Claims: + - subscriptions.update + responses: + '200': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Subscription' + description: OK + '400': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/ValidatieFout' + description: Bad request + '401': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Unauthorized + '403': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Forbidden + '404': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Not found + '406': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Not acceptable + '409': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Conflict + '410': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Gone + '415': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Unsupported media type + '429': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Too many requests + '500': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Internal server error + patch: + operationId: subscription_partial_update + parameters: + - in: header + name: Content-Type + schema: + type: string + enum: + - application/json + description: Content type van de verzoekinhoud. + required: true + - in: path + name: uuid + schema: + type: string + format: uuid + description: UUID of the subscription. + title: uuid + required: true + tags: + - subscriptions + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedSubscription' + security: + - JWT-Claims: + - subscriptions.update + responses: + '200': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Subscription' + description: OK + '400': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/ValidatieFout' + description: Bad request + '401': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Unauthorized + '403': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Forbidden + '404': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Not found + '406': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Not acceptable + '409': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Conflict + '410': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Gone + '415': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Unsupported media type + '429': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Too many requests + '500': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Internal server error + delete: + operationId: subscription_destroy + summary: Delete the specified subscription. + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: UUID of the subscription. + title: uuid + required: true + tags: + - subscriptions + security: + - JWT-Claims: + - subscriptions.delete + responses: + '204': + description: No content + '401': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Unauthorized + '403': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Forbidden + '404': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Not found + '406': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Not acceptable + '409': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Conflict + '410': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Gone + '415': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Unsupported media type + '429': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Too many requests + '500': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van + een specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Internal server error +components: + responses: + '400': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van een + specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/ValidatieFout' + description: Bad request + '401': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van een + specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Unauthorized + '403': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van een + specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Forbidden + '404': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van een + specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Not found + '406': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van een + specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Not acceptable + '409': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van een + specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Conflict + '410': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van een + specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Gone + '415': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van een + specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Unsupported media type + '429': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van een + specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Too many requests + '500': + headers: + API-version: + schema: + type: string + description: 'Geeft een specifieke API-versie aan in de context van een + specifieke aanroep. Voorbeeld: 1.2.1.' + content: + application/json: + schema: + $ref: '#/components/schemas/Fout' + description: Internal server error + schemas: + AccessTokenTypeEnum: + enum: + - bearer + type: string + CredentialTypeEnum: + enum: + - ACCESSTOKEN + type: string + Domain: + type: object + properties: + name: + type: string + title: Naam + description: Name of the domain. + maxLength: 255 + documentationLink: + type: string + format: uri + title: Documentatie link + description: Link to human readable information about the domain and its + notifications. + maxLength: 200 + filterAttributes: + type: array + items: + type: string + maxLength: 255 + description: Filter attributes offered by the domain. + title: filter attributes + uuid: + type: string + format: uuid + readOnly: true + description: UUID of the domain. + title: uuid + url: + type: string + format: uri + readOnly: true + title: url + description: URL-referentie naar dit object. Dit is de unieke identificatie + en locatie van dit object. + minLength: 1 + maxLength: 1000 + required: + - name + - url + - uuid + Event: + type: object + properties: + id: + type: string + description: Identifies the event. Producers MUST ensure that source + id + is unique for each distinct event. SHOULD be a UUID. + title: id + specversion: + allOf: + - $ref: '#/components/schemas/SpecversionEnum' + description: The version of the CloudEvents specification which the event + uses. Compliant event producers MUST use a value of 1.0 when referring + to this version of the specification. + title: specversion + source: + type: string + description: Identifies the context in which an event happened. SHOULD be + a URN notation with 'nld' as namespace identifier. SHOULD contain consecutive + a unique identifier of the organization that publishes the event followed + by the source system that publishes the event. Involved organizations + SHOULD agree on how organizations and systems are uniquely identified + (e.g. via the use of OIN, KVK-nummer or eIDAS legal identifier for organization + identification);. + title: source + domain: + type: string + title: domain + description: Name of the domain to which the event belongs. Can be seen + as the namespace of the event.(This attribute is not listed in the GOV + NL profile for CloudEvents). + type: + type: string + description: Beschrijft het type EVENT afkomstig van het specifieke DOMAIN.This + attribute contains a value describing the type of event. Type SHOULD start + with the domain followed by the name of the event. Events SHOULD be expressed + in the past tense. If subtypes are required those SHOULD be expressed + using a dot '.' between the super and subtype(s). The type MAY contain + version information. Version information SHOULD be appended at the end + of the string. + title: type + time: + type: string + format: date-time + nullable: true + description: Timestamp of the event. SHOULD be the timestamp the event was + registered in the source system and NOT the time the event occurred in + reality. The exact meaning of time MUST be clearly documented. + title: time + subscription: + type: string + format: uuid + nullable: true + description: Usually empty. Only used in situations where notificationservices + are chained. For example notificationservice2 (ns2) is subscribed to notifcationservice1 + (ns1). When ns1 sends an event to ns2 this attribute SHOULD contain the + subscription id of the subscription that ns1 has on ns2 (that was resposible + for receiving the event). Note this attribute is overwritten when the + event is passed through to a client. It will be set to the value of the + subscription id of the subscription of the client. + title: subscription + subscriberReference: + type: string + nullable: true + description: Usually empty. Only used in situations where notificationservices + are chained. For example notificationservice2 (ns2) is subscribed to notifcationservice1 + (ns1). When ns1 sends an event to ns2 this attribute COULD contain the + subscriberReference the was specified when ns2 subscribed to ns1. Note + this attribute is overwritten when the event is passed through to a client. + It will be set to the value of the subscriberReference of the subscription + of the client (when specified by the client). + title: subscriberReference + maxLength: 255 + datacontenttype: + type: string + nullable: true + description: Content type of data value. In this version of the API the + value MUST be 'application/json'. In future versions of the API other + values such as described in RFC 2046 MAY be used. + title: datacontenttype + dataschema: + type: string + format: uri + nullable: true + description: Identifies the schema that data adheres to. + title: dataschema + sequence: + type: string + nullable: true + description: Value expressing the relative order of the event. This enables + interpretation of data supercedence. + title: sequence + sequencetype: + nullable: true + description: Specifies the semantics of the sequence attribute. (Currently + limited to the value INTEGER). + title: sequencetype + oneOf: + - $ref: '#/components/schemas/SequencetypeEnum' + - $ref: '#/components/schemas/NullEnum' + subject: + type: string + nullable: true + description: Included to be compatible with CloudEvents specification. The + GOV NL profile states 'Decision on whether or not to use the attribute + and/or the exact interpretation is postponed. To be determined partly + on the basis of future agreements about subscription and filtering.' + title: subject + data: + type: object + additionalProperties: {} + nullable: true + title: data + dataBase64: + type: string + nullable: true + description: The presence of the data_base64 member clearly indicates that + the value is a Base64 encoded binary data, which the serializer MUST decode + into a binary runtime data type. + title: dataBase64 + dataref: + type: string + nullable: true + description: A reference to a location where the event payload is stored. + If both the data attribute and the dataref attribute are specified their + contents MUST be identical. + title: dataref + required: + - domain + - id + - source + - specversion + - type + FieldValidationError: + type: object + description: Formaat van validatiefouten. + properties: + name: + type: string + description: Naam van het veld met ongeldige gegevens + title: name + code: + type: string + description: Systeemcode die het type fout aangeeft + title: code + reason: + type: string + description: Uitleg wat er precies fout is met de gegevens + title: reason + required: + - code + - name + - reason + Fout: + type: object + description: Formaat van HTTP 4xx en 5xx fouten. + properties: + type: + type: string + description: URI referentie naar het type fout, bedoeld voor developers + title: type + code: + type: string + description: Systeemcode die het type fout aangeeft + title: code + title: + type: string + description: Generieke titel voor het type fout + title: title + status: + type: integer + description: De HTTP status code + title: status + detail: + type: string + description: Extra informatie bij de fout, indien beschikbaar + title: detail + instance: + type: string + description: URI met referentie naar dit specifiek voorkomen van de fout. + Deze kan gebruikt worden in combinatie met server logs, bijvoorbeeld. + title: instance + required: + - code + - detail + - instance + - status + - title + MethodEnum: + enum: + - POST + type: string + NullEnum: + enum: + - null + PatchedDomain: + type: object + properties: + name: + type: string + title: Naam + description: Name of the domain. + maxLength: 255 + documentationLink: + type: string + format: uri + title: Documentatie link + description: Link to human readable information about the domain and its + notifications. + maxLength: 200 + filterAttributes: + type: array + items: + type: string + maxLength: 255 + description: Filter attributes offered by the domain. + title: filter attributes + uuid: + type: string + format: uuid + readOnly: true + description: UUID of the domain. + title: uuid + url: + type: string + format: uri + readOnly: true + title: url + description: URL-referentie naar dit object. Dit is de unieke identificatie + en locatie van dit object. + minLength: 1 + maxLength: 1000 + PatchedSubscription: + type: object + properties: + id: + type: string + format: uuid + readOnly: true + description: UUID of the subscription. + title: uuid + protocol: + allOf: + - $ref: '#/components/schemas/ProtocolEnum' + description: Identifier of a delivery protocol. + title: protocol + protocolSettings: + allOf: + - $ref: '#/components/schemas/ProtocolSettings' + nullable: true + title: protocol settings + sink: + type: string + format: uri + description: The address to which events shall be delivered using the selected + protocol. + title: sink + maxLength: 200 + sinkCredential: + allOf: + - $ref: '#/components/schemas/SinkCredential' + nullable: true + title: sink credential + config: + type: object + additionalProperties: {} + nullable: true + description: Implementation-specific configuration parameters needed by + the subscription manager for acquiring events. + title: config + source: + type: string + nullable: true + description: Source to which the subscription applies. May be implied by + the request address. + title: source + maxLength: 255 + domain: + type: string + nullable: true + description: Domain to which the subscription applies. + title: Domain + types: + type: array + items: + type: string + maxLength: 255 + nullable: true + description: CloudEvent types eligible to be delivered by this subscription. + title: types + subscriberReference: + type: string + nullable: true + description: Events that are send to the subscriber will contain this reference. + The subscriber can use the reference for internal routing of the event. + title: subscriber reference + maxLength: 255 + filters: + type: object + additionalProperties: {} + description: This filter evaluates to 'true' if all contained filters are + 'true'. + title: filters + url: + type: string + format: uri + readOnly: true + title: url + description: URL-referentie naar dit object. Dit is de unieke identificatie + en locatie van dit object. + minLength: 1 + maxLength: 1000 + ProtocolEnum: + enum: + - HTTP + type: string + ProtocolSettings: + type: object + properties: + headers: + type: object + additionalProperties: + type: string + title: '' + maxLength: 255 + title: headers + method: + allOf: + - $ref: '#/components/schemas/MethodEnum' + title: method + SequencetypeEnum: + enum: + - Integer + type: string + SinkCredential: + type: object + properties: + credentialType: + allOf: + - $ref: '#/components/schemas/CredentialTypeEnum' + title: credentialType + accessToken: + type: string + title: accessToken + accessTokenExpiresUtc: + type: string + format: date-time + title: accessTokenExpiresUtc + accessTokenType: + allOf: + - $ref: '#/components/schemas/AccessTokenTypeEnum' + title: accessTokenType + required: + - accessToken + - accessTokenExpiresUtc + - accessTokenType + - credentialType + SpecversionEnum: + enum: + - '1.0' + type: string + Subscription: + type: object + properties: + id: + type: string + format: uuid + readOnly: true + description: UUID of the subscription. + title: uuid + protocol: + allOf: + - $ref: '#/components/schemas/ProtocolEnum' + description: Identifier of a delivery protocol. + title: protocol + protocolSettings: + allOf: + - $ref: '#/components/schemas/ProtocolSettings' + nullable: true + title: protocol settings + sink: + type: string + format: uri + description: The address to which events shall be delivered using the selected + protocol. + title: sink + maxLength: 200 + sinkCredential: + allOf: + - $ref: '#/components/schemas/SinkCredential' + nullable: true + title: sink credential + config: + type: object + additionalProperties: {} + nullable: true + description: Implementation-specific configuration parameters needed by + the subscription manager for acquiring events. + title: config + source: + type: string + nullable: true + description: Source to which the subscription applies. May be implied by + the request address. + title: source + maxLength: 255 + domain: + type: string + nullable: true + description: Domain to which the subscription applies. + title: Domain + types: + type: array + items: + type: string + maxLength: 255 + nullable: true + description: CloudEvent types eligible to be delivered by this subscription. + title: types + subscriberReference: + type: string + nullable: true + description: Events that are send to the subscriber will contain this reference. + The subscriber can use the reference for internal routing of the event. + title: subscriber reference + maxLength: 255 + filters: + type: object + additionalProperties: {} + description: This filter evaluates to 'true' if all contained filters are + 'true'. + title: filters + url: + type: string + format: uri + readOnly: true + title: url + description: URL-referentie naar dit object. Dit is de unieke identificatie + en locatie van dit object. + minLength: 1 + maxLength: 1000 + required: + - id + - protocol + - sink + - url + ValidatieFout: + type: object + description: Formaat van HTTP 4xx en 5xx fouten. + properties: + type: + type: string + description: URI referentie naar het type fout, bedoeld voor developers + title: type + code: + type: string + description: Systeemcode die het type fout aangeeft + title: code + title: + type: string + description: Generieke titel voor het type fout + title: title + status: + type: integer + description: De HTTP status code + title: status + detail: + type: string + description: Extra informatie bij de fout, indien beschikbaar + title: detail + instance: + type: string + description: URI met referentie naar dit specifiek voorkomen van de fout. + Deze kan gebruikt worden in combinatie met server logs, bijvoorbeeld. + title: instance + invalidParams: + type: array + items: + $ref: '#/components/schemas/FieldValidationError' + title: invalidParams + required: + - code + - detail + - instance + - invalidParams + - status + - title + securitySchemes: + JWT-Claims: + type: http + bearerFormat: JWT + scheme: bearer +servers: +- url: https://notificaties-api.test.vng.cloud/api/v1 +tags: +- name: domains + description: '' +- name: events + description: Publish an event The component will distribute the event to the subscribers + when the criteriaof a subscription are met. +- name: subscriptions + description: ''