From 811809d64641c9b3ec98ea519f33df44f4fff5e6 Mon Sep 17 00:00:00 2001 From: vasileios Date: Tue, 24 Dec 2024 12:56:22 +0100 Subject: [PATCH] [#4920] Updated changelog and necessary files for v3.0.0 --- .bumpversion.cfg | 2 +- .sdk-release | 2 +- CHANGELOG.rst | 261 ++- README.NL.rst | 2 +- README.rst | 2 +- package-lock.json | 4 +- package.json | 2 +- publiccode.yaml | 2 +- src/openapi.yaml | 4430 ++++++++++++++++++------------------ src/openforms/__init__.py | 2 +- src/openforms/conf/base.py | 2 +- 11 files changed, 2522 insertions(+), 2189 deletions(-) diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 878c98c7c8..8477a5b882 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,7 +1,7 @@ [bumpversion] commit = False tag = False -current_version = 3.0.0-alpha.1 +current_version = 3.0.0 parse = (?P\d+)\.(?P\d+)\.(?P\d+)(\-(?P
[a-z]+)\.(?P\d+))?
 serialize = 
 	{major}.{minor}.{patch}-{pre}.{build}
diff --git a/.sdk-release b/.sdk-release
index 2c2df05268..437459cd94 100644
--- a/.sdk-release
+++ b/.sdk-release
@@ -1 +1 @@
-2.5.0-alpha.1
+2.5.0
diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index cf915c0f25..7a37dce93b 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -2,6 +2,265 @@
 Changelog
 =========
 
+3.0.0 "Heerlijkheid" (2025-01-07)
+=================================
+
+Open Forms 3.0.0 is a feature release.
+
+.. epigraph::
+
+   "Heerlijkheid"
+
+**Breaking changes**
+
+* [:backend:`4375`] Removed environment variable ``DISABLE_SENDING_HIDDEN_FIELDS`` for
+  Objects API.
+
+Upgrade procedure
+-----------------
+
+* ⚠️ Ensure you upgrade to Open Forms 2.8.2 before upgrading to the 3.0 release series.
+
+* ⚠️ Please review the instructions in the documentation under **Installation** >
+  **Upgrade details to Open Forms 3.0.0** before and during upgrading. You can find
+  details for the deprecated code and how this can affect you.
+
+Major features
+--------------
+
+**Product Prefill**
+
+* You can now build a form based on a specific product (currently started by supporting an object 
+  in the Objects API) and you can prefill variables by mapping them to specific properties of the
+  object. Object can be updated with the data provided by the user when they are the owner of the
+  object.
+
+  A form example is defined in :ref:`Prefill examples `
+
+**Cosign Improvements**
+
+* We have been working on improving several aspects of the co-sign and all these are descibed in detail
+  below.
+
+**Submission Price in Variable**
+
+* Price logic rules are removed in favour of setting the submission price via a form
+  variable and normal logic rules. The conversion is automatic.
+
+Detailed changes
+----------------
+
+This contains the changes from the alpha and fixes applied until the stable version.
+
+
+**New features**
+
+* The documentation of Open Forms is now available for offline access too. You can find a PDF link
+  on the bottom of the page.
+* Added documentation for product prefill in user manual (examples are also provided).
+* Updated technical configuration documentation for Objects API.
+* [:backend:`2173`] The map component now supports using a different background/tile layer
+* [:backend:`4319`] You can now provide a custom document's title for StUF-ZDS via the component's
+  configuration.
+* [:backend:`3457`] Custom `title` and `com` parameters can now be defined in Ogone payment plugin.
+* [:backend:`4321`] Forms can now have a submission limit. The SDK displays appropriate messages when
+  this limit is reached.
+* [:backend:`4907`] Improved developer installation documentation.
+* [:backend:`4895`] Ensured that custom email headers are used for confirmation emails and cosign
+  request.
+* [:backend:`4859`] Improved form state handling.
+* [:backend:`4789`, :backend:`4788`] Added `django-setup-configuration` to configure Open Forms to
+  Open Zaak and Objecten.
+* [:backend:`4787`] It's now possible to load a confguration file via the ``setup_configuration``
+  management command. Additional information/instructions are provided in
+  :ref:`installation_configuration_cli`.
+* [:backend:`4398`] The object ownership is now checked, when a user is authenticated, during prefill
+  and pre-registration.
+* [:backend:`4606`] Improved the user experience of the ZGW APIs registration plugin:
+
+    - All dropdowns/comboboxes now have a search field.
+    - You can now select which catalogue to use, which enables you to select the case and
+      document types in dropdowns that show only relevant options.
+    - During registration the plugin will now automatically select the right version of a case and
+      document type.
+    - The URL-based configuration can still be used, but it's deprecated and will be removed in the
+      future.
+* [:backend:`4418`] You can now map individual parts of the addressNL component in the Objects API
+  registration plugin.
+* [:backend:`4796`] You can now select a product to be set on the created case from the selected case
+  type in the ZGW APIs registration plugin.
+* [:backend:`4762`] The cosigner identifier (BSN) is now included in the created case in the StUF-ZDS
+  registration plugin.
+* Updated documentation concerning frontend toolchains and formio search strategies.
+* [:backend:`4798`] Made the confirmation box consistent with other modals and improved the UX.
+* [:backend:`4344`] You can now select which Objects API group to use in the ZGW APIs registration 
+  plugin rather than "the first one" being used always.
+* [:backend:`4320`] Improved the cosign flow and the texts used in cosign flows, while adding more
+  flexibility:
+
+    - You can now use templates specifically for cosigning for the confirmation screen content,
+      with the ability to include a 'cosign now' button.
+    - You can now use templates specifically for cosigning for the confirmation email subject and content.
+    - When links are used in the cosign request email, the cosigner can now directly click through without
+      having to enter a code to retrieve the submission.
+    - Updated the default templates with better text/instructions.
+    - Updated translations of improved texts.
+* [:backend:`4815`] Changed submission removal limit to 0, allowing submissions to be deleted after 0 days
+  (i.e. on the same day).
+* [:backend:`4717`] Improved accessibility for site logo, error message element and PDF documents. 
+* [:backend:`4719`] Improved accessibility in postcode fields.
+* [:backend:`4707`] You can now resize the Json-Logic widgets.
+* [:backend:`4686`] All the registration plugin configuration options are now consistently managed in a 
+  modal with better UX.
+* [:backend:`4720`] Improved accessibility for the skiplink and the PDF report.
+* [:backend:`4396`, :backend:`4693`, :backend:`4608`, :backend:`4859`] You can now configure a variable
+  to be prefilled from the Objects API (a.k.a. "product prefill"):
+
+    - It's possible to assign individual properties from the object type to particular form variables.
+    - To avoid duplicating configuration, you can copy the configuration from a configured registration
+      backend. The button is shown only when there are available backends configured.
+    - Cleaned up API of VariablesMapping component.
+    - Refactored VariablesMapping component.
+    - Refactored ObjectTypeVersionSelect.
+* [:backend:`4764`] Added the ability to set the submission price calculation to variable.
+* [:backend:`4716`] Added translations for form fields and associated error messages improvements.
+* [:backend:`4524`, :backend:`4675`] Selecting a form variable is now more user friendly. Variables
+  are logically grouped and a search box was added.
+* [:backend:`4709`] Improved the error feedback if unexpected errors happening during form saving
+  in the form designer.
+
+**Bugfixes**
+
+* [:backend:`4825`] Log prefill failures for empty data only for the authentication flow that
+  is used to log in.
+* [:backend:`4863`] Fixed authentication flow when OIDC is used through an `employee_id`.
+* [:backend:`4955`] Fixed coordinates order for Objects API and ZGW APIs.
+* [:backend:`4821`] Ensured that email digest reports the expected problems for BRK and addressNL
+  component.
+* [:backend:`4949`] Fixed Modal's close button on dark mode.
+* [:backend:`4886`] Fixed certain variants of CSV files not passing validation on Windows.
+* [:backend:`4832`] Fixed json schema matcher in Objects API, in case format is not provided.
+* [:backend:`4853`, :backend:`4899`] Fixed optional serializer fields in multiple registration
+  backends.
+* [:backend:`4884`] Ensured that no form variables are created for soft required errors
+  component.
+* [:backend:`4874`] Fixed Dockerfile concerning missing scripts.
+* [:backend:`3901`] Fixed cosign state not taking the logic/dynamic behaviour of cosign
+  component into account.
+* [:backend:`4824`] Ensured that the FormVariables are in line with the state of the
+  FormDefinitions after saving.
+* Fixed Django admin form field markup after Django v4.2.
+* Fixed long words taking a lot of place and pushing icons.
+* Fixed markup of checkboxes with help text.
+* Fixed migration for update summary tag.
+* [:backend:`4320`] Fixed ambiguous langugage in the summary PDF when the submission 
+  still requires cosigning.
+* Fixed variables mapping by applying fallback for missing form values.
+* [:backend:`4862`] Fixed unintended hashing of identifying attributes when the cosigner
+  logs out.
+* [:backend:`4732`] Fixed CSP issues for Expoints and Govmetric analytics.
+* Fixed examples in the documentation for logic with date and duration calculations.
+* [:backend:`4745`] Fixed missing registration variable to the Objects API with all
+  the attachment URLs.
+* [:backend:`4823`] Fixed uploaded files with leading or trailing whitespaces in the
+  filename.
+* [:backend:`4810`] Fixed uppercase component variable values turing lowercase.
+* [:backend:`4772`] Fixed select components with integer values being treated as numbers
+  instead of strings.
+* [:backend:`4727`] Fixed crash when a user defined variable was changed to an array
+  datatype.
+* Fixed type error in the preset nested validate schema for components.
+* [:backend:`4802`] Fixed some dropdowns taking up more horizontal space than intended.
+* [:backend:`4763`] Fixed temporary file uploads not being delete-able in the admin interface.
+* [:backend:`4726`] Fixed the styling for form delete buttons.
+* [:backend:`4744`] Fixed a performance regression in the logic check calls and general
+  submission processing.
+* [:backend:`4774`] Fixed ``textfield`` data not being converted to a string when numeric
+  data is received from a prefill plugin.
+* Fixed docs concerning invalid SSL certs and broken links.
+* [:backend:`4765`] Fixed bug in components migration converter when multiple is True.
+* [:backend:`4546`] Fixed the soft-required validation errors being shown in the summary PDF.
+* Fixed validation error when saving a new form definition via the admin.
+* [:backend:`4659`] Fixed ``null`` default values for text-based fields.
+* [:backend:`4528`] Fixed vague error/log out situation when logging in with OIDC.
+* [:backend:`3629`] Fixed submission bulk export crashing when the form has repeating
+  groups.
+* [:backend:`3705`] Updated timestamps in str representations.
+* [:backend:`4713`] Fixed pre-request hook not running for all "Haal Centraal BRP
+  Personen bevragen" operations (fixes Token Exchange extension).
+* [:backend:`4600`] Fixed not all the content on the page getting translated after changing
+  the form language.
+* [:backend:`4733`] Fixed a segmentation fault that could occur in dev environments.
+* [:backend:`4628`] Fixed a crash when copying a form with a "block next step" logic.
+* [:backend:`4711`] Fixed broken submission form row styling.
+* [:backend:`4695`] Fixed a performance issue during legacy Objects API registration
+  plugin validation.
+* [:backend:`4652`] Fixed misaligned validation errors in the form designer UI.
+* [:backend:`4658`] Fixed certain variants of ZIP files not passing validation on Windows.
+* [:backend:`4656`] Fixed a crash during validation when you have file upload components
+  inside repeating groups.
+
+**Project maintenance**
+
+* [:backend:`3283`] Removed deprecated code (please review the instructions in the documentation
+  under **Installation** > **Upgrade details to Open Forms 3.0.0** for all the necessary details):
+
+    - ``registration_backend`` and ``registration_backend_options`` fields from form.
+    - Old API location url.
+    - Conversion of ``stuf-zds-create-zaak:ext-utrecht`` to ``stuf-zds-create-zaak`` during import.
+    - Objecttype URL to UUID import conversion.
+    - Backwards compatible styling.
+    - Password Formio component.
+    - Legacy formio translation converter.
+    - Deprecated/disabled legacy OIDC callback endpoints by default.
+    - Documented registration backend migration procedure.
+    - Made Objects API and ZGW APIs group fields non-nullable where this is necessary.
+    - Normalized API endpoints to use kebab-case instead of snake-case.
+    - Removed unnecessary filter behaviour on form definitions endpoint.
+    - Removed legacy machtigen context.
+    - Removed old appointments flow and refactored code according to the new one.
+    - Made submission in temporary file uploads non-nullable.
+    - Removed conversion of form step URL to form step UUID.
+    - Made form definition name read only.
+* Documented expired domains for VCR testing.
+* [:backend:`4920`] Updated backend and frontend translations.
+* Improved test flakiness.
+* [:backend:`3457`] Extended type checking to most of the payments app.
+* Removed migration tests which relied on real models.
+* Addressed warnings in DMN components.
+* Removed duplicated MS Graph stories/plugin options.
+* Removed unused uiSchema property from registration fields.
+* Deleted obsoleted `.admin-fieldset` styling.
+* Removed the custom helptext-as-tooltip styling and applied the default styling of Django.
+* Replaced ``summary`` tag implementation with ``confirmation_summary``.
+* Bumped Django to 4.2.17 patch release.
+* Refactored/updated variables editor stories.
+* [:backend:`4398`] Refactored the ``TargetPathSelect`` component.
+* Bumped tornado version.
+* [:backend:`4771`] Deprecated price logic rules (see breaking changes section for further instructions).
+* [:backend:`4849`] Updated prepare release template with missing VCR paths.
+* Upgraded to MSW 2.x.
+* Updated API endpoints concerning the language (NL -> En).
+* [:backend:`4431`] Improved addressNL mapping backwards compatibility and refactored ObjectsAPI v2
+  handler.
+* Bumped lxml html cleaner.
+* Fixed recursion issues in component search strategies.
+* Bumped waitress.
+* Replaced duplicated code for payment/registration plugin configuration option forms, by adding a
+  generic component.
+* Dropped RJSF dependency.
+* Now, we use explicit React config form for MS Graph registration options.
+* Refactored demo plugins configuration to use modal.
+* Bumped django-silk version to be compatible with Python 3.12.
+* Cleaned up CI workflow.
+* Updated trivy-action to 0.24.0.
+* Upgraded to Storybook 8.3.5.
+* Removed 2.6.x from supported versions in Docker Hub description.
+* Added 2.8.x to Docker Hub description.
+* [:backend:`4721`] Updated the screenshots in the documentation for prefill and the
+  Objects API manual.
+* Moved 2.5 to unsupported versions in developer docs and documented 2.5.x EOL status.
+
 3.0.0-alpha.1 (2024-11-28)
 ==========================
 
@@ -46,7 +305,7 @@ Detailed changes
     - Updated the default templates with better text/instructions.
 * [:backend:`4815`] Changed submission removal limit to 0, allowing submissions to be deleted after 0 days
   (i.e. on the same day).
-* [:backend:`4717`] Improved accessibility for site logo, error message element and PDF documents. 
+* [:backend:`4717`] Improved accessibility for site logo, error message element and PDF documents.
 * [:backend:`4707`] You can now resize the Json-Logic widgets.
 * [:backend:`4686`} All the registration plugin configuration options are now consistently managed in a 
   modal with better UX.
diff --git a/README.NL.rst b/README.NL.rst
index 93aa4da853..9627ea0a92 100644
--- a/README.NL.rst
+++ b/README.NL.rst
@@ -2,7 +2,7 @@
 Open Formulieren
 ================
 
-:Version: 3.0.0-alpha.1
+:Version: 3.0.0
 :Source: https://github.com/open-formulieren/open-forms
 :Keywords: e-Formulieren, Common Ground, FormIO, API
 
diff --git a/README.rst b/README.rst
index 0bc932218d..2c009e4abc 100644
--- a/README.rst
+++ b/README.rst
@@ -2,7 +2,7 @@
 Open Forms
 ==========
 
-:Version: 3.0.0-alpha.1
+:Version: 3.0.0
 :Source: https://github.com/open-formulieren/open-forms
 :Keywords: e-Formulieren, Common Ground, FormIO, API
 
diff --git a/package-lock.json b/package-lock.json
index 5a02c8508f..a32a85eaa8 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
 {
   "name": "openforms",
-  "version": "3.0.0-alpha.1",
+  "version": "3.0.0",
   "lockfileVersion": 2,
   "requires": true,
   "packages": {
     "": {
       "name": "openforms",
-      "version": "3.0.0-alpha.1",
+      "version": "3.0.0",
       "license": "UNLICENSED",
       "dependencies": {
         "@fortawesome/fontawesome-free": "^6.1.1",
diff --git a/package.json b/package.json
index ac2c6b996a..bcbb28c6af 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "openforms",
-  "version": "3.0.0-alpha.1",
+  "version": "3.0.0",
   "description": "Open Forms",
   "main": "src/static/openforms/js/openforms.js",
   "directories": {
diff --git a/publiccode.yaml b/publiccode.yaml
index 026f03a4d2..d01a67f729 100644
--- a/publiccode.yaml
+++ b/publiccode.yaml
@@ -7,7 +7,7 @@ publiccodeYmlVersion: '0.2'
 name: Open Forms Builder and API
 url: 'http://github.com/open-formulieren/open-forms.git'
 softwareType: standalone/backend
-softwareVersion: 3.0.0-alpha.1
+softwareVersion: 3.0.0
 releaseDate: '2022-03-10'
 logo: 'https://github.com/open-formulieren/open-forms/blob/master/docs/logo.svg'
 platforms:
diff --git a/src/openapi.yaml b/src/openapi.yaml
index 0a36663965..d879560783 100644
--- a/src/openapi.yaml
+++ b/src/openapi.yaml
@@ -1,7 +1,7 @@
 openapi: 3.0.3
 info:
   title: Open Forms API
-  version: 3.0.0-alpha.1
+  version: 3.0.0
   description: |2
 
     Open Forms provides an API to manage multi-page or multi-step forms.
@@ -29,11 +29,11 @@ paths:
       description: Haal informatie op over de analytics-tools voor de frontend.
       summary: Analytics tools-configuratie
       tags:
-      - analytics
+        - analytics
       security:
-      - tokenAuth: []
-      - cookieAuth: []
-      - {}
+        - tokenAuth: []
+        - cookieAuth: []
+        - {}
       responses:
         '200':
           content:
@@ -55,19 +55,19 @@ paths:
       operationId: appointments_cancel_create
       summary: Cancel an appointment
       parameters:
-      - in: path
-        name: submission_uuid
-        schema:
-          type: string
-          format: uuid
-        required: true
-      - in: header
-        name: X-CSRFToken
-        schema:
-          type: string
-        required: true
+        - in: path
+          name: submission_uuid
+          schema:
+            type: string
+            format: uuid
+          required: true
+        - in: header
+          name: X-CSRFToken
+          schema:
+            type: string
+          required: true
       tags:
-      - appointments
+        - appointments
       requestBody:
         content:
           application/json:
@@ -81,7 +81,7 @@ paths:
               $ref: '#/components/schemas/CancelAppointmentInput'
         required: true
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '204':
           description: No response body
@@ -129,7 +129,7 @@ paths:
       operationId: appointments_appointments_create
       summary: Create an appointment
       tags:
-      - appointments
+        - appointments
       requestBody:
         content:
           application/json:
@@ -137,7 +137,7 @@ paths:
               $ref: '#/components/schemas/Appointment'
         required: true
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '201':
           content:
@@ -200,11 +200,11 @@ paths:
             Content-Language:
               $ref: '#/components/headers/Content-Language'
       parameters:
-      - in: header
-        name: X-CSRFToken
-        schema:
-          type: string
-        required: true
+        - in: header
+          name: X-CSRFToken
+          schema:
+            type: string
+          required: true
   /api/v2/appointments/customer-fields:
     get:
       operationId: appointments_customer_fields_retrieve
@@ -218,19 +218,19 @@ paths:
         with ready to use component keys, labels and relevant validators.
       summary: Get required customer field details for a given product
       parameters:
-      - in: query
-        name: product_id
-        schema:
-          type: array
-          items:
-            type: string
-          minLength: 1
-        description: ID of the product, repeat for multiple products.
-        required: true
-        explode: true
-        style: form
+        - in: query
+          name: product_id
+          schema:
+            type: array
+            items:
+              type: string
+            minLength: 1
+          description: ID of the product, repeat for multiple products.
+          required: true
+          explode: true
+          style: form
       tags:
-      - appointments
+        - appointments
       responses:
         '200':
           content:
@@ -239,8 +239,9 @@ paths:
                 type: array
                 items:
                   type: object
-                  description: Een Form.io componentdefinitie. De `type`-, `key`-
-                    en `label`-eigenschappen zijn gegarandeerd aanwezig en niet-leeg.
+                  description:
+                    Een Form.io componentdefinitie. De `type`-, `key`- en `label`-eigenschappen zijn
+                    gegarandeerd aanwezig en niet-leeg.
                   properties:
                     type:
                       type: string
@@ -304,25 +305,25 @@ paths:
         you don't, then an empty list is returned.
       summary: List available dates for a given location and product
       parameters:
-      - in: query
-        name: location_id
-        schema:
-          type: string
-        description: ID of the location
-        required: true
-      - in: query
-        name: product_id
-        schema:
-          type: array
-          items:
+        - in: query
+          name: location_id
+          schema:
             type: string
-          minLength: 1
-        description: ID of the product, repeat for multiple products.
-        required: true
-        explode: true
-        style: form
+          description: ID of the location
+          required: true
+        - in: query
+          name: product_id
+          schema:
+            type: array
+            items:
+              type: string
+            minLength: 1
+          description: ID of the product, repeat for multiple products.
+          required: true
+          explode: true
+          style: form
       tags:
-      - appointments
+        - appointments
       responses:
         '200':
           content:
@@ -351,19 +352,19 @@ paths:
         you don't, then an empty list is returned.
       summary: List available locations for a given product
       parameters:
-      - in: query
-        name: product_id
-        schema:
-          type: array
-          items:
-            type: string
-          minLength: 1
-        description: ID of the product, repeat for multiple products.
-        required: true
-        explode: true
-        style: form
+        - in: query
+          name: product_id
+          schema:
+            type: array
+            items:
+              type: string
+            minLength: 1
+          description: ID of the product, repeat for multiple products.
+          required: true
+          explode: true
+          style: form
       tags:
-      - appointments
+        - appointments
       responses:
         '200':
           content:
@@ -388,18 +389,18 @@ paths:
       description: List all products a user can choose when making an appointment.
       summary: List available products
       parameters:
-      - in: query
-        name: product_id
-        schema:
-          type: array
-          items:
-            type: string
-          minLength: 1
-        description: ID of the product, repeat for multiple products.
-        explode: true
-        style: form
+        - in: query
+          name: product_id
+          schema:
+            type: array
+            items:
+              type: string
+            minLength: 1
+          description: ID of the product, repeat for multiple products.
+          explode: true
+          style: form
       tags:
-      - appointments
+        - appointments
       responses:
         '200':
           content:
@@ -428,32 +429,32 @@ paths:
         you don't, then an empty list is returned.
       summary: List available times for a given location, product, and date
       parameters:
-      - in: query
-        name: date
-        schema:
-          type: string
-          format: date
-        description: The date
-        required: true
-      - in: query
-        name: location_id
-        schema:
-          type: string
-        description: ID of the location
-        required: true
-      - in: query
-        name: product_id
-        schema:
-          type: array
-          items:
+        - in: query
+          name: date
+          schema:
             type: string
-          minLength: 1
-        description: ID of the product, repeat for multiple products.
-        required: true
-        explode: true
-        style: form
+            format: date
+          description: The date
+          required: true
+        - in: query
+          name: location_id
+          schema:
+            type: string
+          description: ID of the location
+          required: true
+        - in: query
+          name: product_id
+          schema:
+            type: array
+            items:
+              type: string
+            minLength: 1
+          description: ID of the product, repeat for multiple products.
+          required: true
+          explode: true
+          style: form
       tags:
-      - appointments
+        - appointments
       responses:
         '200':
           content:
@@ -475,26 +476,27 @@ paths:
   /api/v2/authentication/{uuid}/session:
     delete:
       operationId: submission_session_destroy
-      description: 'Calling this endpoint will clear the current form and submission
-        from the session. This also clears the form authentication state and calls
-        the authentication plugin logout handler, if authenticated. '
+      description:
+        'Calling this endpoint will clear the current form and submission from the session. This
+        also clears the form authentication state and calls the authentication plugin logout
+        handler, if authenticated. '
       summary: Delete form session
       parameters:
-      - in: path
-        name: uuid
-        schema:
-          type: string
-          format: uuid
-        required: true
-      - in: header
-        name: X-CSRFToken
-        schema:
-          type: string
-        required: true
+        - in: path
+          name: uuid
+          schema:
+            type: string
+            format: uuid
+          required: true
+        - in: header
+          name: X-CSRFToken
+          schema:
+            type: string
+          required: true
       tags:
-      - authentication
+        - authentication
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '204':
           description: No response body
@@ -519,9 +521,9 @@ paths:
         zero, one or multiple authentication attributes.
       summary: List available authentication plugins
       tags:
-      - authentication
+        - authentication
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -544,10 +546,10 @@ paths:
     get:
       operationId: categories_list
       tags:
-      - categories
+        - categories
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -570,17 +572,17 @@ paths:
     get:
       operationId: categories_retrieve
       parameters:
-      - in: path
-        name: uuid
-        schema:
-          type: string
-          format: uuid
-        required: true
+        - in: path
+          name: uuid
+          schema:
+            type: string
+            format: uuid
+          required: true
       tags:
-      - categories
+        - categories
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -602,10 +604,10 @@ paths:
       operationId: config_privacy_policy_info_retrieve
       summary: Privacybeleid informatie
       tags:
-      - config
+        - config
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       deprecated: true
       responses:
         '200':
@@ -629,19 +631,20 @@ paths:
       description: List the available decision definitions for a given plugin.
       summary: List available decision definitions
       parameters:
-      - in: query
-        name: engine
-        schema:
-          type: string
-          enum:
-          - camunda7
-        description: Identifier of the decision engine to query. Note that some engines
-          may be disabled at runtime.
-        required: true
+        - in: query
+          name: engine
+          schema:
+            type: string
+            enum:
+              - camunda7
+          description:
+            Identifier of the decision engine to query. Note that some engines may be disabled at
+            runtime.
+          required: true
       tags:
-      - dmn
+        - dmn
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -695,29 +698,30 @@ paths:
       operationId: dmn_decision_definitions_inputs_outputs_retrieve
       summary: Retrieve the decision definition input/output clauses
       parameters:
-      - in: query
-        name: definition
-        schema:
-          type: string
-        description: Identifier of the definition to retrieve available versions for.
-        required: true
-      - in: query
-        name: engine
-        schema:
-          type: string
-          enum:
-          - camunda7
-        description: Identifier of the decision engine to query. Note that some engines
-          may be disabled at runtime.
-        required: true
-      - in: query
-        name: version
-        schema:
-          type: string
+        - in: query
+          name: definition
+          schema:
+            type: string
+          description: Identifier of the definition to retrieve available versions for.
+          required: true
+        - in: query
+          name: engine
+          schema:
+            type: string
+            enum:
+              - camunda7
+          description:
+            Identifier of the decision engine to query. Note that some engines may be disabled at
+            runtime.
+          required: true
+        - in: query
+          name: version
+          schema:
+            type: string
       tags:
-      - dmn
+        - dmn
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -775,25 +779,26 @@ paths:
         definition ID.
       summary: List available decision definition versions
       parameters:
-      - in: query
-        name: definition
-        schema:
-          type: string
-        description: Identifier of the definition to retrieve available versions for.
-        required: true
-      - in: query
-        name: engine
-        schema:
-          type: string
-          enum:
-          - camunda7
-        description: Identifier of the decision engine to query. Note that some engines
-          may be disabled at runtime.
-        required: true
+        - in: query
+          name: definition
+          schema:
+            type: string
+          description: Identifier of the definition to retrieve available versions for.
+          required: true
+        - in: query
+          name: engine
+          schema:
+            type: string
+            enum:
+              - camunda7
+          description:
+            Identifier of the decision engine to query. Note that some engines may be disabled at
+            runtime.
+          required: true
       tags:
-      - dmn
+        - dmn
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -847,29 +852,30 @@ paths:
       operationId: dmn_decision_definitions_xml_retrieve
       summary: Retrieve the decision definition XML
       parameters:
-      - in: query
-        name: definition
-        schema:
-          type: string
-        description: Identifier of the definition to retrieve available versions for.
-        required: true
-      - in: query
-        name: engine
-        schema:
-          type: string
-          enum:
-          - camunda7
-        description: Identifier of the decision engine to query. Note that some engines
-          may be disabled at runtime.
-        required: true
-      - in: query
-        name: version
-        schema:
-          type: string
+        - in: query
+          name: definition
+          schema:
+            type: string
+          description: Identifier of the definition to retrieve available versions for.
+          required: true
+        - in: query
+          name: engine
+          schema:
+            type: string
+            enum:
+              - camunda7
+          description:
+            Identifier of the decision engine to query. Note that some engines may be disabled at
+            runtime.
+          required: true
+        - in: query
+          name: version
+          schema:
+            type: string
       tags:
-      - dmn
+        - dmn
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -922,9 +928,9 @@ paths:
       description: List all decision plugins that have been registered.
       summary: List available decision plugins
       tags:
-      - dmn
+        - dmn
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -975,27 +981,27 @@ paths:
         - `translations`
       summary: List form step definitions
       parameters:
-      - in: query
-        name: is_reusable
-        schema:
-          type: boolean
-      - name: page
-        required: false
-        in: query
-        description: A page number within the paginated result set.
-        schema:
-          type: integer
-      - in: query
-        name: used_in
-        schema:
-          type: string
-          format: uuid
+        - in: query
+          name: is_reusable
+          schema:
+            type: boolean
+        - name: page
+          required: false
+          in: query
+          description: A page number within the paginated result set.
+          schema:
+            type: integer
+        - in: query
+          name: used_in
+          schema:
+            type: string
+            format: uuid
       tags:
-      - forms
-      - form-definitions
+        - forms
+        - form-definitions
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -1023,8 +1029,8 @@ paths:
         - `translations`
       summary: Create a form definition
       tags:
-      - forms
-      - form-definitions
+        - forms
+        - form-definitions
       requestBody:
         content:
           application/json:
@@ -1032,8 +1038,8 @@ paths:
               $ref: '#/components/schemas/FormDefinition'
         required: true
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '201':
           content:
@@ -1062,18 +1068,18 @@ paths:
         - `translations`
       summary: Retrieve form step definition details
       parameters:
-      - in: path
-        name: uuid
-        schema:
-          type: string
-          format: uuid
-        required: true
+        - in: path
+          name: uuid
+          schema:
+            type: string
+            format: uuid
+          required: true
       tags:
-      - forms
-      - form-definitions
+        - forms
+        - form-definitions
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -1101,15 +1107,15 @@ paths:
         - `translations`
       summary: Update all details of a form definition
       parameters:
-      - in: path
-        name: uuid
-        schema:
-          type: string
-          format: uuid
-        required: true
+        - in: path
+          name: uuid
+          schema:
+            type: string
+            format: uuid
+          required: true
       tags:
-      - forms
-      - form-definitions
+        - forms
+        - form-definitions
       requestBody:
         content:
           application/json:
@@ -1117,8 +1123,8 @@ paths:
               $ref: '#/components/schemas/FormDefinition'
         required: true
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -1146,23 +1152,23 @@ paths:
         - `translations`
       summary: Update some details of a form definition
       parameters:
-      - in: path
-        name: uuid
-        schema:
-          type: string
-          format: uuid
-        required: true
+        - in: path
+          name: uuid
+          schema:
+            type: string
+            format: uuid
+          required: true
       tags:
-      - forms
-      - form-definitions
+        - forms
+        - form-definitions
       requestBody:
         content:
           application/json:
             schema:
               $ref: '#/components/schemas/PatchedFormDefinition'
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -1190,18 +1196,18 @@ paths:
         - `translations`
       summary: Delete a form definition
       parameters:
-      - in: path
-        name: uuid
-        schema:
-          type: string
-          format: uuid
-        required: true
+        - in: path
+          name: uuid
+          schema:
+            type: string
+            format: uuid
+          required: true
       tags:
-      - forms
-      - form-definitions
+        - forms
+        - form-definitions
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '204':
           description: No response body
@@ -1225,18 +1231,18 @@ paths:
         may be custom field types in play.
       summary: Retrieve form definition JSON schema
       parameters:
-      - in: path
-        name: uuid
-        schema:
-          type: string
-          format: uuid
-        required: true
+        - in: path
+          name: uuid
+          schema:
+            type: string
+            format: uuid
+          required: true
       tags:
-      - forms
-      - form-definitions
+        - forms
+        - form-definitions
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -1267,7 +1273,7 @@ paths:
         De maximale toegestane upload-bestandsgrootte is `50,0 MB` voor deze instantie. Merk op dat dit inclusief multipart-metadata en boundaries is. De daadwerkelijke maximale bestandsgrootte is dus iets lager dan deze waarde.
       summary: Create temporary file upload
       tags:
-      - formio
+        - formio
       requestBody:
         content:
           multipart/form-data:
@@ -1275,7 +1281,7 @@ paths:
               $ref: '#/components/schemas/TemporaryFileUpload'
         required: true
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -1308,11 +1314,11 @@ paths:
             Content-Language:
               $ref: '#/components/headers/Content-Language'
       parameters:
-      - in: header
-        name: X-CSRFToken
-        schema:
-          type: string
-        required: true
+        - in: header
+          name: X-CSRFToken
+          schema:
+            type: string
+          required: true
   /api/v2/forms:
     get:
       operationId: forms_list
@@ -1348,21 +1354,21 @@ paths:
         - `brpPersonenRequestOptions`
       summary: List forms
       parameters:
-      - in: header
-        name: X-CSP-Nonce
-        schema:
-          type: string
-        description: The value of the CSP nonce generated by the page embedding the
-          SDK. If provided, fields containing rich text from WYSIWYG editors will
-          be post-processed to allow inline styles with the provided nonce. If the
-          embedding page emits a `style-src` policy containing `unsafe-inline`, then
-          you can omit this header without losing functionality. We recommend favouring
-          the nonce mechanism though.
+        - in: header
+          name: X-CSP-Nonce
+          schema:
+            type: string
+          description:
+            The value of the CSP nonce generated by the page embedding the SDK. If provided, fields
+            containing rich text from WYSIWYG editors will be post-processed to allow inline styles
+            with the provided nonce. If the embedding page emits a `style-src` policy containing
+            `unsafe-inline`, then you can omit this header without losing functionality. We
+            recommend favouring the nonce mechanism though.
       tags:
-      - forms
+        - forms
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -1421,18 +1427,18 @@ paths:
         - `brpPersonenRequestOptions`
       summary: Create form
       parameters:
-      - in: header
-        name: X-CSP-Nonce
-        schema:
-          type: string
-        description: The value of the CSP nonce generated by the page embedding the
-          SDK. If provided, fields containing rich text from WYSIWYG editors will
-          be post-processed to allow inline styles with the provided nonce. If the
-          embedding page emits a `style-src` policy containing `unsafe-inline`, then
-          you can omit this header without losing functionality. We recommend favouring
-          the nonce mechanism though.
+        - in: header
+          name: X-CSP-Nonce
+          schema:
+            type: string
+          description:
+            The value of the CSP nonce generated by the page embedding the SDK. If provided, fields
+            containing rich text from WYSIWYG editors will be post-processed to allow inline styles
+            with the provided nonce. If the embedding page emits a `style-src` policy containing
+            `unsafe-inline`, then you can omit this header without losing functionality. We
+            recommend favouring the nonce mechanism though.
       tags:
-      - forms
+        - forms
       requestBody:
         content:
           application/json:
@@ -1440,8 +1446,8 @@ paths:
               $ref: '#/components/schemas/Form'
         required: true
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '201':
           content:
@@ -1466,7 +1472,7 @@ paths:
         and FormSteps
       summary: Import form
       tags:
-      - forms
+        - forms
       requestBody:
         content:
           '*/*':
@@ -1474,7 +1480,7 @@ paths:
               $ref: '#/components/schemas/FormImport'
         required: true
       security:
-      - tokenAuth: []
+        - tokenAuth: []
       responses:
         '204':
           content:
@@ -1503,17 +1509,17 @@ paths:
         - `translations`
       summary: List form steps
       parameters:
-      - in: path
-        name: form_uuid_or_slug
-        schema:
-          type: string
-        description: Either a UUID4 or a slug identifiying the form.
-        required: true
+        - in: path
+          name: form_uuid_or_slug
+          schema:
+            type: string
+          description: Either a UUID4 or a slug identifiying the form.
+          required: true
       tags:
-      - forms
+        - forms
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -1543,14 +1549,14 @@ paths:
         - `translations`
       summary: Create a form step
       parameters:
-      - in: path
-        name: form_uuid_or_slug
-        schema:
-          type: string
-        description: Either a UUID4 or a slug identifiying the form.
-        required: true
+        - in: path
+          name: form_uuid_or_slug
+          schema:
+            type: string
+          description: Either a UUID4 or a slug identifiying the form.
+          required: true
       tags:
-      - forms
+        - forms
       requestBody:
         content:
           application/json:
@@ -1564,8 +1570,8 @@ paths:
               $ref: '#/components/schemas/FormStep'
         required: true
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '201':
           content:
@@ -1594,23 +1600,23 @@ paths:
         - `translations`
       summary: Retrieve form step details
       parameters:
-      - in: path
-        name: form_uuid_or_slug
-        schema:
-          type: string
-        description: Either a UUID4 or a slug identifiying the form.
-        required: true
-      - in: path
-        name: uuid
-        schema:
-          type: string
-          format: uuid
-        required: true
+        - in: path
+          name: form_uuid_or_slug
+          schema:
+            type: string
+          description: Either a UUID4 or a slug identifiying the form.
+          required: true
+        - in: path
+          name: uuid
+          schema:
+            type: string
+            format: uuid
+          required: true
       tags:
-      - forms
+        - forms
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -1638,20 +1644,20 @@ paths:
         - `translations`
       summary: Update all details of a form step
       parameters:
-      - in: path
-        name: form_uuid_or_slug
-        schema:
-          type: string
-        description: Either a UUID4 or a slug identifiying the form.
-        required: true
-      - in: path
-        name: uuid
-        schema:
-          type: string
-          format: uuid
-        required: true
+        - in: path
+          name: form_uuid_or_slug
+          schema:
+            type: string
+          description: Either a UUID4 or a slug identifiying the form.
+          required: true
+        - in: path
+          name: uuid
+          schema:
+            type: string
+            format: uuid
+          required: true
       tags:
-      - forms
+        - forms
       requestBody:
         content:
           application/json:
@@ -1665,8 +1671,8 @@ paths:
               $ref: '#/components/schemas/FormStep'
         required: true
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -1694,20 +1700,20 @@ paths:
         - `translations`
       summary: Update some details of a form step
       parameters:
-      - in: path
-        name: form_uuid_or_slug
-        schema:
-          type: string
-        description: Either a UUID4 or a slug identifiying the form.
-        required: true
-      - in: path
-        name: uuid
-        schema:
-          type: string
-          format: uuid
-        required: true
+        - in: path
+          name: form_uuid_or_slug
+          schema:
+            type: string
+          description: Either a UUID4 or a slug identifiying the form.
+          required: true
+        - in: path
+          name: uuid
+          schema:
+            type: string
+            format: uuid
+          required: true
       tags:
-      - forms
+        - forms
       requestBody:
         content:
           application/json:
@@ -1720,8 +1726,8 @@ paths:
             schema:
               $ref: '#/components/schemas/PatchedFormStep'
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -1749,23 +1755,23 @@ paths:
         - `translations`
       summary: Delete a form step
       parameters:
-      - in: path
-        name: form_uuid_or_slug
-        schema:
-          type: string
-        description: Either a UUID4 or a slug identifiying the form.
-        required: true
-      - in: path
-        name: uuid
-        schema:
-          type: string
-          format: uuid
-        required: true
+        - in: path
+          name: form_uuid_or_slug
+          schema:
+            type: string
+          description: Either a UUID4 or a slug identifiying the form.
+          required: true
+        - in: path
+          name: uuid
+          schema:
+            type: string
+            format: uuid
+          required: true
       tags:
-      - forms
+        - forms
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '204':
           description: No response body
@@ -1783,17 +1789,17 @@ paths:
       operationId: forms_versions_list
       summary: List form versions
       parameters:
-      - in: path
-        name: form_uuid_or_slug
-        schema:
-          type: string
-        description: Either a UUID4 or a slug identifying the form.
-        required: true
+        - in: path
+          name: form_uuid_or_slug
+          schema:
+            type: string
+          description: Either a UUID4 or a slug identifying the form.
+          required: true
       tags:
-      - forms
+        - forms
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -1817,14 +1823,14 @@ paths:
       description: Save the current version of the form so that it can later be retrieved
       summary: Save form version
       parameters:
-      - in: path
-        name: form_uuid_or_slug
-        schema:
-          type: string
-        description: Either a UUID4 or a slug identifying the form.
-        required: true
+        - in: path
+          name: form_uuid_or_slug
+          schema:
+            type: string
+          description: Either a UUID4 or a slug identifying the form.
+          required: true
       tags:
-      - forms
+        - forms
       requestBody:
         content:
           application/json:
@@ -1837,8 +1843,8 @@ paths:
             schema:
               $ref: '#/components/schemas/FormVersion'
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '201':
           content:
@@ -1861,20 +1867,20 @@ paths:
       description: Restore a previously saved version of a form.
       summary: Restore form version
       parameters:
-      - in: path
-        name: form_uuid_or_slug
-        schema:
-          type: string
-        description: Either a UUID4 or a slug identifying the form.
-        required: true
-      - in: path
-        name: uuid
-        schema:
-          type: string
-        description: The UUID of the form version
-        required: true
+        - in: path
+          name: form_uuid_or_slug
+          schema:
+            type: string
+          description: Either a UUID4 or a slug identifying the form.
+          required: true
+        - in: path
+          name: uuid
+          schema:
+            type: string
+          description: The UUID of the form version
+          required: true
       tags:
-      - forms
+        - forms
       requestBody:
         content:
           application/json:
@@ -1887,8 +1893,8 @@ paths:
             schema:
               $ref: '#/components/schemas/FormVersion'
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '204':
           description: No response body
@@ -1940,27 +1946,27 @@ paths:
         Wanneer meertaligheid niet ingeschakeld is voor het formulier, dan wordt de standaardtaal (`settings.LANGUAGE_CODE`) geforceerd gezet in een language cookie. De actieve taal wordt gecommuniceerd in de Content-Language response header. De gebruikelijke HTTP Content Negotiation principes zijn van toepassing.
       summary: Retrieve form details
       parameters:
-      - in: header
-        name: X-CSP-Nonce
-        schema:
-          type: string
-        description: The value of the CSP nonce generated by the page embedding the
-          SDK. If provided, fields containing rich text from WYSIWYG editors will
-          be post-processed to allow inline styles with the provided nonce. If the
-          embedding page emits a `style-src` policy containing `unsafe-inline`, then
-          you can omit this header without losing functionality. We recommend favouring
-          the nonce mechanism though.
-      - in: path
-        name: uuid_or_slug
-        schema:
-          type: string
-        description: Either a UUID4 or a slug identifiying the form.
-        required: true
+        - in: header
+          name: X-CSP-Nonce
+          schema:
+            type: string
+          description:
+            The value of the CSP nonce generated by the page embedding the SDK. If provided, fields
+            containing rich text from WYSIWYG editors will be post-processed to allow inline styles
+            with the provided nonce. If the embedding page emits a `style-src` policy containing
+            `unsafe-inline`, then you can omit this header without losing functionality. We
+            recommend favouring the nonce mechanism though.
+        - in: path
+          name: uuid_or_slug
+          schema:
+            type: string
+          description: Either a UUID4 or a slug identifiying the form.
+          required: true
       tags:
-      - forms
+        - forms
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -2017,24 +2023,24 @@ paths:
         - `brpPersonenRequestOptions`
       summary: Update all details of a form
       parameters:
-      - in: header
-        name: X-CSP-Nonce
-        schema:
-          type: string
-        description: The value of the CSP nonce generated by the page embedding the
-          SDK. If provided, fields containing rich text from WYSIWYG editors will
-          be post-processed to allow inline styles with the provided nonce. If the
-          embedding page emits a `style-src` policy containing `unsafe-inline`, then
-          you can omit this header without losing functionality. We recommend favouring
-          the nonce mechanism though.
-      - in: path
-        name: uuid_or_slug
-        schema:
-          type: string
-        description: Either a UUID4 or a slug identifiying the form.
-        required: true
+        - in: header
+          name: X-CSP-Nonce
+          schema:
+            type: string
+          description:
+            The value of the CSP nonce generated by the page embedding the SDK. If provided, fields
+            containing rich text from WYSIWYG editors will be post-processed to allow inline styles
+            with the provided nonce. If the embedding page emits a `style-src` policy containing
+            `unsafe-inline`, then you can omit this header without losing functionality. We
+            recommend favouring the nonce mechanism though.
+        - in: path
+          name: uuid_or_slug
+          schema:
+            type: string
+          description: Either a UUID4 or a slug identifiying the form.
+          required: true
       tags:
-      - forms
+        - forms
       requestBody:
         content:
           application/json:
@@ -2042,8 +2048,8 @@ paths:
               $ref: '#/components/schemas/Form'
         required: true
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -2100,32 +2106,32 @@ paths:
         - `brpPersonenRequestOptions`
       summary: Update given details of a form
       parameters:
-      - in: header
-        name: X-CSP-Nonce
-        schema:
-          type: string
-        description: The value of the CSP nonce generated by the page embedding the
-          SDK. If provided, fields containing rich text from WYSIWYG editors will
-          be post-processed to allow inline styles with the provided nonce. If the
-          embedding page emits a `style-src` policy containing `unsafe-inline`, then
-          you can omit this header without losing functionality. We recommend favouring
-          the nonce mechanism though.
-      - in: path
-        name: uuid_or_slug
-        schema:
-          type: string
-        description: Either a UUID4 or a slug identifiying the form.
-        required: true
+        - in: header
+          name: X-CSP-Nonce
+          schema:
+            type: string
+          description:
+            The value of the CSP nonce generated by the page embedding the SDK. If provided, fields
+            containing rich text from WYSIWYG editors will be post-processed to allow inline styles
+            with the provided nonce. If the embedding page emits a `style-src` policy containing
+            `unsafe-inline`, then you can omit this header without losing functionality. We
+            recommend favouring the nonce mechanism though.
+        - in: path
+          name: uuid_or_slug
+          schema:
+            type: string
+          description: Either a UUID4 or a slug identifiying the form.
+          required: true
       tags:
-      - forms
+        - forms
       requestBody:
         content:
           application/json:
             schema:
               $ref: '#/components/schemas/PatchedForm'
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -2144,31 +2150,32 @@ paths:
               $ref: '#/components/headers/Content-Language'
     delete:
       operationId: forms_destroy
-      description: Destroying a form leads to a soft-delete to protect related submissions.
-        These deleted forms are no longer visible in the API endpoints.
+      description:
+        Destroying a form leads to a soft-delete to protect related submissions. These deleted forms
+        are no longer visible in the API endpoints.
       summary: Mark form as deleted
       parameters:
-      - in: header
-        name: X-CSP-Nonce
-        schema:
-          type: string
-        description: The value of the CSP nonce generated by the page embedding the
-          SDK. If provided, fields containing rich text from WYSIWYG editors will
-          be post-processed to allow inline styles with the provided nonce. If the
-          embedding page emits a `style-src` policy containing `unsafe-inline`, then
-          you can omit this header without losing functionality. We recommend favouring
-          the nonce mechanism though.
-      - in: path
-        name: uuid_or_slug
-        schema:
-          type: string
-        description: Either a UUID4 or a slug identifiying the form.
-        required: true
+        - in: header
+          name: X-CSP-Nonce
+          schema:
+            type: string
+          description:
+            The value of the CSP nonce generated by the page embedding the SDK. If provided, fields
+            containing rich text from WYSIWYG editors will be post-processed to allow inline styles
+            with the provided nonce. If the embedding page emits a `style-src` policy containing
+            `unsafe-inline`, then you can omit this header without losing functionality. We
+            recommend favouring the nonce mechanism though.
+        - in: path
+          name: uuid_or_slug
+          schema:
+            type: string
+          description: Either a UUID4 or a slug identifiying the form.
+          required: true
       tags:
-      - forms
+        - forms
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '204':
           description: No response body
@@ -2195,24 +2202,24 @@ paths:
         in the admin environment.
       summary: Prepare form edit admin message
       parameters:
-      - in: header
-        name: X-CSP-Nonce
-        schema:
-          type: string
-        description: The value of the CSP nonce generated by the page embedding the
-          SDK. If provided, fields containing rich text from WYSIWYG editors will
-          be post-processed to allow inline styles with the provided nonce. If the
-          embedding page emits a `style-src` policy containing `unsafe-inline`, then
-          you can omit this header without losing functionality. We recommend favouring
-          the nonce mechanism though.
-      - in: path
-        name: uuid_or_slug
-        schema:
-          type: string
-        description: Either a UUID4 or a slug identifiying the form.
-        required: true
+        - in: header
+          name: X-CSP-Nonce
+          schema:
+            type: string
+          description:
+            The value of the CSP nonce generated by the page embedding the SDK. If provided, fields
+            containing rich text from WYSIWYG editors will be post-processed to allow inline styles
+            with the provided nonce. If the embedding page emits a `style-src` policy containing
+            `unsafe-inline`, then you can omit this header without losing functionality. We
+            recommend favouring the nonce mechanism though.
+        - in: path
+          name: uuid_or_slug
+          schema:
+            type: string
+          description: Either a UUID4 or a slug identifiying the form.
+          required: true
       tags:
-      - admin
+        - admin
       requestBody:
         content:
           application/json:
@@ -2220,8 +2227,8 @@ paths:
               $ref: '#/components/schemas/FormAdminMessage'
         required: true
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '201':
           content:
@@ -2247,26 +2254,26 @@ paths:
         The exported ZIP-file can be used to import complete forms.
       summary: Export form
       parameters:
-      - in: header
-        name: X-CSP-Nonce
-        schema:
-          type: string
-        description: The value of the CSP nonce generated by the page embedding the
-          SDK. If provided, fields containing rich text from WYSIWYG editors will
-          be post-processed to allow inline styles with the provided nonce. If the
-          embedding page emits a `style-src` policy containing `unsafe-inline`, then
-          you can omit this header without losing functionality. We recommend favouring
-          the nonce mechanism though.
-      - in: path
-        name: uuid_or_slug
-        schema:
-          type: string
-        description: Either a UUID4 or a slug identifiying the form.
-        required: true
+        - in: header
+          name: X-CSP-Nonce
+          schema:
+            type: string
+          description:
+            The value of the CSP nonce generated by the page embedding the SDK. If provided, fields
+            containing rich text from WYSIWYG editors will be post-processed to allow inline styles
+            with the provided nonce. If the embedding page emits a `style-src` policy containing
+            `unsafe-inline`, then you can omit this header without losing functionality. We
+            recommend favouring the nonce mechanism though.
+        - in: path
+          name: uuid_or_slug
+          schema:
+            type: string
+          description: Either a UUID4 or a slug identifiying the form.
+          required: true
       tags:
-      - forms
+        - forms
       security:
-      - tokenAuth: []
+        - tokenAuth: []
       responses:
         '200':
           content:
@@ -2290,17 +2297,17 @@ paths:
       description: List all logic rules defined for a form.
       summary: List logic rules
       parameters:
-      - in: path
-        name: uuid_or_slug
-        schema:
-          type: integer
-        description: A unique integer value identifying this form.
-        required: true
+        - in: path
+          name: uuid_or_slug
+          schema:
+            type: integer
+          description: A unique integer value identifying this form.
+          required: true
       tags:
-      - logic-rules
+        - logic-rules
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -2381,28 +2388,29 @@ paths:
               $ref: '#/components/headers/Content-Language'
     put:
       operationId: forms_logic_rules_update
-      description: By sending a list of LogicRules to this endpoint, all the LogicRules
-        related to the form will be replaced with the data sent to the endpoint.
+      description:
+        By sending a list of LogicRules to this endpoint, all the LogicRules related to the form
+        will be replaced with the data sent to the endpoint.
       summary: Bulk configure logic rules
       parameters:
-      - in: header
-        name: X-CSP-Nonce
-        schema:
-          type: string
-        description: The value of the CSP nonce generated by the page embedding the
-          SDK. If provided, fields containing rich text from WYSIWYG editors will
-          be post-processed to allow inline styles with the provided nonce. If the
-          embedding page emits a `style-src` policy containing `unsafe-inline`, then
-          you can omit this header without losing functionality. We recommend favouring
-          the nonce mechanism though.
-      - in: path
-        name: uuid_or_slug
-        schema:
-          type: integer
-        description: A unique integer value identifying this form.
-        required: true
+        - in: header
+          name: X-CSP-Nonce
+          schema:
+            type: string
+          description:
+            The value of the CSP nonce generated by the page embedding the SDK. If provided, fields
+            containing rich text from WYSIWYG editors will be post-processed to allow inline styles
+            with the provided nonce. If the embedding page emits a `style-src` policy containing
+            `unsafe-inline`, then you can omit this header without losing functionality. We
+            recommend favouring the nonce mechanism though.
+        - in: path
+          name: uuid_or_slug
+          schema:
+            type: integer
+          description: A unique integer value identifying this form.
+          required: true
       tags:
-      - logic-rules
+        - logic-rules
       requestBody:
         content:
           application/json:
@@ -2412,8 +2420,8 @@ paths:
                 $ref: '#/components/schemas/FormLogic'
         required: true
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -2513,25 +2521,25 @@ paths:
       description: List all variables defined for a form.
       summary: List form variables
       parameters:
-      - in: query
-        name: source
-        schema:
-          type: string
-          enum:
-          - component
-          - user_defined
-        description: Filter by form variable source
-      - in: path
-        name: uuid_or_slug
-        schema:
-          type: integer
-        description: A unique integer value identifying this form.
-        required: true
+        - in: query
+          name: source
+          schema:
+            type: string
+            enum:
+              - component
+              - user_defined
+          description: Filter by form variable source
+        - in: path
+          name: uuid_or_slug
+          schema:
+            type: integer
+          description: A unique integer value identifying this form.
+          required: true
       tags:
-      - forms
+        - forms
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -2612,28 +2620,29 @@ paths:
               $ref: '#/components/headers/Content-Language'
     put:
       operationId: forms_variables_update
-      description: By sending a list of FormVariables to this endpoint, all the FormVariables
-        related to the form will be replaced with the data sent to the endpoint.
+      description:
+        By sending a list of FormVariables to this endpoint, all the FormVariables related to the
+        form will be replaced with the data sent to the endpoint.
       summary: Bulk configure form variables
       parameters:
-      - in: header
-        name: X-CSP-Nonce
-        schema:
-          type: string
-        description: The value of the CSP nonce generated by the page embedding the
-          SDK. If provided, fields containing rich text from WYSIWYG editors will
-          be post-processed to allow inline styles with the provided nonce. If the
-          embedding page emits a `style-src` policy containing `unsafe-inline`, then
-          you can omit this header without losing functionality. We recommend favouring
-          the nonce mechanism though.
-      - in: path
-        name: uuid_or_slug
-        schema:
-          type: integer
-        description: A unique integer value identifying this form.
-        required: true
+        - in: header
+          name: X-CSP-Nonce
+          schema:
+            type: string
+          description:
+            The value of the CSP nonce generated by the page embedding the SDK. If provided, fields
+            containing rich text from WYSIWYG editors will be post-processed to allow inline styles
+            with the provided nonce. If the embedding page emits a `style-src` policy containing
+            `unsafe-inline`, then you can omit this header without losing functionality. We
+            recommend favouring the nonce mechanism though.
+        - in: path
+          name: uuid_or_slug
+          schema:
+            type: integer
+          description: A unique integer value identifying this form.
+          required: true
       tags:
-      - forms
+        - forms
       requestBody:
         content:
           application/json:
@@ -2643,8 +2652,8 @@ paths:
                 $ref: '#/components/schemas/FormVariable'
         required: true
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -2741,24 +2750,23 @@ paths:
   /api/v2/geo/address-autocomplete:
     get:
       operationId: geo_address_autocomplete_retrieve
-      description: Get the street name and city for a given postal code and house
-        number.
+      description: Get the street name and city for a given postal code and house number.
       summary: Get a street name and city
       parameters:
-      - in: query
-        name: house_number
-        schema:
-          type: number
-        description: House number of the address
-        required: true
-      - in: query
-        name: postcode
-        schema:
-          type: string
-        description: Postal code of the address
-        required: true
+        - in: query
+          name: house_number
+          schema:
+            type: number
+          description: House number of the address
+          required: true
+        - in: query
+          name: postcode
+          schema:
+            type: string
+          description: Postal code of the address
+          required: true
       tags:
-      - geo
+        - geo
       deprecated: true
       responses:
         '200':
@@ -2785,15 +2793,15 @@ paths:
         The results are retrieved from the configured geo search service, defaulting to the Kadaster location server.
       summary: List address suggestions with coordinates.
       parameters:
-      - in: query
-        name: q
-        schema:
-          type: string
-        description: Search query for the address to retrieve suggestions with geo-information
-          for.
-        required: true
+        - in: query
+          name: q
+          schema:
+            type: string
+          description:
+            Search query for the address to retrieve suggestions with geo-information for.
+          required: true
       tags:
-      - geo
+        - geo
       responses:
         '200':
           content:
@@ -2848,22 +2856,22 @@ paths:
       description: Get the closest address name based on the given longitude and latitude.
       summary: Get an adress based on coordinates
       parameters:
-      - in: query
-        name: lat
-        schema:
-          type: number
-          format: float
-        description: The latitude of the location, in decimal degrees.
-        required: true
-      - in: query
-        name: lng
-        schema:
-          type: number
-          format: float
-        description: The longitude of the location, in decimal degrees.
-        required: true
+        - in: query
+          name: lat
+          schema:
+            type: number
+            format: float
+          description: The latitude of the location, in decimal degrees.
+          required: true
+        - in: query
+          name: lng
+          schema:
+            type: number
+            format: float
+          description: The longitude of the location, in decimal degrees.
+          required: true
       tags:
-      - geo
+        - geo
       responses:
         '200':
           content:
@@ -2927,19 +2935,19 @@ paths:
       description: Retrieve the translations for the strings used by FormIO.
       summary: Get FormIO translations
       parameters:
-      - in: path
-        name: language
-        schema:
-          type: string
-          enum:
-          - en
-          - nl
-        description: Language code to retrieve the messages for.
-        required: true
+        - in: path
+          name: language
+          schema:
+            type: string
+            enum:
+              - en
+              - nl
+          description: Language code to retrieve the messages for.
+          required: true
       tags:
-      - translations
+        - translations
       security:
-      - {}
+        - {}
       responses:
         '200':
           content:
@@ -2993,7 +3001,7 @@ paths:
       operationId: i18n_info_retrieve
       summary: List available languages and the currently active one.
       tags:
-      - translations
+        - translations
       responses:
         '200':
           content:
@@ -3004,10 +3012,10 @@ paths:
                 SelectedDutch:
                   value:
                     languages:
-                    - code: en
-                      name: English
-                    - code: nl
-                      name: Nederlands
+                      - code: en
+                        name: English
+                      - code: nl
+                        name: Nederlands
                     current: nl
                   summary: Selected Dutch
           description: ''
@@ -3025,7 +3033,7 @@ paths:
       operationId: i18n_language_update
       summary: Set the desired language
       tags:
-      - translations
+        - translations
       requestBody:
         content:
           application/json:
@@ -3109,7 +3117,7 @@ paths:
         returns HTTP 400 validation errors.
       summary: Generate JsonLogic description
       tags:
-      - logic
+        - logic
       requestBody:
         content:
           application/json:
@@ -3123,8 +3131,8 @@ paths:
               $ref: '#/components/schemas/LogicDescription'
         required: true
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -3192,17 +3200,18 @@ paths:
       description: List the available catalogues.
       summary: List available Catalogi from the provided Objects API group
       parameters:
-      - in: query
-        name: objects_api_group
-        schema:
-          type: integer
-        description: The primary key of the Objects API group to use. The informatieobjecttypen
-          from the Catalogi API in this group will be returned.
-        required: true
+        - in: query
+          name: objects_api_group
+          schema:
+            type: integer
+          description:
+            The primary key of the Objects API group to use. The informatieobjecttypen from the
+            Catalogi API in this group will be returned.
+          required: true
       tags:
-      - contrib
+        - contrib
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -3230,38 +3239,39 @@ paths:
         Each InformatieObjectType is uniquely identified by its 'omschrijving', 'catalogus',
         and beginning and end date. If multiple same InformatieObjectTypen exist for different dates,
         only one entry is returned.
-      summary: List the available InformatieObjectTypen from the provided Objects
-        API group
+      summary: List the available InformatieObjectTypen from the provided Objects API group
       parameters:
-      - in: query
-        name: case_type_identification
-        schema:
-          type: string
-          default: ''
-          minLength: 1
-        description: Filter document types for a given case type. The identification
-          is unique within the catalogue for a case type. Note that multiple versions
-          of the same case type with the same identification exist. The filter returns
-          a document type if it occurs within any version of the specified case type.
-      - in: query
-        name: catalogue_url
-        schema:
-          type: string
-          format: uri
-          default: ''
-          minLength: 1
-        description: Filter document types against this catalogue URL.
-      - in: query
-        name: objects_api_group
-        schema:
-          type: integer
-        description: The primary key of the Objects API group to use. The informatieobjecttypen
-          from the Catalogi API in this group will be returned.
-        required: true
+        - in: query
+          name: case_type_identification
+          schema:
+            type: string
+            default: ''
+            minLength: 1
+          description:
+            Filter document types for a given case type. The identification is unique within the
+            catalogue for a case type. Note that multiple versions of the same case type with the
+            same identification exist. The filter returns a document type if it occurs within any
+            version of the specified case type.
+        - in: query
+          name: catalogue_url
+          schema:
+            type: string
+            format: uri
+            default: ''
+            minLength: 1
+          description: Filter document types against this catalogue URL.
+        - in: query
+          name: objects_api_group
+          schema:
+            type: integer
+          description:
+            The primary key of the Objects API group to use. The informatieobjecttypen from the
+            Catalogi API in this group will be returned.
+          required: true
       tags:
-      - contrib
+        - contrib
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -3288,15 +3298,15 @@ paths:
 
         Note that the response data is essentially proxied from the configured Objecttypes API.
       parameters:
-      - in: query
-        name: objects_api_group
-        schema:
-          type: string
-        description: Which Objects API group to use.
+        - in: query
+          name: objects_api_group
+          schema:
+            type: string
+          description: Which Objects API group to use.
       tags:
-      - contrib
+        - contrib
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -3323,21 +3333,21 @@ paths:
 
         Note that the response data is essentially proxied from the configured Objecttypes API.
       parameters:
-      - in: query
-        name: objects_api_group
-        schema:
-          type: string
-        description: Which Objects API group to use.
-      - in: path
-        name: objecttype_uuid
-        schema:
-          type: string
-          format: uuid
-        required: true
+        - in: query
+          name: objects_api_group
+          schema:
+            type: string
+          description: Which Objects API group to use.
+        - in: path
+          name: objecttype_uuid
+          schema:
+            type: string
+            format: uuid
+          required: true
       tags:
-      - contrib
+        - contrib
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -3366,10 +3376,10 @@ paths:
         provider.
       summary: List available payment plugins
       tags:
-      - payment
+        - payment
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -3391,13 +3401,14 @@ paths:
   /api/v2/ping:
     get:
       operationId: ping_retrieve
-      description: Pinging the API extends the user session. Note that you must be
-        a staff user or have active submission(s) in your session.
+      description:
+        Pinging the API extends the user session. Note that you must be a staff user or have active
+        submission(s) in your session.
       summary: Ping the API
       tags:
-      - ping
+        - ping
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '204':
           description: No response body
@@ -3431,15 +3442,15 @@ paths:
       description: List all prefill plugins that have been registered.
       summary: List available prefill plugins
       parameters:
-      - in: query
-        name: componentType
-        schema:
-          type: string
-        description: Geef enkel plugins die relevant zijn voor het opgegeven componenttype.
+        - in: query
+          name: componentType
+          schema:
+            type: string
+          description: Geef enkel plugins die relevant zijn voor het opgegeven componenttype.
       tags:
-      - prefill
+        - prefill
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -3464,15 +3475,15 @@ paths:
       description: List the available prefill attributes for a given plugin.
       summary: List available attributes
       parameters:
-      - in: path
-        name: plugin
-        schema:
-          type: string
-        required: true
+        - in: path
+          name: plugin
+          schema:
+            type: string
+          required: true
       tags:
-      - prefill
+        - prefill
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -3497,26 +3508,26 @@ paths:
       description: List the available JSON properties defined on a particular objecttype.
       summary: List available attributes for Objects API
       parameters:
-      - in: query
-        name: objects_api_group
-        schema:
-          type: string
-        description: Which Objects API group to use.
-      - in: path
-        name: objecttype_uuid
-        schema:
-          type: string
-          format: uuid
-        required: true
-      - in: path
-        name: objecttype_version
-        schema:
-          type: integer
-        required: true
+        - in: query
+          name: objects_api_group
+          schema:
+            type: string
+          description: Which Objects API group to use.
+        - in: path
+          name: objecttype_uuid
+          schema:
+            type: string
+            format: uuid
+          required: true
+        - in: path
+          name: objecttype_version
+          schema:
+            type: integer
+          required: true
       tags:
-      - prefill
+        - prefill
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -3546,21 +3557,21 @@ paths:
         probably a dedicated products catalogue will become relevant.
       summary: List available products
       parameters:
-      - in: header
-        name: X-CSP-Nonce
-        schema:
-          type: string
-        description: The value of the CSP nonce generated by the page embedding the
-          SDK. If provided, fields containing rich text from WYSIWYG editors will
-          be post-processed to allow inline styles with the provided nonce. If the
-          embedding page emits a `style-src` policy containing `unsafe-inline`, then
-          you can omit this header without losing functionality. We recommend favouring
-          the nonce mechanism though.
+        - in: header
+          name: X-CSP-Nonce
+          schema:
+            type: string
+          description:
+            The value of the CSP nonce generated by the page embedding the SDK. If provided, fields
+            containing rich text from WYSIWYG editors will be post-processed to allow inline styles
+            with the provided nonce. If the embedding page emits a `style-src` policy containing
+            `unsafe-inline`, then you can omit this header without losing functionality. We
+            recommend favouring the nonce mechanism though.
       tags:
-      - products
+        - products
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -3590,28 +3601,28 @@ paths:
         probably a dedicated products catalogue will become relevant.
       summary: Retrieve details of a single product
       parameters:
-      - in: header
-        name: X-CSP-Nonce
-        schema:
-          type: string
-        description: The value of the CSP nonce generated by the page embedding the
-          SDK. If provided, fields containing rich text from WYSIWYG editors will
-          be post-processed to allow inline styles with the provided nonce. If the
-          embedding page emits a `style-src` policy containing `unsafe-inline`, then
-          you can omit this header without losing functionality. We recommend favouring
-          the nonce mechanism though.
-      - in: path
-        name: uuid
-        schema:
-          type: string
-          format: uuid
-          description: Globally unique identifier
-        required: true
+        - in: header
+          name: X-CSP-Nonce
+          schema:
+            type: string
+          description:
+            The value of the CSP nonce generated by the page embedding the SDK. If provided, fields
+            containing rich text from WYSIWYG editors will be post-processed to allow inline styles
+            with the provided nonce. If the embedding page emits a `style-src` policy containing
+            `unsafe-inline`, then you can omit this header without losing functionality. We
+            recommend favouring the nonce mechanism though.
+        - in: path
+          name: uuid
+          schema:
+            type: string
+            format: uuid
+            description: Globally unique identifier
+          required: true
       tags:
-      - products
+        - products
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -3632,10 +3643,10 @@ paths:
     get:
       operationId: public_categories_list
       tags:
-      - public
+        - public
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -3658,17 +3669,17 @@ paths:
     get:
       operationId: public_categories_retrieve
       parameters:
-      - in: path
-        name: uuid
-        schema:
-          type: string
-          format: uuid
-        required: true
+        - in: path
+          name: uuid
+          schema:
+            type: string
+            format: uuid
+          required: true
       tags:
-      - public
+        - public
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -3688,19 +3699,19 @@ paths:
   /api/v2/public/forms:
     get:
       operationId: public_forms_list
-      description: List the available forms with minimal information. Does not include
-        soft deleted forms.
+      description:
+        List the available forms with minimal information. Does not include soft deleted forms.
       summary: List forms
       parameters:
-      - in: query
-        name: category__uuid
-        schema:
-          type: string
-          format: uuid
+        - in: query
+          name: category__uuid
+          schema:
+            type: string
+            format: uuid
       tags:
-      - public
+        - public
       security:
-      - tokenAuth: []
+        - tokenAuth: []
       responses:
         '200':
           content:
@@ -3723,9 +3734,9 @@ paths:
       description: List the available registration attributes.
       summary: List available registration attributes
       tags:
-      - registration
+        - registration
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -3754,9 +3765,9 @@ paths:
         with various backends, such as "API's voor zaakgericht werken", StUF-ZDS and others.
       summary: List available registration plugins
       tags:
-      - registration
+        - registration
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -3781,9 +3792,9 @@ paths:
       description: List the available process definitions & their versions.
       summary: List available Camunda process definitions
       tags:
-      - registration
+        - registration
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -3806,7 +3817,7 @@ paths:
     post:
       operationId: registration_plugins_objects_api_target_paths_create
       tags:
-      - registration
+        - registration
       requestBody:
         content:
           application/json:
@@ -3820,7 +3831,7 @@ paths:
               $ref: '#/components/schemas/TargetPathsInput'
         required: true
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -3838,11 +3849,11 @@ paths:
             Content-Language:
               $ref: '#/components/headers/Content-Language'
       parameters:
-      - in: header
-        name: X-CSRFToken
-        schema:
-          type: string
-        required: true
+        - in: header
+          name: X-CSRFToken
+          schema:
+            type: string
+          required: true
   /api/v2/registration/plugins/zgw-api/case-types:
     get:
       operationId: registration_plugins_zgw_api_case_types_list
@@ -3853,26 +3864,27 @@ paths:
         backed collections of objects.
       summary: List the available case types within a catalogue (ZGW APIs)
       parameters:
-      - in: query
-        name: catalogue_url
-        schema:
-          type: string
-          format: uri
-          title: catalogus URL
-          minLength: 1
-        description: Filter case types against this catalogue URL.
-        required: true
-      - in: query
-        name: zgw_api_group
-        schema:
-          type: integer
-        description: The primary key of the ZGW API group to use. The case types from
-          the Catalogi API in this group will be returned.
-        required: true
+        - in: query
+          name: catalogue_url
+          schema:
+            type: string
+            format: uri
+            title: catalogus URL
+            minLength: 1
+          description: Filter case types against this catalogue URL.
+          required: true
+        - in: query
+          name: zgw_api_group
+          schema:
+            type: integer
+          description:
+            The primary key of the ZGW API group to use. The case types from the Catalogi API in
+            this group will be returned.
+          required: true
       tags:
-      - registration
+        - registration
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -3897,17 +3909,18 @@ paths:
       description: List the available catalogues.
       summary: List the available Catalogi from the provided ZGW API group
       parameters:
-      - in: query
-        name: zgw_api_group
-        schema:
-          type: integer
-        description: The primary key of the ZGW API group to use. The informatieobjecttypen
-          from the Catalogi API in this group will be returned.
-        required: true
+        - in: query
+          name: zgw_api_group
+          schema:
+            type: integer
+          description:
+            The primary key of the ZGW API group to use. The informatieobjecttypen from the Catalogi
+            API in this group will be returned.
+          required: true
       tags:
-      - registration
+        - registration
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -3937,35 +3950,37 @@ paths:
         only one entry is returned.
       summary: List the available document types from the provided ZGW API group
       parameters:
-      - in: query
-        name: case_type_identification
-        schema:
-          type: string
-          default: ''
-          minLength: 1
-        description: Filter document types for a given case type. The identification
-          is unique within the catalogue for a case type. Note that multiple versions
-          of the same case type with the same identification exist. The filter returns
-          a document type if it occurs within any version of the specified case type.
-      - in: query
-        name: catalogue_url
-        schema:
-          type: string
-          format: uri
-          default: ''
-          minLength: 1
-        description: Filter document types against this catalogue URL.
-      - in: query
-        name: zgw_api_group
-        schema:
-          type: integer
-        description: The primary key of the ZGW API group to use. The informatieobjecttypen
-          from the Catalogi API in this group will be returned.
-        required: true
+        - in: query
+          name: case_type_identification
+          schema:
+            type: string
+            default: ''
+            minLength: 1
+          description:
+            Filter document types for a given case type. The identification is unique within the
+            catalogue for a case type. Note that multiple versions of the same case type with the
+            same identification exist. The filter returns a document type if it occurs within any
+            version of the specified case type.
+        - in: query
+          name: catalogue_url
+          schema:
+            type: string
+            format: uri
+            default: ''
+            minLength: 1
+          description: Filter document types against this catalogue URL.
+        - in: query
+          name: zgw_api_group
+          schema:
+            type: integer
+          description:
+            The primary key of the ZGW API group to use. The informatieobjecttypen from the Catalogi
+            API in this group will be returned.
+          required: true
       tags:
-      - registration
+        - registration
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -3991,37 +4006,37 @@ paths:
         Fetch and serialize a list of objects.
 
         Alternative to :class:`rest_framework.mixins.ListModelMixin` for non-database
-        backed collections of objects.
-      summary: List the available products bound to a case type within a catalogue
-        (ZGW APIs)
-      parameters:
-      - in: query
-        name: case_type_identification
-        schema:
-          type: string
-          minLength: 1
-        description: Filter case types against this identification.
-        required: true
-      - in: query
-        name: catalogue_url
-        schema:
-          type: string
-          format: uri
-          title: catalogus URL
-          minLength: 1
-        description: Filter case types against this catalogue URL.
-        required: true
-      - in: query
-        name: zgw_api_group
-        schema:
-          type: integer
-        description: The primary key of the ZGW API group to use. The informatieobjecttypen
-          from the Catalogi API in this group will be returned.
-        required: true
+        backed collections of objects.
+      summary: List the available products bound to a case type within a catalogue (ZGW APIs)
+      parameters:
+        - in: query
+          name: case_type_identification
+          schema:
+            type: string
+            minLength: 1
+          description: Filter case types against this identification.
+          required: true
+        - in: query
+          name: catalogue_url
+          schema:
+            type: string
+            format: uri
+            title: catalogus URL
+            minLength: 1
+          description: Filter case types against this catalogue URL.
+          required: true
+        - in: query
+          name: zgw_api_group
+          schema:
+            type: integer
+          description:
+            The primary key of the ZGW API group to use. The informatieobjecttypen from the Catalogi
+            API in this group will be returned.
+          required: true
       tags:
-      - registration
+        - registration
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -4048,36 +4063,36 @@ paths:
 
         Alternative to :class:`rest_framework.mixins.ListModelMixin` for non-database
         backed collections of objects.
-      summary: List the available role types bound to a case type within a catalogue
-        (ZGW APIs)
+      summary: List the available role types bound to a case type within a catalogue (ZGW APIs)
       parameters:
-      - in: query
-        name: case_type_identification
-        schema:
-          type: string
-          minLength: 1
-        description: Filter case types against this identification.
-        required: true
-      - in: query
-        name: catalogue_url
-        schema:
-          type: string
-          format: uri
-          title: catalogus URL
-          minLength: 1
-        description: Filter case types against this catalogue URL.
-        required: true
-      - in: query
-        name: zgw_api_group
-        schema:
-          type: integer
-        description: The primary key of the ZGW API group to use. The informatieobjecttypen
-          from the Catalogi API in this group will be returned.
-        required: true
+        - in: query
+          name: case_type_identification
+          schema:
+            type: string
+            minLength: 1
+          description: Filter case types against this identification.
+          required: true
+        - in: query
+          name: catalogue_url
+          schema:
+            type: string
+            format: uri
+            title: catalogus URL
+            minLength: 1
+          description: Filter case types against this catalogue URL.
+          required: true
+        - in: query
+          name: zgw_api_group
+          schema:
+            type: integer
+          description:
+            The primary key of the ZGW API group to use. The informatieobjecttypen from the Catalogi
+            API in this group will be returned.
+          required: true
       tags:
-      - registration
+        - registration
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -4105,16 +4120,16 @@ paths:
         Note that this endpoint is **EXPERIMENTAL**.
       summary: List available service fetch configurations
       parameters:
-      - name: page
-        required: false
-        in: query
-        description: A page number within the paginated result set.
-        schema:
-          type: integer
+        - name: page
+          required: false
+          in: query
+          description: A page number within the paginated result set.
+          schema:
+            type: integer
       tags:
-      - service-fetch-configurations
+        - service-fetch-configurations
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -4136,16 +4151,16 @@ paths:
     get:
       operationId: service_fetch_configurations_retrieve
       parameters:
-      - in: path
-        name: id
-        schema:
-          type: integer
-        description: A unique integer value identifying this service fetch configuration.
-        required: true
+        - in: path
+          name: id
+          schema:
+            type: integer
+          description: A unique integer value identifying this service fetch configuration.
+          required: true
       tags:
-      - service-fetch-configurations
+        - service-fetch-configurations
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -4172,9 +4187,9 @@ paths:
         Note that this endpoint is **EXPERIMENTAL**.
       summary: List available services
       tags:
-      - services
+        - services
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -4199,16 +4214,16 @@ paths:
       operationId: services_retrieve
       description: Configured Services
       parameters:
-      - in: path
-        name: id
-        schema:
-          type: integer
-        description: A unique integer value identifying this service.
-        required: true
+        - in: path
+          name: id
+          schema:
+            type: integer
+          description: A unique integer value identifying this service.
+          required: true
       tags:
-      - services
+        - services
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -4229,21 +4244,22 @@ paths:
   /api/v2/submissions:
     get:
       operationId: submissions_list
-      description: Active submissions are submissions whose ID is in the user session.
-        This endpoint returns user-bound submissions. Note that you get different
-        results on different results because of the differing sessions.
+      description:
+        Active submissions are submissions whose ID is in the user session. This endpoint returns
+        user-bound submissions. Note that you get different results on different results because of
+        the differing sessions.
       summary: List active submissions
       parameters:
-      - name: page
-        required: false
-        in: query
-        description: A page number within the paginated result set.
-        schema:
-          type: integer
+        - name: page
+          required: false
+          in: query
+          description: A page number within the paginated result set.
+          schema:
+            type: integer
       tags:
-      - submissions
+        - submissions
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -4262,11 +4278,11 @@ paths:
               $ref: '#/components/headers/Content-Language'
     post:
       operationId: submissions_create
-      description: Start a submission for a particular form. The submission is added
-        to the user session.
+      description:
+        Start a submission for a particular form. The submission is added to the user session.
       summary: Start a submission
       tags:
-      - submissions
+        - submissions
       requestBody:
         content:
           application/json:
@@ -4280,7 +4296,7 @@ paths:
               $ref: '#/components/schemas/Submission'
         required: true
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '201':
           content:
@@ -4358,35 +4374,36 @@ paths:
             Content-Language:
               $ref: '#/components/headers/Content-Language'
       parameters:
-      - in: header
-        name: X-CSRFToken
-        schema:
-          type: string
-        required: true
+        - in: header
+          name: X-CSRFToken
+          schema:
+            type: string
+          required: true
   /api/v2/submissions/{submission_uuid}/steps/{step_uuid}:
     get:
       operationId: submissions_steps_retrieve
-      description: The details of a particular submission step always return the related
-        form step configuration. If there is no data yet for the step, the ID will
-        be `null`. Set the step data by making a `PUT` request.
+      description:
+        The details of a particular submission step always return the related form step
+        configuration. If there is no data yet for the step, the ID will be `null`. Set the step
+        data by making a `PUT` request.
       summary: Retrieve step details
       parameters:
-      - in: path
-        name: step_uuid
-        schema:
-          type: string
-          format: uuid
-        required: true
-      - in: path
-        name: submission_uuid
-        schema:
-          type: string
-          format: uuid
-        required: true
+        - in: path
+          name: step_uuid
+          schema:
+            type: string
+            format: uuid
+          required: true
+        - in: path
+          name: submission_uuid
+          schema:
+            type: string
+            format: uuid
+          required: true
       tags:
-      - submissions
+        - submissions
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -4430,32 +4447,32 @@ paths:
         at the time being.
       summary: Store submission step data
       parameters:
-      - in: path
-        name: step_uuid
-        schema:
-          type: string
-          format: uuid
-        required: true
-      - in: path
-        name: submission_uuid
-        schema:
-          type: string
-          format: uuid
-        required: true
-      - in: header
-        name: X-CSRFToken
-        schema:
-          type: string
-        required: true
+        - in: path
+          name: step_uuid
+          schema:
+            type: string
+            format: uuid
+          required: true
+        - in: path
+          name: submission_uuid
+          schema:
+            type: string
+            format: uuid
+          required: true
+        - in: header
+          name: X-CSRFToken
+          schema:
+            type: string
+          required: true
       tags:
-      - submissions
+        - submissions
       requestBody:
         content:
           application/json:
             schema:
               $ref: '#/components/schemas/SubmissionStep'
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -4553,32 +4570,32 @@ paths:
       description: Apply/check the logic rules specified on the form step.
       summary: Apply/check form logic
       parameters:
-      - in: path
-        name: step_uuid
-        schema:
-          type: string
-          format: uuid
-        required: true
-      - in: path
-        name: submission_uuid
-        schema:
-          type: string
-          format: uuid
-        required: true
-      - in: header
-        name: X-CSRFToken
-        schema:
-          type: string
-        required: true
+        - in: path
+          name: step_uuid
+          schema:
+            type: string
+            format: uuid
+          required: true
+        - in: path
+          name: submission_uuid
+          schema:
+            type: string
+            format: uuid
+          required: true
+        - in: header
+          name: X-CSRFToken
+          schema:
+            type: string
+          required: true
       tags:
-      - submissions
+        - submissions
       requestBody:
         content:
           application/json:
             schema:
               $ref: '#/components/schemas/FormData'
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -4650,32 +4667,32 @@ paths:
         data. For invalid data, you will get an HTTP 400 response with error details.
       summary: Store submission step data
       parameters:
-      - in: path
-        name: step_uuid
-        schema:
-          type: string
-          format: uuid
-        required: true
-      - in: path
-        name: submission_uuid
-        schema:
-          type: string
-          format: uuid
-        required: true
-      - in: header
-        name: X-CSRFToken
-        schema:
-          type: string
-        required: true
+        - in: path
+          name: step_uuid
+          schema:
+            type: string
+            format: uuid
+          required: true
+        - in: path
+          name: submission_uuid
+          schema:
+            type: string
+            format: uuid
+          required: true
+        - in: header
+          name: X-CSRFToken
+          schema:
+            type: string
+          required: true
       tags:
-      - submissions
+        - submissions
       requestBody:
         content:
           application/json:
             schema:
               $ref: '#/components/schemas/SubmissionStep'
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '204':
           description: No response body
@@ -4754,16 +4771,16 @@ paths:
       description: Get the state of a single submission in the user session.
       summary: Retrieve submission details
       parameters:
-      - in: path
-        name: uuid
-        schema:
-          type: string
-          format: uuid
-        required: true
+        - in: path
+          name: uuid
+          schema:
+            type: string
+            format: uuid
+          required: true
       tags:
-      - submissions
+        - submissions
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -4790,22 +4807,22 @@ paths:
         information on the status of this async processing.
       summary: Get the submission processing status
       parameters:
-      - in: path
-        name: token
-        schema:
-          type: string
-        description: Time-based authentication token
-        required: true
-      - in: path
-        name: uuid
-        schema:
-          type: string
-          format: uuid
-        required: true
+        - in: path
+          name: token
+          schema:
+            type: string
+          description: Time-based authentication token
+          required: true
+        - in: path
+          name: uuid
+          schema:
+            type: string
+            format: uuid
+          required: true
       tags:
-      - submissions
+        - submissions
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -4885,19 +4902,19 @@ paths:
         ---
       summary: Complete a submission
       parameters:
-      - in: path
-        name: uuid
-        schema:
-          type: string
-          format: uuid
-        required: true
-      - in: header
-        name: X-CSRFToken
-        schema:
-          type: string
-        required: true
+        - in: path
+          name: uuid
+          schema:
+            type: string
+            format: uuid
+          required: true
+        - in: header
+          name: X-CSRFToken
+          schema:
+            type: string
+          required: true
       tags:
-      - submissions
+        - submissions
       requestBody:
         content:
           application/json:
@@ -4911,7 +4928,7 @@ paths:
               $ref: '#/components/schemas/Submission'
         required: true
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -4983,19 +5000,19 @@ paths:
         resume the submission (possibly from another device).
       summary: Suspend a submission
       parameters:
-      - in: path
-        name: uuid
-        schema:
-          type: string
-          format: uuid
-        required: true
-      - in: header
-        name: X-CSRFToken
-        schema:
-          type: string
-        required: true
+        - in: path
+          name: uuid
+          schema:
+            type: string
+            format: uuid
+          required: true
+        - in: header
+          name: X-CSRFToken
+          schema:
+            type: string
+          required: true
       tags:
-      - submissions
+        - submissions
       requestBody:
         content:
           application/json:
@@ -5009,7 +5026,7 @@ paths:
               $ref: '#/components/schemas/SubmissionSuspension'
         required: true
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '201':
           content:
@@ -5077,16 +5094,16 @@ paths:
       description: Retrieve co-sign state.
       summary: Retrieve co-sign state
       parameters:
-      - in: path
-        name: uuid
-        schema:
-          type: string
-          format: uuid
-        required: true
+        - in: path
+          name: uuid
+          schema:
+            type: string
+            format: uuid
+          required: true
       tags:
-      - submissions
+        - submissions
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       deprecated: true
       responses:
         '200':
@@ -5155,19 +5172,19 @@ paths:
       description: Call filter_queryset method of the permission class, if it exists.
       summary: Co-sign submission
       parameters:
-      - in: path
-        name: uuid
-        schema:
-          type: string
-          format: uuid
-        required: true
-      - in: header
-        name: X-CSRFToken
-        schema:
-          type: string
-        required: true
+        - in: path
+          name: uuid
+          schema:
+            type: string
+            format: uuid
+          required: true
+        - in: header
+          name: X-CSRFToken
+          schema:
+            type: string
+          required: true
       tags:
-      - submissions
+        - submissions
       requestBody:
         content:
           application/json:
@@ -5181,7 +5198,7 @@ paths:
               $ref: '#/components/schemas/Submission'
         required: true
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -5264,16 +5281,16 @@ paths:
       description: Retrieve the data to display in the submission summary page.
       summary: Summary page data
       parameters:
-      - in: path
-        name: uuid
-        schema:
-          type: string
-          format: uuid
-        required: true
+        - in: path
+          name: uuid
+          schema:
+            type: string
+            format: uuid
+          required: true
       tags:
-      - submissions
+        - submissions
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -5301,7 +5318,7 @@ paths:
         Validations check that the provided component key is present in the form of the submission and that it actually is an `email` component.
       summary: Start email verification
       tags:
-      - submissions
+        - submissions
       requestBody:
         content:
           application/json:
@@ -5315,7 +5332,7 @@ paths:
               $ref: '#/components/schemas/EmailVerification'
         required: true
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '201':
           content:
@@ -5333,20 +5350,20 @@ paths:
             Content-Language:
               $ref: '#/components/headers/Content-Language'
       parameters:
-      - in: header
-        name: X-CSRFToken
-        schema:
-          type: string
-        required: true
+        - in: header
+          name: X-CSRFToken
+          schema:
+            type: string
+          required: true
   /api/v2/submissions/email-verifications/verify:
     post:
       operationId: submissions_email_verifications_verify_create
-      description: Using the code obtained from the verification email, mark the email
-        address as verified. Using an invalid code results in validation errors in
-        the error response.
+      description:
+        Using the code obtained from the verification email, mark the email address as verified.
+        Using an invalid code results in validation errors in the error response.
       summary: Verify email address
       tags:
-      - submissions
+        - submissions
       requestBody:
         content:
           application/json:
@@ -5360,7 +5377,7 @@ paths:
               $ref: '#/components/schemas/VerifyEmail'
         required: true
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -5378,11 +5395,11 @@ paths:
             Content-Language:
               $ref: '#/components/headers/Content-Language'
       parameters:
-      - in: header
-        name: X-CSRFToken
-        schema:
-          type: string
-        required: true
+        - in: header
+          name: X-CSRFToken
+          schema:
+            type: string
+          required: true
   /api/v2/submissions/files/{uuid}:
     get:
       operationId: submissions_files_retrieve
@@ -5394,23 +5411,23 @@ paths:
         Toegang tot dit endpoint vereist een actieve formulier inzending. Niet gekoppelde bestanden worden automatisch verwijderd na 2 dag(en)
       summary: Retrieve temporary file upload
       parameters:
-      - in: query
-        name: format
-        schema:
-          type: string
-          enum:
-          - json
-          - octet
-      - in: path
-        name: uuid
-        schema:
-          type: string
-          format: uuid
-        required: true
+        - in: query
+          name: format
+          schema:
+            type: string
+            enum:
+              - json
+              - octet
+        - in: path
+          name: uuid
+          schema:
+            type: string
+            format: uuid
+          required: true
       tags:
-      - submissions
+        - submissions
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -5436,28 +5453,28 @@ paths:
         \ after {expire_days} day(s). "
       summary: Delete temporary file upload
       parameters:
-      - in: query
-        name: format
-        schema:
-          type: string
-          enum:
-          - json
-          - octet
-      - in: path
-        name: uuid
-        schema:
-          type: string
-          format: uuid
-        required: true
-      - in: header
-        name: X-CSRFToken
-        schema:
-          type: string
-        required: true
+        - in: query
+          name: format
+          schema:
+            type: string
+            enum:
+              - json
+              - octet
+        - in: path
+          name: uuid
+          schema:
+            type: string
+            format: uuid
+          required: true
+        - in: header
+          name: X-CSRFToken
+          schema:
+            type: string
+          required: true
       tags:
-      - submissions
+        - submissions
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '204':
           description: No response body
@@ -5515,10 +5532,10 @@ paths:
         You must have staff permissions to be able to use the theme endpoints.
       summary: List available themes
       tags:
-      - themes
+        - themes
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -5552,17 +5569,17 @@ paths:
         You must have staff permissions to be able to use the theme endpoints.
       summary: Retrieve theme details
       parameters:
-      - in: path
-        name: uuid
-        schema:
-          type: string
-          format: uuid
-        required: true
+        - in: path
+          name: uuid
+          schema:
+            type: string
+            format: uuid
+          required: true
       tags:
-      - themes
+        - themes
       security:
-      - tokenAuth: []
-      - cookieAuth: []
+        - tokenAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -5585,9 +5602,9 @@ paths:
       description: Retrieve the translations for the strings used by FormIO
       summary: Get FormIO translations
       tags:
-      - translations
+        - translations
       security:
-      - {}
+        - {}
       deprecated: true
       responses:
         '200':
@@ -5601,7 +5618,7 @@ paths:
                     additionalProperties:
                       type: string
                 required:
-                - nl
+                  - nl
           description: ''
           headers:
             X-Session-Expires-In:
@@ -5618,16 +5635,15 @@ paths:
       description: List available validation plugins that have been registered.
       summary: List available validation plugins
       parameters:
-      - in: query
-        name: componentType
-        schema:
-          type: string
-        description: Only return validators applicable for the specified component
-          type.
+        - in: query
+          name: componentType
+          schema:
+            type: string
+          description: Only return validators applicable for the specified component type.
       tags:
-      - validation
+        - validation
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -5652,22 +5668,23 @@ paths:
       description: Validate a value using given validator
       summary: Validate value using validation plugin
       parameters:
-      - in: path
-        name: validator
-        schema:
-          type: string
-          enum:
-          - brk-zakelijk-gerechtigd
-          - kvk-branchNumber
-          - kvk-kvkNumber
-          - kvk-rsin
-          - phonenumber-international
-          - phonenumber-nl
-        description: ID of the validation plugin, see the [`validation_plugin_list`](./#operation/validation_plugin_list)
-          operation
-        required: true
+        - in: path
+          name: validator
+          schema:
+            type: string
+            enum:
+              - brk-zakelijk-gerechtigd
+              - kvk-branchNumber
+              - kvk-kvkNumber
+              - kvk-rsin
+              - phonenumber-international
+              - phonenumber-nl
+          description:
+            ID of the validation plugin, see the
+            [`validation_plugin_list`](./#operation/validation_plugin_list) operation
+          required: true
       tags:
-      - validation
+        - validation
       requestBody:
         content:
           application/json:
@@ -5675,8 +5692,8 @@ paths:
               $ref: '#/components/schemas/ValidationInput'
         required: true
       security:
-      - cookieAuth: []
-      - {}
+        - cookieAuth: []
+        - {}
       responses:
         '200':
           content:
@@ -5696,13 +5713,12 @@ paths:
   /api/v2/variables/registration:
     get:
       operationId: variables_registration_list
-      description: List the registration static variables that will be associated
-        with every form
+      description: List the registration static variables that will be associated with every form
       summary: Get registration static variables
       tags:
-      - variables
+        - variables
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -5742,9 +5758,9 @@ paths:
       description: List the static variables that will be associated with every form
       summary: Get static variables
       tags:
-      - variables
+        - variables
       security:
-      - cookieAuth: []
+        - cookieAuth: []
       responses:
         '200':
           content:
@@ -5793,30 +5809,31 @@ paths:
         * the redirect target must match the CORS policy
       summary: Return from external login flow
       parameters:
-      - in: query
-        name: coSignSubmission
-        schema:
-          type: string
-          format: uuid
-        description: UUID of the submission for which this co-sign authentication
-          applies. Presence of this parameter marks a flow as a co-sign flow.
-      - in: path
-        name: plugin_id
-        schema:
-          type: string
-        description: Identifier of the authentication plugin.
-        required: true
-      - in: path
-        name: slug
-        schema:
-          type: string
-        description: Slug identifiying the form.
-        required: true
+        - in: query
+          name: coSignSubmission
+          schema:
+            type: string
+            format: uuid
+          description:
+            UUID of the submission for which this co-sign authentication applies. Presence of this
+            parameter marks a flow as a co-sign flow.
+        - in: path
+          name: plugin_id
+          schema:
+            type: string
+          description: Identifier of the authentication plugin.
+          required: true
+        - in: path
+          name: slug
+          schema:
+            type: string
+          description: Slug identifiying the form.
+          required: true
       tags:
-      - auth
+        - auth
       security:
-      - cookieAuth: []
-      - {}
+        - cookieAuth: []
+        - {}
       responses:
         '302':
           headers:
@@ -5899,8 +5916,9 @@ paths:
             text/html:
               schema:
                 type: string
-          description: Method not allowed. The authentication plugin requires `POST`
-            or `GET`, and the wrong method was used.
+          description:
+            Method not allowed. The authentication plugin requires `POST` or `GET`, and the wrong
+            method was used.
     post:
       operationId: auth_return_create
       description: |-
@@ -5915,27 +5933,28 @@ paths:
         * the redirect target must match the CORS policy
       summary: Return from external login flow
       parameters:
-      - in: query
-        name: coSignSubmission
-        schema:
-          type: string
-          format: uuid
-        description: UUID of the submission for which this co-sign authentication
-          applies. Presence of this parameter marks a flow as a co-sign flow.
-      - in: path
-        name: plugin_id
-        schema:
-          type: string
-        description: Identifier of the authentication plugin.
-        required: true
-      - in: path
-        name: slug
-        schema:
-          type: string
-        description: Slug identifiying the form.
-        required: true
+        - in: query
+          name: coSignSubmission
+          schema:
+            type: string
+            format: uuid
+          description:
+            UUID of the submission for which this co-sign authentication applies. Presence of this
+            parameter marks a flow as a co-sign flow.
+        - in: path
+          name: plugin_id
+          schema:
+            type: string
+          description: Identifier of the authentication plugin.
+          required: true
+        - in: path
+          name: slug
+          schema:
+            type: string
+          description: Slug identifiying the form.
+          required: true
       tags:
-      - auth
+        - auth
       requestBody:
         content:
           application/x-www-form-urlencoded:
@@ -5947,8 +5966,8 @@ paths:
               type: object
               additionalProperties: {}
       security:
-      - cookieAuth: []
-      - {}
+        - cookieAuth: []
+        - {}
       responses:
         '200':
           headers:
@@ -6051,8 +6070,9 @@ paths:
             text/html:
               schema:
                 type: string
-          description: Method not allowed. The authentication plugin requires `POST`
-            or `GET`, and the wrong method was used.
+          description:
+            Method not allowed. The authentication plugin requires `POST` or `GET`, and the wrong
+            method was used.
   /auth/{slug}/{plugin_id}/start:
     get:
       operationId: auth_start_retrieve
@@ -6069,40 +6089,43 @@ paths:
         * the `next` parameter must match the CORS policy
       summary: Start authentication flow
       parameters:
-      - in: query
-        name: coSignSubmission
-        schema:
-          type: string
-          format: uuid
-        description: UUID of the submission for which this co-sign authentication
-          applies. Presence of this parameter marks a flow as a co-sign flow.
-        deprecated: true
-      - in: query
-        name: next
-        schema:
-          type: string
-          format: uri
-        description: URL of the form to redirect back to. This URL is validated against
-          the CORS configuration.
-        required: true
-      - in: path
-        name: plugin_id
-        schema:
-          type: string
-        description: Identifier of the authentication plugin. Note that this is validated
-          against the configured available plugins for this particular form.
-        required: true
-      - in: path
-        name: slug
-        schema:
-          type: string
-        description: Slug identifiying the form.
-        required: true
+        - in: query
+          name: coSignSubmission
+          schema:
+            type: string
+            format: uuid
+          description:
+            UUID of the submission for which this co-sign authentication applies. Presence of this
+            parameter marks a flow as a co-sign flow.
+          deprecated: true
+        - in: query
+          name: next
+          schema:
+            type: string
+            format: uri
+          description:
+            URL of the form to redirect back to. This URL is validated against the CORS
+            configuration.
+          required: true
+        - in: path
+          name: plugin_id
+          schema:
+            type: string
+          description:
+            Identifier of the authentication plugin. Note that this is validated against the
+            configured available plugins for this particular form.
+          required: true
+        - in: path
+          name: slug
+          schema:
+            type: string
+          description: Slug identifiying the form.
+          required: true
       tags:
-      - auth
+        - auth
       security:
-      - cookieAuth: []
-      - {}
+        - cookieAuth: []
+        - {}
       responses:
         '200':
           content:
@@ -6125,9 +6148,9 @@ paths:
               schema:
                 type: string
                 format: uri
-              description: URL of the external authentication service where the end-user
-                will be redirected to. The value is specific to the selected authentication
-                plugin.
+              description:
+                URL of the external authentication service where the end-user will be redirected to.
+                The value is specific to the selected authentication plugin.
               required: true
             X-Session-Expires-In:
               $ref: '#/components/headers/X-Session-Expires-In'
@@ -6179,17 +6202,18 @@ paths:
         * payment is required and configured on the form
       summary: Webhook handler for external payment flow
       parameters:
-      - in: path
-        name: plugin_id
-        schema:
-          type: string
-        description: Identifier of the payment plugin. Note that this is validated
-          against the configured available plugins for this particular form.
-        required: true
+        - in: path
+          name: plugin_id
+          schema:
+            type: string
+          description:
+            Identifier of the payment plugin. Note that this is validated against the configured
+            available plugins for this particular form.
+          required: true
       tags:
-      - payment
+        - payment
       security:
-      - {}
+        - {}
       responses:
         '200':
           headers:
@@ -6257,17 +6281,18 @@ paths:
         * payment is required and configured on the form
       summary: Webhook handler for external payment flow
       parameters:
-      - in: path
-        name: plugin_id
-        schema:
-          type: string
-        description: Identifier of the payment plugin. Note that this is validated
-          against the configured available plugins for this particular form.
-        required: true
+        - in: path
+          name: plugin_id
+          schema:
+            type: string
+          description:
+            Identifier of the payment plugin. Note that this is validated against the configured
+            available plugins for this particular form.
+          required: true
       tags:
-      - payment
+        - payment
       security:
-      - {}
+        - {}
       responses:
         '200':
           headers:
@@ -6343,31 +6368,33 @@ paths:
         The HTTP 200 response contains the information to start the flow with the payment provider. Depending on the 'type', send a `GET` or `POST` request with the `data` as 'Form Data' to the given 'url'.
       summary: Start payment flow
       parameters:
-      - in: query
-        name: next
-        schema:
-          type: string
-          format: uri
-        description: URL of the form to redirect back to. This URL is validated against
-          the CORS configuration.
-        required: true
-      - in: path
-        name: plugin_id
-        schema:
-          type: string
-        description: Identifier of the payment plugin. Note that this is validated
-          against the configured available plugins for this particular form.
-        required: true
-      - in: path
-        name: uuid
-        schema:
-          type: string
-        description: UUID identifying the submission.
-        required: true
+        - in: query
+          name: next
+          schema:
+            type: string
+            format: uri
+          description:
+            URL of the form to redirect back to. This URL is validated against the CORS
+            configuration.
+          required: true
+        - in: path
+          name: plugin_id
+          schema:
+            type: string
+          description:
+            Identifier of the payment plugin. Note that this is validated against the configured
+            available plugins for this particular form.
+          required: true
+        - in: path
+          name: uuid
+          schema:
+            type: string
+          description: UUID identifying the submission.
+          required: true
       tags:
-      - payment
+        - payment
       security:
-      - {}
+        - {}
       responses:
         '200':
           content:
@@ -6404,8 +6431,9 @@ paths:
             application/problem+json:
               schema:
                 $ref: '#/components/schemas/Exception'
-          description: Not found. The slug did not point to a live submission or the
-            `plugin_id` does not exist.
+          description:
+            Not found. The slug did not point to a live submission or the `plugin_id` does not
+            exist.
           headers:
             X-Session-Expires-In:
               $ref: '#/components/headers/X-Session-Expires-In'
@@ -6430,16 +6458,16 @@ paths:
         * the redirect target must match the CORS policy
       summary: Return from external payment flow
       parameters:
-      - in: path
-        name: uuid
-        schema:
-          type: string
-        description: UUID identifying the payment.
-        required: true
+        - in: path
+          name: uuid
+          schema:
+            type: string
+          description: UUID identifying the payment.
+          required: true
       tags:
-      - payment
+        - payment
       security:
-      - {}
+        - {}
       responses:
         '302':
           headers:
@@ -6502,8 +6530,9 @@ paths:
             application/problem+json:
               schema:
                 $ref: '#/components/schemas/Exception'
-          description: Not found. The slug did not point to a live submission payment
-            or the `plugin_id` does not exist.
+          description:
+            Not found. The slug did not point to a live submission payment or the `plugin_id` does
+            not exist.
     post:
       operationId: payment_return_create
       description: |-
@@ -6518,16 +6547,16 @@ paths:
         * the redirect target must match the CORS policy
       summary: Return from external payment flow
       parameters:
-      - in: path
-        name: uuid
-        schema:
-          type: string
-        description: UUID identifying the payment.
-        required: true
+        - in: path
+          name: uuid
+          schema:
+            type: string
+          description: UUID identifying the payment.
+          required: true
       tags:
-      - payment
+        - payment
       security:
-      - {}
+        - {}
       responses:
         '302':
           headers:
@@ -6590,16 +6619,17 @@ paths:
             application/problem+json:
               schema:
                 $ref: '#/components/schemas/Exception'
-          description: Not found. The slug did not point to a live submission payment
-            or the `plugin_id` does not exist.
+          description:
+            Not found. The slug did not point to a live submission payment or the `plugin_id` does
+            not exist.
 components:
   headers:
     Content-Language:
       schema:
         type: string
         enum:
-        - en
-        - nl
+          - en
+          - nl
       description: Language code of the currently activated language.
       required: true
     X-CSRFToken:
@@ -6610,14 +6640,16 @@ components:
     X-Is-Form-Designer:
       schema:
         type: string
-      description: If true, the user is allowed to navigate between submission steps
-        even if previous submission steps have not been completed yet.
+      description:
+        If true, the user is allowed to navigate between submission steps even if previous
+        submission steps have not been completed yet.
     X-Session-Expires-In:
       schema:
         type: string
-      description: Amount of time in seconds after which the session expires. After
-        this time has passed, the session is expired and the user is 'logged out'.
-        Note that every subsequent API call resets the expiry.
+      description:
+        Amount of time in seconds after which the session expires. After this time has passed, the
+        session is expired and the user is 'logged out'. Note that every subsequent API call resets
+        the expiry.
       required: true
   schemas:
     AddressSearchResult:
@@ -6628,64 +6660,70 @@ components:
           title: Location name
         latLng:
           allOf:
-          - $ref: '#/components/schemas/LatitudeLongitude'
+            - $ref: '#/components/schemas/LatitudeLongitude'
           title: Latitude/longitude
           description: Latitude and longitude in the WGS 84 coordinate system.
         rd:
           allOf:
-          - $ref: '#/components/schemas/RijksDriehoek'
+            - $ref: '#/components/schemas/RijksDriehoek'
           nullable: true
           title: Rijkdsdriehoek coordinates
-          description: X and Y coordinates in the [Rijkdsdriehoek](https://nl.wikipedia.org/wiki/Rijksdriehoeksco%C3%B6rdinaten)
+          description:
+            X and Y coordinates in the
+            [Rijkdsdriehoek](https://nl.wikipedia.org/wiki/Rijksdriehoeksco%C3%B6rdinaten)
             coordinate system.
       required:
-      - label
-      - latLng
-      - rd
+        - label
+        - latLng
+        - rd
     AnalyticsToolsConfig:
       type: object
       properties:
         govmetricSourceIdFormFinished:
           type: string
-          description: Your GovMetric source ID for when a form is finished - This
-            is created by KLANTINFOCUS when a list of questions is created. It is
-            a numerical value that is unique per set of questions.
+          description:
+            Your GovMetric source ID for when a form is finished - This is created by KLANTINFOCUS
+            when a list of questions is created. It is a numerical value that is unique per set of
+            questions.
           maxLength: 10
         govmetricSourceIdFormAborted:
           type: string
-          description: Your GovMetric source ID for when a form is aborted - This
-            is created by KLANTINFOCUS when a list of questions is created. It is
-            a numerical value that is unique per set of questions.
+          description:
+            Your GovMetric source ID for when a form is aborted - This is created by KLANTINFOCUS
+            when a list of questions is created. It is a numerical value that is unique per set of
+            questions.
           maxLength: 10
         govmetricSecureGuidFormFinished:
           type: string
-          description: Your GovMetric secure GUID for when a form is finished - This
-            is an optional value. It is created by KLANTINFOCUS when a list  of questions
-            is created. It is a string that is unique per set of questions.
+          description:
+            Your GovMetric secure GUID for when a form is finished - This is an optional value. It
+            is created by KLANTINFOCUS when a list  of questions is created. It is a string that is
+            unique per set of questions.
           maxLength: 50
         govmetricSecureGuidFormAborted:
           type: string
-          description: Your GovMetric secure GUID for when a form is aborted - This
-            is an optional value. It is created by KLANTINFOCUS when a list  of questions
-            is created. It is a string that is unique per set of questions.
+          description:
+            Your GovMetric secure GUID for when a form is aborted - This is an optional value. It is
+            created by KLANTINFOCUS when a list  of questions is created. It is a string that is
+            unique per set of questions.
           maxLength: 50
         enableGovmetricAnalytics:
           type: boolean
-          description: This enables GovMetric to collect data while a user fills in
-            a form and it adds a button at the end of a form to fill in a client satisfaction
-            survey.
+          description:
+            This enables GovMetric to collect data while a user fills in a form and it adds a button
+            at the end of a form to fill in a client satisfaction survey.
     ApiTypeEnum:
       enum:
-      - ac
-      - nrc
-      - zrc
-      - ztc
-      - drc
-      - brc
-      - cmc
-      - kc
-      - vrc
-      - orc
+        - ac
+        - nrc
+        - zrc
+        - ztc
+        - drc
+        - brc
+        - cmc
+        - kc
+        - vrc
+        - orc
       type: string
       description: |-
         * `ac` - AC (Authorizations)
@@ -6700,8 +6738,8 @@ components:
         * `orc` - ORC (Overige)
     AppearanceEnum:
       enum:
-      - dark
-      - light
+        - dark
+        - light
       type: string
       description: |-
         * `dark` - Dark
@@ -6742,38 +6780,38 @@ components:
           format: uri
           readOnly: true
           title: status check endpoint
-          description: The API endpoint where the background processing status can
-            be checked. After calling the completion endpoint, this status URL should
-            be polled to report the processing status back to the end-user. Note that
-            the endpoint contains a token which invalidates on state changes and after
-            one day.
+          description:
+            The API endpoint where the background processing status can be checked. After calling
+            the completion endpoint, this status URL should be polled to report the processing
+            status back to the end-user. Note that the endpoint contains a token which invalidates
+            on state changes and after one day.
       required:
-      - contactDetails
-      - date
-      - datetime
-      - location
-      - privacyPolicyAccepted
-      - products
-      - statusUrl
-      - submission
+        - contactDetails
+        - date
+        - datetime
+        - location
+        - privacyPolicyAccepted
+        - products
+        - statusUrl
+        - submission
     AppointmentOptions:
       type: object
       properties:
         isAppointment:
           type: boolean
           title: Is appointment form
-          description: Boolean indicating if the form is an appointment form, using
-            the new flow.
+          description: Boolean indicating if the form is an appointment form, using the new flow.
         supportsMultipleProducts:
           type: boolean
           nullable: true
           readOnly: true
           title: Multiple products supported?
-          description: If not supported, only one product/service can be booked at
-            once and the UI may not allow the user to select multiple products.
+          description:
+            If not supported, only one product/service can be booked at once and the UI may not
+            allow the user to select multiple products.
       required:
-      - isAppointment
-      - supportsMultipleProducts
+        - isAppointment
+        - supportsMultipleProducts
     AppointmentProduct:
       type: object
       properties:
@@ -6787,9 +6825,9 @@ components:
           type: string
           description: Product name
       required:
-      - code
-      - identifier
-      - name
+        - code
+        - identifier
+        - name
     AuthPlugin:
       type: object
       properties:
@@ -6805,8 +6843,9 @@ components:
           description: The authentication attribute provided by this plugin.
         supportsLoaOverride:
           type: boolean
-          description: Does the Identity Provider support overriding the minimum Level
-            of Assurance (LoA) through the authentication request?
+          description:
+            Does the Identity Provider support overriding the minimum Level of Assurance (LoA)
+            through the authentication request?
         assuranceLevels:
           type: array
           items:
@@ -6814,21 +6853,21 @@ components:
           title: Levels of assurance
           description: The levels of assurance this plugin defines.
       required:
-      - assuranceLevels
-      - id
-      - label
-      - providesAuth
-      - supportsLoaOverride
+        - assuranceLevels
+        - id
+        - label
+        - providesAuth
+        - supportsLoaOverride
     AuthenticationBackendsEnum:
       enum:
-      - digid_oidc
-      - eherkenning_oidc
-      - digid_machtigen_oidc
-      - eherkenning_bewindvoering_oidc
-      - digid
-      - eherkenning
-      - eidas
-      - org-oidc
+        - digid_oidc
+        - eherkenning_oidc
+        - digid_machtigen_oidc
+        - eherkenning_bewindvoering_oidc
+        - digid
+        - eherkenning
+        - eidas
+        - org-oidc
       type: string
       description: |-
         * `digid_oidc` - DigiD
@@ -6841,8 +6880,8 @@ components:
         * `org-oidc` - OpenID Connect
     AvailableLanguagesEnum:
       enum:
-      - nl
-      - en
+        - nl
+        - en
       type: string
       description: |-
         * `nl` - Dutch
@@ -6852,17 +6891,15 @@ components:
       properties:
         brpPersonenPurposeLimitationHeaderValue:
           type: string
-          description: The purpose limitation ("doelbinding") for queries to the BRP
-            Persoon API.
+          description: The purpose limitation ("doelbinding") for queries to the BRP Persoon API.
           maxLength: 255
         brpPersonenProcessingHeaderValue:
           type: string
-          description: The processing ("verwerking") for queries to the BRP Persoon
-            API.
+          description: The processing ("verwerking") for queries to the BRP Persoon API.
           maxLength: 242
     BlankEnum:
       enum:
-      - ''
+        - ''
     ButtonText:
       type: object
       properties:
@@ -6872,8 +6909,8 @@ components:
         value:
           type: string
       required:
-      - resolved
-      - value
+        - resolved
+        - value
     CancelAppointmentInput:
       type: object
       properties:
@@ -6882,27 +6919,29 @@ components:
           format: email
           description: Email given when making the appointment
       required:
-      - email
+        - email
     CaseType:
       type: object
       properties:
         identification:
           type: string
-          description: The unique identification within the catalogue for a given
-            case type. Note that multiple versions of the same case type with the
-            same identification exist.
+          description:
+            The unique identification within the catalogue for a given case type. Note that multiple
+            versions of the same case type with the same identification exist.
         description:
           type: string
-          description: The name/kind of case type based on which people can recognize/search
-            a particular case type.
+          description:
+            The name/kind of case type based on which people can recognize/search a particular case
+            type.
         isPublished:
           type: boolean
-          description: Unpublished case types may be returned when the feature flag
-            'ZGW_APIS_INCLUDE_DRAFTS' is enabled.
+          description:
+            Unpublished case types may be returned when the feature flag 'ZGW_APIS_INCLUDE_DRAFTS'
+            is enabled.
       required:
-      - description
-      - identification
-      - isPublished
+        - description
+        - identification
+        - isPublished
     CaseTypeProduct:
       type: object
       properties:
@@ -6913,7 +6952,7 @@ components:
           type: string
           description: 'The description of a product bound to a case type. '
       required:
-      - url
+        - url
     Catalogue:
       type: object
       properties:
@@ -6927,13 +6966,14 @@ components:
         url:
           type: string
           format: uri
-          description: The API resource URL of the catalogue. You can use this for
-            subsequent filtering operations.
+          description:
+            The API resource URL of the catalogue. You can use this for subsequent filtering
+            operations.
       required:
-      - domain
-      - label
-      - rsin
-      - url
+        - domain
+        - label
+        - rsin
+        - url
     Category:
       type: object
       properties:
@@ -6958,18 +6998,18 @@ components:
               uuid:
                 type: string
             required:
-            - name
-            - uuid
+              - name
+              - uuid
           readOnly: true
         depth:
           type: integer
           maximum: 2147483647
           minimum: 0
       required:
-      - ancestors
-      - depth
-      - name
-      - url
+        - ancestors
+        - depth
+        - name
+        - url
     CompletionValidation:
       type: object
       properties:
@@ -6987,11 +7027,11 @@ components:
         containsBlockedSteps:
           type: boolean
       required:
-      - containsBlockedSteps
-      - incompleteSteps
-      - privacyPolicyAccepted
-      - statementOfTruthAccepted
-      - submissionAllowed
+        - containsBlockedSteps
+        - incompleteSteps
+        - privacyPolicyAccepted
+        - statementOfTruthAccepted
+        - submissionAllowed
       x-experimental: true
     ComponentProperty:
       type: object
@@ -7002,19 +7042,19 @@ components:
           description: The Form.io component property to alter, identified by `component.key`
         type:
           allOf:
-          - $ref: '#/components/schemas/ComponentPropertyTypeEnum'
+            - $ref: '#/components/schemas/ComponentPropertyTypeEnum'
           description: |-
             The type of the value field
 
             * `bool` - Boolean
             * `json` - JSON
       required:
-      - type
-      - value
+        - type
+        - value
     ComponentPropertyTypeEnum:
       enum:
-      - bool
-      - json
+        - bool
+        - json
       type: string
       description: |-
         * `bool` - Boolean
@@ -7060,19 +7100,20 @@ components:
           maxLength: 1000
         content:
           type: string
-          description: The content of the email message can contain variables that
-            will be templated from the submitted form data.
+          description:
+            The content of the email message can contain variables that will be templated from the
+            submitted form data.
         cosignSubject:
           type: string
           description: Subject of the email message when the form requires cosigning.
           maxLength: 1000
         cosignContent:
           type: string
-          description: The content of the email message when cosgining is required.
-            You must include the '{% payment_information %}' and '{% cosign_information
-            %}' instructions. Additionally, you can use the '{% confirmation_summary
-            %}' instruction and some additional variables - see the documentation
-            for details.
+          description:
+            The content of the email message when cosgining is required. You must include the '{%
+            payment_information %}' and '{% cosign_information %}' instructions. Additionally, you
+            can use the '{% confirmation_summary %}' instruction and some additional variables - see
+            the documentation for details.
         translations:
           $ref: '#/components/schemas/ConfirmationEmailTemplateModelTranslations'
     ConfirmationEmailTemplateENTranslations:
@@ -7088,8 +7129,9 @@ components:
           type: string
           nullable: true
           title: Content [en]
-          description: The content of the email message can contain variables that
-            will be templated from the submitted form data.
+          description:
+            The content of the email message can contain variables that will be templated from the
+            submitted form data.
         cosignSubject:
           type: string
           nullable: true
@@ -7100,11 +7142,11 @@ components:
           type: string
           nullable: true
           title: Cosign content [en]
-          description: The content of the email message when cosgining is required.
-            You must include the '{% payment_information %}' and '{% cosign_information
-            %}' instructions. Additionally, you can use the '{% confirmation_summary
-            %}' instruction and some additional variables - see the documentation
-            for details.
+          description:
+            The content of the email message when cosgining is required. You must include the '{%
+            payment_information %}' and '{% cosign_information %}' instructions. Additionally, you
+            can use the '{% confirmation_summary %}' instruction and some additional variables - see
+            the documentation for details.
     ConfirmationEmailTemplateModelTranslations:
       type: object
       description: |-
@@ -7130,11 +7172,11 @@ components:
       properties:
         nl:
           allOf:
-          - $ref: '#/components/schemas/ConfirmationEmailTemplateNLTranslations'
+            - $ref: '#/components/schemas/ConfirmationEmailTemplateNLTranslations'
           description: 'Content translations for: Dutch'
         en:
           allOf:
-          - $ref: '#/components/schemas/ConfirmationEmailTemplateENTranslations'
+            - $ref: '#/components/schemas/ConfirmationEmailTemplateENTranslations'
           description: 'Content translations for: English'
     ConfirmationEmailTemplateNLTranslations:
       type: object
@@ -7149,8 +7191,9 @@ components:
           type: string
           nullable: true
           title: Content [nl]
-          description: The content of the email message can contain variables that
-            will be templated from the submitted form data.
+          description:
+            The content of the email message can contain variables that will be templated from the
+            submitted form data.
         cosignSubject:
           type: string
           nullable: true
@@ -7161,11 +7204,11 @@ components:
           type: string
           nullable: true
           title: Cosign content [nl]
-          description: The content of the email message when cosgining is required.
-            You must include the '{% payment_information %}' and '{% cosign_information
-            %}' instructions. Additionally, you can use the '{% confirmation_summary
-            %}' instruction and some additional variables - see the documentation
-            for details.
+          description:
+            The content of the email message when cosgining is required. You must include the '{%
+            payment_information %}' and '{% cosign_information %}' instructions. Additionally, you
+            can use the '{% confirmation_summary %}' instruction and some additional variables - see
+            the documentation for details.
     ContextAwareFormStep:
       type: object
       properties:
@@ -7177,8 +7220,8 @@ components:
           additionalProperties: {}
           readOnly: true
       required:
-      - configuration
-      - index
+        - configuration
+        - index
     CosignLoginInfo:
       type: object
       properties:
@@ -7195,34 +7238,33 @@ components:
           format: uri
           readOnly: true
           title: Login URL
-          description: URL to start login flow, expects 'next' GET-parameter with
-            return url
+          description: URL to start login flow, expects 'next' GET-parameter with return url
         logo:
           allOf:
-          - $ref: '#/components/schemas/LoginLogo'
+            - $ref: '#/components/schemas/LoginLogo'
           readOnly: true
           title: Optional logo
           description: Optional logo
         isForGemachtigde:
           type: boolean
           readOnly: true
-          description: This authorization method can be used to log in on behalf of
-            another person or company
+          description:
+            This authorization method can be used to log in on behalf of another person or company
       required:
-      - identifier
-      - isForGemachtigde
-      - label
-      - logo
-      - url
+        - identifier
+        - isForGemachtigde
+        - label
+        - logo
+        - url
     DMNEvaluateAction:
       type: object
       properties:
         config:
           allOf:
-          - $ref: '#/components/schemas/DMNEvaluateActionConfig'
+            - $ref: '#/components/schemas/DMNEvaluateActionConfig'
           title: Configuration
       required:
-      - config
+        - config
     DMNEvaluateActionConfig:
       type: object
       properties:
@@ -7242,29 +7284,29 @@ components:
           items:
             $ref: '#/components/schemas/VariableMapping'
       required:
-      - decisionDefinitionId
-      - inputMapping
-      - outputMapping
-      - pluginId
+        - decisionDefinitionId
+        - inputMapping
+        - outputMapping
+        - pluginId
     DataMappingTypeEnum:
       enum:
-      - JsonLogic
-      - jq
+        - JsonLogic
+        - jq
       type: string
       description: |-
         * `JsonLogic` - JsonLogic
         * `jq` - jq
     DataTypeEnum:
       enum:
-      - string
-      - boolean
-      - object
-      - array
-      - int
-      - float
-      - datetime
-      - time
-      - date
+        - string
+        - boolean
+        - object
+        - array
+        - int
+        - float
+        - datetime
+        - time
+        - date
       type: string
       description: |-
         * `string` - String
@@ -7283,7 +7325,7 @@ components:
           type: string
           format: date
       required:
-      - date
+        - date
     DecisionDefinition:
       type: object
       properties:
@@ -7295,8 +7337,8 @@ components:
           type: string
           description: Human readable name/label identifying the decision definition.
       required:
-      - id
-      - label
+        - id
+        - label
     DecisionDefinitionInput:
       type: object
       properties:
@@ -7308,11 +7350,12 @@ components:
           description: Short description of the input.
         expression:
           type: string
-          description: Specifies how the value of the input clause is generated. It
-            usually simple references a variable which is available during the evaluation.
+          description:
+            Specifies how the value of the input clause is generated. It usually simple references a
+            variable which is available during the evaluation.
         typeRef:
           allOf:
-          - $ref: '#/components/schemas/TypeRefEnum'
+            - $ref: '#/components/schemas/TypeRefEnum'
           description: |-
             The type of the input expression after being evaluated.
 
@@ -7323,10 +7366,10 @@ components:
             * `date` - date
             * `double` - double
       required:
-      - expression
-      - id
-      - label
-      - typeRef
+        - expression
+        - id
+        - label
+        - typeRef
     DecisionDefinitionIntrospectionResult:
       type: object
       properties:
@@ -7339,8 +7382,8 @@ components:
           items:
             $ref: '#/components/schemas/DecisionDefinitionOutput'
       required:
-      - inputs
-      - outputs
+        - inputs
+        - outputs
     DecisionDefinitionOutput:
       type: object
       properties:
@@ -7355,7 +7398,7 @@ components:
           description: Used to reference the value of the output.
         typeRef:
           allOf:
-          - $ref: '#/components/schemas/TypeRefEnum'
+            - $ref: '#/components/schemas/TypeRefEnum'
           description: |-
             The type of the output clause.
 
@@ -7366,24 +7409,23 @@ components:
             * `date` - date
             * `double` - double
       required:
-      - id
-      - label
-      - name
-      - typeRef
+        - id
+        - label
+        - name
+        - typeRef
     DecisionDefinitionVersion:
       type: object
       properties:
         id:
           type: string
           title: version identifier
-          description: The (unique) identifier pointing to a particular decision definition
-            version.
+          description: The (unique) identifier pointing to a particular decision definition version.
         label:
           type: string
           description: Textual representation of the definition version.
       required:
-      - id
-      - label
+        - id
+        - label
     DecisionDefinitionXML:
       type: object
       properties:
@@ -7392,7 +7434,7 @@ components:
           title: DMN XML
           description: If no XML can be obtained, the value will be an empty string.
       required:
-      - xml
+        - xml
     DecisionPlugin:
       type: object
       properties:
@@ -7403,11 +7445,11 @@ components:
           type: string
           description: The human-readable name for a plugin.
       required:
-      - id
-      - label
+        - id
+        - label
     DisplayEnum:
       enum:
-      - form
+        - form
       type: string
       description: '* `form` - form'
     DocumentType:
@@ -7415,13 +7457,15 @@ components:
       properties:
         description:
           type: string
-          description: The description uniquely identifies a document type within
-            a catalogue. Multiple versions of the same document type may exist, these
-            have non-overlapping valid from/valid until dates.
+          description:
+            The description uniquely identifies a document type within a catalogue. Multiple
+            versions of the same document type may exist, these have non-overlapping valid
+            from/valid until dates.
         isPublished:
           type: boolean
-          description: Unpublished document types may be returned when the feature
-            flag 'ZGW_APIS_INCLUDE_DRAFTS' is enabled.
+          description:
+            Unpublished document types may be returned when the feature flag
+            'ZGW_APIS_INCLUDE_DRAFTS' is enabled.
         url:
           type: string
           format: uri
@@ -7429,10 +7473,10 @@ components:
           type: string
           description: A representation of the catalogue containing the document type.
       required:
-      - catalogueLabel
-      - description
-      - isPublished
-      - url
+        - catalogueLabel
+        - description
+        - isPublished
+        - url
     EmailVerification:
       type: object
       properties:
@@ -7451,9 +7495,9 @@ components:
           description: The email address that is being verified.
           maxLength: 254
       required:
-      - componentKey
-      - email
-      - submission
+        - componentKey
+        - email
+        - submission
     Exception:
       type: object
       description: |-
@@ -7478,14 +7522,15 @@ components:
           description: Extra information about the error, if available
         instance:
           type: string
-          description: URI with reference to this specific occurrence of the error.
-            This can be used in conjunction with server logs, for example.
+          description:
+            URI with reference to this specific occurrence of the error. This can be used in
+            conjunction with server logs, for example.
       required:
-      - code
-      - detail
-      - instance
-      - status
-      - title
+        - code
+        - detail
+        - instance
+        - status
+        - title
     FieldValidationError:
       type: object
       description: |-
@@ -7504,9 +7549,9 @@ components:
           type: string
           description: Explanation of what went wrong with the data
       required:
-      - code
-      - name
-      - reason
+        - code
+        - name
+        - reason
     Form:
       type: object
       description: |-
@@ -7554,17 +7599,17 @@ components:
           readOnly: true
         autoLoginAuthenticationBackend:
           type: string
-          description: The authentication backend to which the user will be automatically
-            redirected upon starting the form. The chosen backend must be present
-            in `authentication_backends`
+          description:
+            The authentication backend to which the user will be automatically redirected upon
+            starting the form. The chosen backend must be present in `authentication_backends`
         paymentRequired:
           type: boolean
           readOnly: true
         paymentBackend:
           default: ''
           oneOf:
-          - $ref: '#/components/schemas/PaymentBackendEnum'
-          - $ref: '#/components/schemas/BlankEnum'
+            - $ref: '#/components/schemas/PaymentBackendEnum'
+            - $ref: '#/components/schemas/BlankEnum'
         paymentBackendOptions:
           type: object
           additionalProperties: {}
@@ -7576,12 +7621,11 @@ components:
           readOnly: true
         priceVariableKey:
           type: string
-          description: Key of the variable that contains the calculated submission
-            price.
+          description: Key of the variable that contains the calculated submission price.
           pattern: ^(\w|\w[\w.\-]*\w)$
         appointmentOptions:
           allOf:
-          - $ref: '#/components/schemas/AppointmentOptions'
+            - $ref: '#/components/schemas/AppointmentOptions'
           nullable: true
         literals:
           $ref: '#/components/schemas/FormLiterals'
@@ -7615,17 +7659,16 @@ components:
           readOnly: true
         showProgressIndicator:
           type: boolean
-          description: Whether the step progression should be displayed in the UI
-            or not.
+          description: Whether the step progression should be displayed in the UI or not.
         showSummaryProgress:
           type: boolean
           title: Show summary of the progress
-          description: Whether to display the short progress summary, indicating the
-            current step number and total amount of steps.
+          description:
+            Whether to display the short progress summary, indicating the current step number and
+            total amount of steps.
         maintenanceMode:
           type: boolean
-          description: Users will not be able to start the form if it is in maintenance
-            mode.
+          description: Users will not be able to start the form if it is in maintenance mode.
         active:
           type: boolean
         activateOn:
@@ -7642,21 +7685,24 @@ components:
           type: boolean
         submissionConfirmationTemplate:
           type: string
-          description: The content of the submission confirmation page. It can contain
-            variables that will be templated from the submitted form data. If not
-            specified, the global template will be used.
+          description:
+            The content of the submission confirmation page. It can contain variables that will be
+            templated from the submitted form data. If not specified, the global template will be
+            used.
         introductionPageContent:
           type: string
           title: Introduction page
-          description: Content for the introduction page that leads to the start page
-            of the form. Leave blank to disable the introduction page.
+          description:
+            Content for the introduction page that leads to the start page of the form. Leave blank
+            to disable the introduction page.
         explanationTemplate:
           type: string
-          description: Content that will be shown on the start page of the form, below
-            the title and above the log in text.
+          description:
+            Content that will be shown on the start page of the form, below the title and above the
+            log in text.
         submissionAllowed:
           allOf:
-          - $ref: '#/components/schemas/SubmissionAllowedEnum'
+            - $ref: '#/components/schemas/SubmissionAllowedEnum'
           description: |-
             Whether the user is allowed to submit this form or not, and whether the overview page should be shown if they are not.
 
@@ -7669,16 +7715,17 @@ components:
           minimum: 0
           nullable: true
           title: Maximum allowed submissions
-          description: Maximum number of allowed submissions per form. Leave this
-            empty if no limit is needed.
+          description:
+            Maximum number of allowed submissions per form. Leave this empty if no limit is needed.
         submissionCounter:
           type: integer
           maximum: 2147483647
           minimum: 0
           title: Submissions counter
-          description: Counter to track how many submissions have been completed for
-            the specific form. This works in combination with the maximum allowed
-            submissions per form and can be reset via the frontend.
+          description:
+            Counter to track how many submissions have been completed for the specific form. This
+            works in combination with the maximum allowed submissions per form and can be reset via
+            the frontend.
         submissionLimitReached:
           type: boolean
           readOnly: true
@@ -7687,7 +7734,7 @@ components:
           description: Whether the user is allowed to suspend this form or not.
         askPrivacyConsent:
           allOf:
-          - $ref: '#/components/schemas/StatementCheckboxEnum'
+            - $ref: '#/components/schemas/StatementCheckboxEnum'
           description: |-
             If enabled, the user will have to agree to the privacy policy before submitting a form.
 
@@ -7696,7 +7743,7 @@ components:
             * `disabled` - Disabled
         askStatementOfTruth:
           allOf:
-          - $ref: '#/components/schemas/StatementCheckboxEnum'
+            - $ref: '#/components/schemas/StatementCheckboxEnum'
           description: |-
             If enabled, the user will have to agree that they filled out the form truthfully before submitting it.
 
@@ -7707,16 +7754,15 @@ components:
           $ref: '#/components/schemas/SubmissionsRemovalOptions'
         confirmationEmailTemplate:
           allOf:
-          - $ref: '#/components/schemas/ConfirmationEmailTemplate'
+            - $ref: '#/components/schemas/ConfirmationEmailTemplate'
           nullable: true
         sendConfirmationEmail:
           type: boolean
-          description: Whether a confirmation email should be sent to the end user
-            filling in the form.
+          description:
+            Whether a confirmation email should be sent to the end user filling in the form.
         displayMainWebsiteLink:
           type: boolean
-          description: Display the link to the main website on the submission confirmation
-            page.
+          description: Display the link to the main website on the submission confirmation page.
         includeConfirmationPageContentInPdf:
           type: boolean
           description: Display the instruction from the confirmation page in the PDF.
@@ -7741,20 +7787,20 @@ components:
           type: boolean
           readOnly: true
           title: cosign request has links in email
-          description: Indicates whether deep links are included in the cosign request
-            emails or not.
+          description:
+            Indicates whether deep links are included in the cosign request emails or not.
         cosignLoginInfo:
           allOf:
-          - $ref: '#/components/schemas/CosignLoginInfo'
+            - $ref: '#/components/schemas/CosignLoginInfo'
           readOnly: true
           deprecated: true
         submissionStatementsConfiguration:
           type: array
           items:
             type: object
-            description: Eén enkel Form.io selectievakjecomponent voor de verklaring
-              die een gebruiker mogelijks moet accepteren voor het formulier ingestuurd
-              kan worden.
+            description:
+              Eén enkel Form.io selectievakjecomponent voor de verklaring die een gebruiker
+              mogelijks moet accepteren voor het formulier ingestuurd kan worden.
             properties:
               type:
                 type: string
@@ -7773,42 +7819,42 @@ components:
                     description: Whether accepting this statement is required or not.
             title: Statement checkbox
           readOnly: true
-          description: A list of statements that need to be accepted by the user before
-            they can submit a form. Returns a list of formio component definitions,
-            all of type 'checkbox'.
+          description:
+            A list of statements that need to be accepted by the user before they can submit a form.
+            Returns a list of formio component definitions, all of type 'checkbox'.
         submissionReportDownloadLinkTitle:
           type: string
           readOnly: true
         brpPersonenRequestOptions:
           allOf:
-          - $ref: '#/components/schemas/BRPPersonenRequestOptions'
+            - $ref: '#/components/schemas/BRPPersonenRequestOptions'
           nullable: true
       required:
-      - cosignHasLinkInEmail
-      - cosignLoginInfo
-      - cosignLoginOptions
-      - hideNonApplicableSteps
-      - loginOptions
-      - loginRequired
-      - name
-      - paymentOptions
-      - paymentRequired
-      - requiredFieldsWithAsterisk
-      - resumeLinkLifetime
-      - slug
-      - steps
-      - submissionLimitReached
-      - submissionReportDownloadLinkTitle
-      - submissionStatementsConfiguration
-      - url
-      - uuid
+        - cosignHasLinkInEmail
+        - cosignLoginInfo
+        - cosignLoginOptions
+        - hideNonApplicableSteps
+        - loginOptions
+        - loginRequired
+        - name
+        - paymentOptions
+        - paymentRequired
+        - requiredFieldsWithAsterisk
+        - resumeLinkLifetime
+        - slug
+        - steps
+        - submissionLimitReached
+        - submissionReportDownloadLinkTitle
+        - submissionStatementsConfiguration
+        - url
+        - uuid
     FormAdminMessage:
       type: object
       description: Collect metadata about which (success) message to send.
       properties:
         submitAction:
           allOf:
-          - $ref: '#/components/schemas/SubmitActionEnum'
+            - $ref: '#/components/schemas/SubmitActionEnum'
           description: |-
             Which submit action was clicked. This determines the success message todisplay.
 
@@ -7822,12 +7868,13 @@ components:
           type: string
           format: uri
           readOnly: true
-          description: Where the UI should redirect the user to. The exact admin URL
-            varies with the submit action.
+          description:
+            Where the UI should redirect the user to. The exact admin URL varies with the submit
+            action.
       required:
-      - isCreate
-      - redirectUrl
-      - submitAction
+        - isCreate
+        - redirectUrl
+        - submitAction
     FormData:
       type: object
       properties:
@@ -7835,9 +7882,9 @@ components:
           type: object
           additionalProperties: {}
           title: form data
-          description: The Form.io submission data object. This will be merged with
-            the full form submission data, including data from other steps, to evaluate
-            the configured form logic.
+          description:
+            The Form.io submission data object. This will be merged with the full form submission
+            data, including data from other steps, to evaluate the configured form logic.
     FormDefinition:
       type: object
       properties:
@@ -7862,7 +7909,7 @@ components:
           deprecated: true
         configuration:
           allOf:
-          - $ref: '#/components/schemas/FormDefinitionConfiguration'
+            - $ref: '#/components/schemas/FormDefinitionConfiguration'
           title: Form.io configuration
           description: The form definition as Form.io JSON schema
         loginRequired:
@@ -7875,12 +7922,12 @@ components:
           $ref: '#/components/schemas/FormDefinitionModelTranslations'
         componentTranslations:
           allOf:
-          - $ref: '#/components/schemas/ComponentTranslations'
+            - $ref: '#/components/schemas/ComponentTranslations'
           nullable: true
       required:
-      - configuration
-      - name
-      - url
+        - configuration
+        - name
+        - url
     FormDefinitionConfiguration:
       type: object
       properties:
@@ -7913,7 +7960,7 @@ components:
           deprecated: true
         configuration:
           allOf:
-          - $ref: '#/components/schemas/FormDefinitionConfiguration'
+            - $ref: '#/components/schemas/FormDefinitionConfiguration'
           title: Form.io configuration
           description: The form definition as Form.io JSON schema
         loginRequired:
@@ -7926,20 +7973,21 @@ components:
           $ref: '#/components/schemas/FormDefinitionDetailModelTranslations'
         componentTranslations:
           allOf:
-          - $ref: '#/components/schemas/ComponentTranslations'
+            - $ref: '#/components/schemas/ComponentTranslations'
           nullable: true
         usedIn:
           type: array
           items:
             $ref: '#/components/schemas/UsedInForm'
           title: Used in forms
-          description: The collection of forms making use of this definition. This
-            includes both active and inactive forms.
+          description:
+            The collection of forms making use of this definition. This includes both active and
+            inactive forms.
       required:
-      - configuration
-      - name
-      - url
-      - usedIn
+        - configuration
+        - name
+        - url
+        - usedIn
     FormDefinitionDetailENTranslations:
       type: object
       properties:
@@ -7973,11 +8021,11 @@ components:
       properties:
         nl:
           allOf:
-          - $ref: '#/components/schemas/FormDefinitionDetailNLTranslations'
+            - $ref: '#/components/schemas/FormDefinitionDetailNLTranslations'
           description: 'Content translations for: Dutch'
         en:
           allOf:
-          - $ref: '#/components/schemas/FormDefinitionDetailENTranslations'
+            - $ref: '#/components/schemas/FormDefinitionDetailENTranslations'
           description: 'Content translations for: English'
     FormDefinitionDetailNLTranslations:
       type: object
@@ -8020,11 +8068,11 @@ components:
       properties:
         nl:
           allOf:
-          - $ref: '#/components/schemas/FormDefinitionNLTranslations'
+            - $ref: '#/components/schemas/FormDefinitionNLTranslations'
           description: 'Content translations for: Dutch'
         en:
           allOf:
-          - $ref: '#/components/schemas/FormDefinitionENTranslations'
+            - $ref: '#/components/schemas/FormDefinitionENTranslations'
           description: 'Content translations for: English'
     FormDefinitionNLTranslations:
       type: object
@@ -8055,61 +8103,65 @@ components:
           type: string
           nullable: true
           title: Submission confirmation template [en]
-          description: The content of the submission confirmation page. It can contain
-            variables that will be templated from the submitted form data. If not
-            specified, the global template will be used.
+          description:
+            The content of the submission confirmation page. It can contain variables that will be
+            templated from the submitted form data. If not specified, the global template will be
+            used.
         beginText:
           type: string
           nullable: true
           title: Begin text [en]
-          description: The text that will be displayed at the start of the form to
-            indicate the user can begin to fill in the form. Leave blank to get value
-            from global configuration.
+          description:
+            The text that will be displayed at the start of the form to indicate the user can begin
+            to fill in the form. Leave blank to get value from global configuration.
           maxLength: 50
         previousText:
           type: string
           nullable: true
           title: Previous text [en]
-          description: The text that will be displayed in the overview page to go
-            to the previous step. Leave blank to get value from global configuration.
+          description:
+            The text that will be displayed in the overview page to go to the previous step. Leave
+            blank to get value from global configuration.
           maxLength: 50
         changeText:
           type: string
           nullable: true
           title: Change text [en]
-          description: The text that will be displayed in the overview page to change
-            a certain step. Leave blank to get value from global configuration.
+          description:
+            The text that will be displayed in the overview page to change a certain step. Leave
+            blank to get value from global configuration.
           maxLength: 50
         confirmText:
           type: string
           nullable: true
           title: Confirm text [en]
-          description: The text that will be displayed in the overview page to confirm
-            the form is filled in correctly. Leave blank to get value from global
-            configuration.
+          description:
+            The text that will be displayed in the overview page to confirm the form is filled in
+            correctly. Leave blank to get value from global configuration.
           maxLength: 50
         introductionPageContent:
           type: string
           nullable: true
           title: Introduction page [en]
-          description: Content for the introduction page that leads to the start page
-            of the form. Leave blank to disable the introduction page.
+          description:
+            Content for the introduction page that leads to the start page of the form. Leave blank
+            to disable the introduction page.
         explanationTemplate:
           type: string
           nullable: true
           title: Explanation template [en]
-          description: Content that will be shown on the start page of the form, below
-            the title and above the log in text.
+          description:
+            Content that will be shown on the start page of the form, below the title and above the
+            log in text.
     FormImport:
       type: object
       properties:
         file:
           type: string
           format: uri
-          description: The file that contains the form, form definitions and form
-            steps.
+          description: The file that contains the form, form definitions and form steps.
       required:
-      - file
+        - file
     FormLiterals:
       type: object
       properties:
@@ -8138,42 +8190,43 @@ components:
           description: Form to which the JSON logic applies.
         jsonLogicTrigger:
           title: JSON logic
-          description: The trigger expression to determine if the actions should execute
-            or not. Note that this must be a valid JsonLogic expression, and the first
-            operand must be a reference to a variable in the form.
+          description:
+            The trigger expression to determine if the actions should execute or not. Note that this
+            must be a valid JsonLogic expression, and the first operand must be a reference to a
+            variable in the form.
         description:
           type: string
           description: Logic rule description in natural language.
           maxLength: 100
         order:
           type: integer
-          description: Order of the rule relative to the form it belongs to. Logic
-            rules are evaluated in this order. Note that specifying a value for the
-            order here will cause the rules before/after this rule to be re-calculated.
+          description:
+            Order of the rule relative to the form it belongs to. Logic rules are evaluated in this
+            order. Note that specifying a value for the order here will cause the rules before/after
+            this rule to be re-calculated.
         triggerFromStep:
           type: string
           format: uri
           nullable: true
-          description: When set, the trigger will only be checked once the specified
-            step is reached. This means the rule will never trigger for steps before
-            the specified trigger step. If unset, the trigger will always be checked.
+          description:
+            When set, the trigger will only be checked once the specified step is reached. This
+            means the rule will never trigger for steps before the specified trigger step. If unset,
+            the trigger will always be checked.
         actions:
           type: array
           items:
             $ref: '#/components/schemas/LogicComponentAction'
-          description: Actions triggered when the trigger expression evaluates to
-            'truthy'.
+          description: Actions triggered when the trigger expression evaluates to 'truthy'.
         isAdvanced:
           type: boolean
-          description: Is this an advanced rule (the admin user manually wrote the
-            trigger as JSON)?
+          description: Is this an advanced rule (the admin user manually wrote the trigger as JSON)?
       required:
-      - actions
-      - form
-      - jsonLogicTrigger
-      - order
-      - url
-      - uuid
+        - actions
+        - form
+        - jsonLogicTrigger
+        - order
+        - url
+        - uuid
     FormModelTranslations:
       type: object
       description: |-
@@ -8199,11 +8252,11 @@ components:
       properties:
         nl:
           allOf:
-          - $ref: '#/components/schemas/FormNLTranslations'
+            - $ref: '#/components/schemas/FormNLTranslations'
           description: 'Content translations for: Dutch'
         en:
           allOf:
-          - $ref: '#/components/schemas/FormENTranslations'
+            - $ref: '#/components/schemas/FormENTranslations'
           description: 'Content translations for: English'
     FormNLTranslations:
       type: object
@@ -8226,51 +8279,56 @@ components:
           type: string
           nullable: true
           title: Submission confirmation template [nl]
-          description: The content of the submission confirmation page. It can contain
-            variables that will be templated from the submitted form data. If not
-            specified, the global template will be used.
+          description:
+            The content of the submission confirmation page. It can contain variables that will be
+            templated from the submitted form data. If not specified, the global template will be
+            used.
         beginText:
           type: string
           nullable: true
           title: Begin text [nl]
-          description: The text that will be displayed at the start of the form to
-            indicate the user can begin to fill in the form. Leave blank to get value
-            from global configuration.
+          description:
+            The text that will be displayed at the start of the form to indicate the user can begin
+            to fill in the form. Leave blank to get value from global configuration.
           maxLength: 50
         previousText:
           type: string
           nullable: true
           title: Previous text [nl]
-          description: The text that will be displayed in the overview page to go
-            to the previous step. Leave blank to get value from global configuration.
+          description:
+            The text that will be displayed in the overview page to go to the previous step. Leave
+            blank to get value from global configuration.
           maxLength: 50
         changeText:
           type: string
           nullable: true
           title: Change text [nl]
-          description: The text that will be displayed in the overview page to change
-            a certain step. Leave blank to get value from global configuration.
+          description:
+            The text that will be displayed in the overview page to change a certain step. Leave
+            blank to get value from global configuration.
           maxLength: 50
         confirmText:
           type: string
           nullable: true
           title: Confirm text [nl]
-          description: The text that will be displayed in the overview page to confirm
-            the form is filled in correctly. Leave blank to get value from global
-            configuration.
+          description:
+            The text that will be displayed in the overview page to confirm the form is filled in
+            correctly. Leave blank to get value from global configuration.
           maxLength: 50
         introductionPageContent:
           type: string
           nullable: true
           title: Introduction page [nl]
-          description: Content for the introduction page that leads to the start page
-            of the form. Leave blank to disable the introduction page.
+          description:
+            Content for the introduction page that leads to the start page of the form. Leave blank
+            to disable the introduction page.
         explanationTemplate:
           type: string
           nullable: true
           title: Explanation template [nl]
-          description: Content that will be shown on the start page of the form, below
-            the title and above the log in text.
+          description:
+            Content that will be shown on the start page of the form, below the title and above the
+            log in text.
     FormRegistrationBackend:
       type: object
       properties:
@@ -8291,10 +8349,10 @@ components:
           additionalProperties: {}
           title: registration backend options
       required:
-      - backend
-      - key
-      - name
-      - options
+        - backend
+        - key
+        - name
+        - options
     FormStep:
       type: object
       properties:
@@ -8311,7 +8369,7 @@ components:
           pattern: ^[-a-zA-Z0-9_]+$
         configuration:
           allOf:
-          - $ref: '#/components/schemas/FormDefinitionConfiguration'
+            - $ref: '#/components/schemas/FormDefinitionConfiguration'
           readOnly: true
         formDefinition:
           type: string
@@ -8341,19 +8399,19 @@ components:
           $ref: '#/components/schemas/FormStepModelTranslations'
         componentTranslations:
           allOf:
-          - $ref: '#/components/schemas/ComponentTranslations'
+            - $ref: '#/components/schemas/ComponentTranslations'
           readOnly: true
       required:
-      - componentTranslations
-      - configuration
-      - formDefinition
-      - index
-      - internalName
-      - isReusable
-      - loginRequired
-      - name
-      - url
-      - uuid
+        - componentTranslations
+        - configuration
+        - formDefinition
+        - index
+        - internalName
+        - isReusable
+        - loginRequired
+        - name
+        - url
+        - uuid
     FormStepENTranslations:
       type: object
       properties:
@@ -8361,22 +8419,25 @@ components:
           type: string
           nullable: true
           title: Step previous text [en]
-          description: The text that will be displayed in the form step to go to the
-            previous step. Leave blank to get value from global configuration.
+          description:
+            The text that will be displayed in the form step to go to the previous step. Leave blank
+            to get value from global configuration.
           maxLength: 50
         saveText:
           type: string
           nullable: true
           title: Step save text [en]
-          description: The text that will be displayed in the form step to save the
-            current information. Leave blank to get value from global configuration.
+          description:
+            The text that will be displayed in the form step to save the current information. Leave
+            blank to get value from global configuration.
           maxLength: 50
         nextText:
           type: string
           nullable: true
           title: Step next text [en]
-          description: The text that will be displayed in the form step to go to the
-            next step. Leave blank to get value from global configuration.
+          description:
+            The text that will be displayed in the form step to go to the next step. Leave blank to
+            get value from global configuration.
           maxLength: 50
     FormStepLiterals:
       type: object
@@ -8412,11 +8473,11 @@ components:
       properties:
         nl:
           allOf:
-          - $ref: '#/components/schemas/FormStepNLTranslations'
+            - $ref: '#/components/schemas/FormStepNLTranslations'
           description: 'Content translations for: Dutch'
         en:
           allOf:
-          - $ref: '#/components/schemas/FormStepENTranslations'
+            - $ref: '#/components/schemas/FormStepENTranslations'
           description: 'Content translations for: English'
     FormStepNLTranslations:
       type: object
@@ -8425,22 +8486,25 @@ components:
           type: string
           nullable: true
           title: Step previous text [nl]
-          description: The text that will be displayed in the form step to go to the
-            previous step. Leave blank to get value from global configuration.
+          description:
+            The text that will be displayed in the form step to go to the previous step. Leave blank
+            to get value from global configuration.
           maxLength: 50
         saveText:
           type: string
           nullable: true
           title: Step save text [nl]
-          description: The text that will be displayed in the form step to save the
-            current information. Leave blank to get value from global configuration.
+          description:
+            The text that will be displayed in the form step to save the current information. Leave
+            blank to get value from global configuration.
           maxLength: 50
         nextText:
           type: string
           nullable: true
           title: Step next text [nl]
-          description: The text that will be displayed in the form step to go to the
-            next step. Leave blank to get value from global configuration.
+          description:
+            The text that will be displayed in the form step to go to the next step. Leave blank to
+            get value from global configuration.
           maxLength: 50
     FormVariable:
       type: object
@@ -8453,8 +8517,7 @@ components:
           type: string
           format: uri
           nullable: true
-          description: Form definition to which this variable is related. This is
-            kept as metadata
+          description: Form definition to which this variable is related. This is kept as metadata
         name:
           type: string
           description: Name of the variable
@@ -8464,7 +8527,7 @@ components:
           pattern: ^(\w|\w[\w.\-]*\w)$
         source:
           allOf:
-          - $ref: '#/components/schemas/SourceEnum'
+            - $ref: '#/components/schemas/SourceEnum'
           description: |-
             Where will the data that will be associated with this variable come from
 
@@ -8472,7 +8535,7 @@ components:
             * `user_defined` - User defined
         serviceFetchConfiguration:
           allOf:
-          - $ref: '#/components/schemas/ServiceFetchConfiguration'
+            - $ref: '#/components/schemas/ServiceFetchConfiguration'
           nullable: true
         prefillPlugin:
           type: string
@@ -8480,12 +8543,12 @@ components:
           maxLength: 50
         prefillAttribute:
           type: string
-          description: Which attribute from the prefill response should be used to
-            fill this variable
+          description:
+            Which attribute from the prefill response should be used to fill this variable
           maxLength: 200
         prefillIdentifierRole:
           allOf:
-          - $ref: '#/components/schemas/PrefillIdentifierRoleEnum'
+            - $ref: '#/components/schemas/PrefillIdentifierRoleEnum'
           description: |-
             In case that multiple identifiers are returned (in the case of eHerkenning bewindvoering and DigiD Machtigen), should the prefill data related to the main identifier be used, or that related to the authorised person?
 
@@ -8494,7 +8557,7 @@ components:
         prefillOptions: {}
         dataType:
           allOf:
-          - $ref: '#/components/schemas/DataTypeEnum'
+            - $ref: '#/components/schemas/DataTypeEnum'
           description: |-
             The type of the value that will be associated with this variable
 
@@ -8518,11 +8581,11 @@ components:
           nullable: true
           description: The initial value for this field
       required:
-      - dataType
-      - form
-      - key
-      - name
-      - source
+        - dataType
+        - form
+        - key
+        - name
+        - source
     FormVersion:
       type: object
       properties:
@@ -8536,7 +8599,7 @@ components:
           description: Date and time of creation of the form version.
         user:
           allOf:
-          - $ref: '#/components/schemas/User'
+            - $ref: '#/components/schemas/User'
           readOnly: true
         description:
           type: string
@@ -8553,10 +8616,10 @@ components:
           title: Application commit hash
           description: Application commit hash at the time this version was created.
       required:
-      - appGitSha
-      - appRelease
-      - created
-      - user
+        - appGitSha
+        - appRelease
+        - created
+        - user
     GenericObject:
       type: object
       description: Generic object
@@ -8575,12 +8638,12 @@ components:
           title: city and street name secret
           description: Secret for the combination of city and street name
       required:
-      - city
-      - streetName
+        - city
+        - streetName
     IncompleteSubmissionsRemovalMethodEnum:
       enum:
-      - delete_permanently
-      - make_anonymous
+        - delete_permanently
+        - make_anonymous
       type: string
       description: |-
         * `delete_permanently` - Submissions will be deleted
@@ -8590,7 +8653,7 @@ components:
       properties:
         code:
           allOf:
-          - $ref: '#/components/schemas/AvailableLanguagesEnum'
+            - $ref: '#/components/schemas/AvailableLanguagesEnum'
           description: |-
             RFC5646 language tag, e.g. `en` or `en-us`
 
@@ -8598,24 +8661,24 @@ components:
             * `en` - English
         name:
           type: string
-          description: Language name in its local representation. e.g. "fy" = "frysk",
-            "nl" = "Nederlands"
+          description:
+            Language name in its local representation. e.g. "fy" = "frysk", "nl" = "Nederlands"
       required:
-      - code
-      - name
+        - code
+        - name
     LanguageCode:
       type: object
       properties:
         code:
           allOf:
-          - $ref: '#/components/schemas/AvailableLanguagesEnum'
+            - $ref: '#/components/schemas/AvailableLanguagesEnum'
           description: |-
             RFC5646 language tag, e.g. `en` or `en-us`
 
             * `nl` - Dutch
             * `en` - English
       required:
-      - code
+        - code
     LanguageInfo:
       type: object
       properties:
@@ -8627,15 +8690,15 @@ components:
           description: Available languages
         current:
           allOf:
-          - $ref: '#/components/schemas/AvailableLanguagesEnum'
+            - $ref: '#/components/schemas/AvailableLanguagesEnum'
           description: |-
             RFC5646 language tag, e.g. `en` or `en-us`
 
             * `nl` - Dutch
             * `en` - English
       required:
-      - current
-      - languages
+        - current
+        - languages
     LatLngSearchResult:
       type: object
       properties:
@@ -8643,7 +8706,7 @@ components:
           type: string
           title: Closest address
       required:
-      - label
+        - label
     LatitudeLongitude:
       type: object
       properties:
@@ -8656,8 +8719,8 @@ components:
           format: double
           title: Longitude
       required:
-      - lat
-      - lng
+        - lat
+        - lng
     Location:
       type: object
       properties:
@@ -8668,16 +8731,16 @@ components:
           type: string
           description: Location name
       required:
-      - identifier
-      - name
+        - identifier
+        - name
     LogicActionPolymorphic:
       oneOf:
-      - $ref: '#/components/schemas/LogicActionPolymorphicGenericObject'
-      - $ref: '#/components/schemas/LogicActionPolymorphicLogicPropertyAction'
-      - $ref: '#/components/schemas/LogicActionPolymorphicLogicValueAction'
-      - $ref: '#/components/schemas/LogicActionPolymorphicLogicFetchAction'
-      - $ref: '#/components/schemas/LogicActionPolymorphicDMNEvaluateAction'
-      - $ref: '#/components/schemas/LogicActionPolymorphicLogicSetRegistrationBackendAction'
+        - $ref: '#/components/schemas/LogicActionPolymorphicGenericObject'
+        - $ref: '#/components/schemas/LogicActionPolymorphicLogicPropertyAction'
+        - $ref: '#/components/schemas/LogicActionPolymorphicLogicValueAction'
+        - $ref: '#/components/schemas/LogicActionPolymorphicLogicFetchAction'
+        - $ref: '#/components/schemas/LogicActionPolymorphicDMNEvaluateAction'
+        - $ref: '#/components/schemas/LogicActionPolymorphicLogicSetRegistrationBackendAction'
       discriminator:
         propertyName: type
         mapping:
@@ -8691,28 +8754,28 @@ components:
           set-registration-backend: '#/components/schemas/LogicActionPolymorphicLogicSetRegistrationBackendAction'
     LogicActionPolymorphicDMNEvaluateAction:
       allOf:
-      - $ref: '#/components/schemas/LogicActionPolymorphicShared'
-      - $ref: '#/components/schemas/DMNEvaluateAction'
+        - $ref: '#/components/schemas/LogicActionPolymorphicShared'
+        - $ref: '#/components/schemas/DMNEvaluateAction'
     LogicActionPolymorphicGenericObject:
       allOf:
-      - $ref: '#/components/schemas/LogicActionPolymorphicShared'
-      - $ref: '#/components/schemas/GenericObject'
+        - $ref: '#/components/schemas/LogicActionPolymorphicShared'
+        - $ref: '#/components/schemas/GenericObject'
     LogicActionPolymorphicLogicFetchAction:
       allOf:
-      - $ref: '#/components/schemas/LogicActionPolymorphicShared'
-      - $ref: '#/components/schemas/LogicFetchAction'
+        - $ref: '#/components/schemas/LogicActionPolymorphicShared'
+        - $ref: '#/components/schemas/LogicFetchAction'
     LogicActionPolymorphicLogicPropertyAction:
       allOf:
-      - $ref: '#/components/schemas/LogicActionPolymorphicShared'
-      - $ref: '#/components/schemas/LogicPropertyAction'
+        - $ref: '#/components/schemas/LogicActionPolymorphicShared'
+        - $ref: '#/components/schemas/LogicPropertyAction'
     LogicActionPolymorphicLogicSetRegistrationBackendAction:
       allOf:
-      - $ref: '#/components/schemas/LogicActionPolymorphicShared'
-      - $ref: '#/components/schemas/LogicSetRegistrationBackendAction'
+        - $ref: '#/components/schemas/LogicActionPolymorphicShared'
+        - $ref: '#/components/schemas/LogicSetRegistrationBackendAction'
     LogicActionPolymorphicLogicValueAction:
       allOf:
-      - $ref: '#/components/schemas/LogicActionPolymorphicShared'
-      - $ref: '#/components/schemas/LogicValueAction'
+        - $ref: '#/components/schemas/LogicActionPolymorphicShared'
+        - $ref: '#/components/schemas/LogicValueAction'
     LogicActionPolymorphicShared:
       type: object
       description: |-
@@ -8736,7 +8799,7 @@ components:
       properties:
         type:
           allOf:
-          - $ref: '#/components/schemas/LogicActionPolymorphicSharedTypeEnum'
+            - $ref: '#/components/schemas/LogicActionPolymorphicSharedTypeEnum'
           description: |-
             Action type for this particular action.
 
@@ -8749,17 +8812,17 @@ components:
             * `set-registration-backend` - Set the registration backend to use for the submission
             * `evaluate-dmn` - Evaluate DMN
       required:
-      - type
+        - type
     LogicActionPolymorphicSharedTypeEnum:
       enum:
-      - step-not-applicable
-      - step-applicable
-      - disable-next
-      - property
-      - variable
-      - fetch-from-service
-      - set-registration-backend
-      - evaluate-dmn
+        - step-not-applicable
+        - step-applicable
+        - disable-next
+        - property
+        - variable
+        - fetch-from-service
+        - set-registration-backend
+        - evaluate-dmn
       type: string
       description: |-
         * `step-not-applicable` - Mark the form step as not-applicable
@@ -8776,25 +8839,27 @@ components:
         component:
           type: string
           title: Form.io component
-          description: 'Sleutel van de Form.io-component waarop de actie van toepassing
-            is. Dit veld is verplicht voor de actietypes `property` - anders is het
-            optioneel. '
+          description:
+            'Sleutel van de Form.io-component waarop de actie van toepassing is. Dit veld is
+            verplicht voor de actietypes `property` - anders is het optioneel. '
         variable:
           type: string
           title: Key of the target variable
-          description: Sleutel van de variabele die aangepast wordt door de actie.
-            Dit veld is verplicht voor de actietypes `variable` - anders is het optioneel.
+          description:
+            Sleutel van de variabele die aangepast wordt door de actie. Dit veld is verplicht voor
+            de actietypes `variable` - anders is het optioneel.
         formStepUuid:
           type: string
           format: uuid
           nullable: true
           title: form step
-          description: De formulierstap die wordt beïnvloed door de actie. Dit veld
-            is verplicht als het actietype `step-not-applicable` is, anders optioneel.
+          description:
+            De formulierstap die wordt beïnvloed door de actie. Dit veld is verplicht als het
+            actietype `step-not-applicable` is, anders optioneel.
         action:
           $ref: '#/components/schemas/LogicActionPolymorphic'
       required:
-      - action
+        - action
     LogicDescription:
       type: object
       properties:
@@ -8807,15 +8872,15 @@ components:
           title: generated description
           description: Description derived from the input expression
       required:
-      - description
-      - expression
+        - description
+        - expression
     LogicFetchAction:
       type: object
       properties:
         value:
           title: service_fetch_configuration
       required:
-      - value
+        - value
     LogicPropertyAction:
       type: object
       properties:
@@ -8823,11 +8888,12 @@ components:
           $ref: '#/components/schemas/ComponentProperty'
         state:
           title: value of the property
-          description: 'Valid JSON determining the new value of the specified property.
-            For example: `true` or `false`.'
+          description:
+            'Valid JSON determining the new value of the specified property. For example: `true` or
+            `false`.'
       required:
-      - property
-      - state
+        - property
+        - state
     LogicSetRegistrationBackendAction:
       type: object
       properties:
@@ -8835,15 +8901,16 @@ components:
           type: string
           title: registration_backend_key
       required:
-      - value
+        - value
     LogicValueAction:
       type: object
       properties:
         value:
-          description: A valid JsonLogic expression describing the value. This may
-            refer to (other) Form.io components.
+          description:
+            A valid JsonLogic expression describing the value. This may refer to (other) Form.io
+            components.
       required:
-      - value
+        - value
     LoginLogo:
       type: object
       properties:
@@ -8865,7 +8932,7 @@ components:
           description: Information link to the authentication provider
         appearance:
           allOf:
-          - $ref: '#/components/schemas/AppearanceEnum'
+            - $ref: '#/components/schemas/AppearanceEnum'
           readOnly: true
           title: Login logo appearance
           description: |-
@@ -8874,10 +8941,10 @@ components:
             * `dark` - Dark
             * `light` - Light
       required:
-      - appearance
-      - href
-      - imageSrc
-      - title
+        - appearance
+        - href
+        - imageSrc
+        - title
     LoginOption:
       type: object
       properties:
@@ -8894,29 +8961,28 @@ components:
           format: uri
           readOnly: true
           title: Login URL
-          description: URL to start login flow, expects 'next' GET-parameter with
-            return url
+          description: URL to start login flow, expects 'next' GET-parameter with return url
         logo:
           allOf:
-          - $ref: '#/components/schemas/LoginLogo'
+            - $ref: '#/components/schemas/LoginLogo'
           readOnly: true
           title: Optional logo
           description: Optional logo
         isForGemachtigde:
           type: boolean
           readOnly: true
-          description: This authorization method can be used to log in on behalf of
-            another person or company
+          description:
+            This authorization method can be used to log in on behalf of another person or company
       required:
-      - identifier
-      - isForGemachtigde
-      - label
-      - logo
-      - url
+        - identifier
+        - isForGemachtigde
+        - label
+        - logo
+        - url
     MethodEnum:
       enum:
-      - GET
-      - POST
+        - GET
+        - POST
       type: string
       description: |-
         * `GET` - GET
@@ -8947,10 +9013,10 @@ components:
           type: boolean
           description: Whether the step is applicable by default.
       required:
-      - formDefinition
-      - index
-      - url
-      - uuid
+        - formDefinition
+        - index
+        - url
+        - uuid
     NestedSubmissionPaymentDetail:
       type: object
       properties:
@@ -8973,9 +9039,9 @@ components:
           title: user has paid
           description: Whether the user has completed the required payment.
       required:
-      - amount
-      - hasPaid
-      - isRequired
+        - amount
+        - hasPaid
+        - isRequired
     NestedSubmissionStep:
       type: object
       description: |-
@@ -9010,21 +9076,22 @@ components:
           type: boolean
           readOnly: true
       required:
-      - canSubmit
-      - completed
-      - formStep
-      - id
-      - isApplicable
-      - name
-      - url
+        - canSubmit
+        - completed
+        - formStep
+        - id
+        - isApplicable
+        - name
+        - url
     Objecttype:
       type: object
       properties:
         url:
           type: string
           format: uri
-          title: URL reference to this object. This is the unique identification and
-            location of this object.
+          title:
+            URL reference to this object. This is the unique identification and location of this
+            object.
         uuid:
           type: string
           format: uuid
@@ -9039,11 +9106,11 @@ components:
           type: string
           title: Confidential level of the object type.
       required:
-      - dataClassification
-      - name
-      - namePlural
-      - url
-      - uuid
+        - dataClassification
+        - name
+        - namePlural
+        - url
+        - uuid
     ObjecttypeVersion:
       type: object
       properties:
@@ -9054,13 +9121,13 @@ components:
           type: string
           title: Status of the object type version
       required:
-      - status
-      - version
+        - status
+        - version
     PaginatedFormDefinitionList:
       type: object
       required:
-      - count
-      - results
+        - count
+        - results
       properties:
         count:
           type: integer
@@ -9089,8 +9156,8 @@ components:
     PaginatedServiceFetchConfigurationList:
       type: object
       required:
-      - count
-      - results
+        - count
+        - results
       properties:
         count:
           type: integer
@@ -9112,8 +9179,8 @@ components:
     PaginatedSubmissionList:
       type: object
       required:
-      - count
-      - results
+        - count
+        - results
       properties:
         count:
           type: integer
@@ -9179,17 +9246,17 @@ components:
           readOnly: true
         autoLoginAuthenticationBackend:
           type: string
-          description: The authentication backend to which the user will be automatically
-            redirected upon starting the form. The chosen backend must be present
-            in `authentication_backends`
+          description:
+            The authentication backend to which the user will be automatically redirected upon
+            starting the form. The chosen backend must be present in `authentication_backends`
         paymentRequired:
           type: boolean
           readOnly: true
         paymentBackend:
           default: ''
           oneOf:
-          - $ref: '#/components/schemas/PaymentBackendEnum'
-          - $ref: '#/components/schemas/BlankEnum'
+            - $ref: '#/components/schemas/PaymentBackendEnum'
+            - $ref: '#/components/schemas/BlankEnum'
         paymentBackendOptions:
           type: object
           additionalProperties: {}
@@ -9201,12 +9268,11 @@ components:
           readOnly: true
         priceVariableKey:
           type: string
-          description: Key of the variable that contains the calculated submission
-            price.
+          description: Key of the variable that contains the calculated submission price.
           pattern: ^(\w|\w[\w.\-]*\w)$
         appointmentOptions:
           allOf:
-          - $ref: '#/components/schemas/AppointmentOptions'
+            - $ref: '#/components/schemas/AppointmentOptions'
           nullable: true
         literals:
           $ref: '#/components/schemas/FormLiterals'
@@ -9240,17 +9306,16 @@ components:
           readOnly: true
         showProgressIndicator:
           type: boolean
-          description: Whether the step progression should be displayed in the UI
-            or not.
+          description: Whether the step progression should be displayed in the UI or not.
         showSummaryProgress:
           type: boolean
           title: Show summary of the progress
-          description: Whether to display the short progress summary, indicating the
-            current step number and total amount of steps.
+          description:
+            Whether to display the short progress summary, indicating the current step number and
+            total amount of steps.
         maintenanceMode:
           type: boolean
-          description: Users will not be able to start the form if it is in maintenance
-            mode.
+          description: Users will not be able to start the form if it is in maintenance mode.
         active:
           type: boolean
         activateOn:
@@ -9267,21 +9332,24 @@ components:
           type: boolean
         submissionConfirmationTemplate:
           type: string
-          description: The content of the submission confirmation page. It can contain
-            variables that will be templated from the submitted form data. If not
-            specified, the global template will be used.
+          description:
+            The content of the submission confirmation page. It can contain variables that will be
+            templated from the submitted form data. If not specified, the global template will be
+            used.
         introductionPageContent:
           type: string
           title: Introduction page
-          description: Content for the introduction page that leads to the start page
-            of the form. Leave blank to disable the introduction page.
+          description:
+            Content for the introduction page that leads to the start page of the form. Leave blank
+            to disable the introduction page.
         explanationTemplate:
           type: string
-          description: Content that will be shown on the start page of the form, below
-            the title and above the log in text.
+          description:
+            Content that will be shown on the start page of the form, below the title and above the
+            log in text.
         submissionAllowed:
           allOf:
-          - $ref: '#/components/schemas/SubmissionAllowedEnum'
+            - $ref: '#/components/schemas/SubmissionAllowedEnum'
           description: |-
             Whether the user is allowed to submit this form or not, and whether the overview page should be shown if they are not.
 
@@ -9294,16 +9362,17 @@ components:
           minimum: 0
           nullable: true
           title: Maximum allowed submissions
-          description: Maximum number of allowed submissions per form. Leave this
-            empty if no limit is needed.
+          description:
+            Maximum number of allowed submissions per form. Leave this empty if no limit is needed.
         submissionCounter:
           type: integer
           maximum: 2147483647
           minimum: 0
           title: Submissions counter
-          description: Counter to track how many submissions have been completed for
-            the specific form. This works in combination with the maximum allowed
-            submissions per form and can be reset via the frontend.
+          description:
+            Counter to track how many submissions have been completed for the specific form. This
+            works in combination with the maximum allowed submissions per form and can be reset via
+            the frontend.
         submissionLimitReached:
           type: boolean
           readOnly: true
@@ -9312,7 +9381,7 @@ components:
           description: Whether the user is allowed to suspend this form or not.
         askPrivacyConsent:
           allOf:
-          - $ref: '#/components/schemas/StatementCheckboxEnum'
+            - $ref: '#/components/schemas/StatementCheckboxEnum'
           description: |-
             If enabled, the user will have to agree to the privacy policy before submitting a form.
 
@@ -9321,7 +9390,7 @@ components:
             * `disabled` - Disabled
         askStatementOfTruth:
           allOf:
-          - $ref: '#/components/schemas/StatementCheckboxEnum'
+            - $ref: '#/components/schemas/StatementCheckboxEnum'
           description: |-
             If enabled, the user will have to agree that they filled out the form truthfully before submitting it.
 
@@ -9332,16 +9401,15 @@ components:
           $ref: '#/components/schemas/SubmissionsRemovalOptions'
         confirmationEmailTemplate:
           allOf:
-          - $ref: '#/components/schemas/ConfirmationEmailTemplate'
+            - $ref: '#/components/schemas/ConfirmationEmailTemplate'
           nullable: true
         sendConfirmationEmail:
           type: boolean
-          description: Whether a confirmation email should be sent to the end user
-            filling in the form.
+          description:
+            Whether a confirmation email should be sent to the end user filling in the form.
         displayMainWebsiteLink:
           type: boolean
-          description: Display the link to the main website on the submission confirmation
-            page.
+          description: Display the link to the main website on the submission confirmation page.
         includeConfirmationPageContentInPdf:
           type: boolean
           description: Display the instruction from the confirmation page in the PDF.
@@ -9366,20 +9434,20 @@ components:
           type: boolean
           readOnly: true
           title: cosign request has links in email
-          description: Indicates whether deep links are included in the cosign request
-            emails or not.
+          description:
+            Indicates whether deep links are included in the cosign request emails or not.
         cosignLoginInfo:
           allOf:
-          - $ref: '#/components/schemas/CosignLoginInfo'
+            - $ref: '#/components/schemas/CosignLoginInfo'
           readOnly: true
           deprecated: true
         submissionStatementsConfiguration:
           type: array
           items:
             type: object
-            description: Eén enkel Form.io selectievakjecomponent voor de verklaring
-              die een gebruiker mogelijks moet accepteren voor het formulier ingestuurd
-              kan worden.
+            description:
+              Eén enkel Form.io selectievakjecomponent voor de verklaring die een gebruiker
+              mogelijks moet accepteren voor het formulier ingestuurd kan worden.
             properties:
               type:
                 type: string
@@ -9398,15 +9466,15 @@ components:
                     description: Whether accepting this statement is required or not.
             title: Statement checkbox
           readOnly: true
-          description: A list of statements that need to be accepted by the user before
-            they can submit a form. Returns a list of formio component definitions,
-            all of type 'checkbox'.
+          description:
+            A list of statements that need to be accepted by the user before they can submit a form.
+            Returns a list of formio component definitions, all of type 'checkbox'.
         submissionReportDownloadLinkTitle:
           type: string
           readOnly: true
         brpPersonenRequestOptions:
           allOf:
-          - $ref: '#/components/schemas/BRPPersonenRequestOptions'
+            - $ref: '#/components/schemas/BRPPersonenRequestOptions'
           nullable: true
     PatchedFormDefinition:
       type: object
@@ -9432,7 +9500,7 @@ components:
           deprecated: true
         configuration:
           allOf:
-          - $ref: '#/components/schemas/FormDefinitionConfiguration'
+            - $ref: '#/components/schemas/FormDefinitionConfiguration'
           title: Form.io configuration
           description: The form definition as Form.io JSON schema
         loginRequired:
@@ -9445,7 +9513,7 @@ components:
           $ref: '#/components/schemas/FormDefinitionModelTranslations'
         componentTranslations:
           allOf:
-          - $ref: '#/components/schemas/ComponentTranslations'
+            - $ref: '#/components/schemas/ComponentTranslations'
           nullable: true
     PatchedFormStep:
       type: object
@@ -9463,7 +9531,7 @@ components:
           pattern: ^[-a-zA-Z0-9_]+$
         configuration:
           allOf:
-          - $ref: '#/components/schemas/FormDefinitionConfiguration'
+            - $ref: '#/components/schemas/FormDefinitionConfiguration'
           readOnly: true
         formDefinition:
           type: string
@@ -9493,11 +9561,11 @@ components:
           $ref: '#/components/schemas/FormStepModelTranslations'
         componentTranslations:
           allOf:
-          - $ref: '#/components/schemas/ComponentTranslations'
+            - $ref: '#/components/schemas/ComponentTranslations'
           readOnly: true
     PaymentBackendEnum:
       enum:
-      - ogone-legacy
+        - ogone-legacy
       type: string
       description: "* `` - \n* `ogone-legacy` - Ogone legacy"
     PaymentInfo:
@@ -9505,7 +9573,7 @@ components:
       properties:
         type:
           allOf:
-          - $ref: '#/components/schemas/PaymentInfoTypeEnum'
+            - $ref: '#/components/schemas/PaymentInfoTypeEnum'
           readOnly: true
           title: Request type
         url:
@@ -9520,13 +9588,13 @@ components:
             title: Value
           readOnly: true
       required:
-      - data
-      - type
-      - url
+        - data
+        - type
+        - url
     PaymentInfoTypeEnum:
       enum:
-      - get
-      - post
+        - get
+        - post
       type: string
       description: |-
         * `get` - Get
@@ -9543,8 +9611,8 @@ components:
           title: Button label
           description: Button label
       required:
-      - identifier
-      - label
+        - identifier
+        - label
     PaymentPlugin:
       type: object
       description: Serialize the available plugins for the form builder.
@@ -9561,9 +9629,9 @@ components:
           title: JSON schema
           description: The generated JSON schema for the plugin options.
       required:
-      - id
-      - label
-      - schema
+        - id
+        - label
+        - schema
     PrefillAttribute:
       type: object
       properties:
@@ -9574,12 +9642,12 @@ components:
           type: string
           description: The human-readable name for an attribute.
       required:
-      - id
-      - label
+        - id
+        - label
     PrefillIdentifierRoleEnum:
       enum:
-      - main
-      - authorizee
+        - main
+        - authorizee
       type: string
       description: |-
         * `main` - Main
@@ -9597,18 +9665,17 @@ components:
           type: string
           nullable: true
           title: Required authentication attribute
-          description: The authentication attribute required for this plugin to lookup
-            remote data.
+          description: The authentication attribute required for this plugin to lookup remote data.
         configurationContext:
           nullable: true
           title: Extra configuration context
-          description: Extra information for option configuration that is specific
-            to the plugin type
+          description:
+            Extra information for option configuration that is specific to the plugin type
       required:
-      - configurationContext
-      - id
-      - label
-      - requiresAuth
+        - configurationContext
+        - id
+        - label
+        - requiresAuth
     PrefillTargetPaths:
       type: object
       properties:
@@ -9617,28 +9684,29 @@ components:
           items:
             type: string
             title: Segment of a JSON path
-          description: Representation of the JSON target location as a list of string
-            segments.
+          description: Representation of the JSON target location as a list of string segments.
         jsonSchema:
           type: object
           additionalProperties: {}
           description: Corresponding (sub) JSON Schema of the target path.
       required:
-      - jsonSchema
-      - targetPath
+        - jsonSchema
+        - targetPath
     PrivacyPolicyInfo:
       type: object
       properties:
         requiresPrivacyConsent:
           type: boolean
-          description: Of de gebruiker akkoord moet gaan met het privacybeleid voordat
-            hij een formulier indient.
+          description:
+            Of de gebruiker akkoord moet gaan met het privacybeleid voordat hij een formulier
+            indient.
         privacyLabel:
           type: string
-          description: Het opgemaakte label dat naast het selectievakje moet worden
-            getoond wanneer de gebruiker wordt gevraagd akkoord te gaan met het privacybeleid.
+          description:
+            Het opgemaakte label dat naast het selectievakje moet worden getoond wanneer de
+            gebruiker wordt gevraagd akkoord te gaan met het privacybeleid.
       required:
-      - requiresPrivacyConsent
+        - requiresPrivacyConsent
     ProcessDefinition:
       type: object
       properties:
@@ -9646,8 +9714,7 @@ components:
           type: string
         key:
           type: string
-          description: The process definition identifier, used to group different
-            versions.
+          description: The process definition identifier, used to group different versions.
         name:
           type: string
           description: The human-readable name of the process definition.
@@ -9655,10 +9722,10 @@ components:
           type: integer
           description: The version identifier relative to the 'key'.
       required:
-      - id
-      - key
-      - name
-      - version
+        - id
+        - key
+        - name
+        - version
     Product:
       type: object
       properties:
@@ -9680,13 +9747,13 @@ components:
           pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
         information:
           type: string
-          description: Information text to be displayed in the confirmation page and
-            confirmation email.
+          description:
+            Information text to be displayed in the confirmation page and confirmation email.
       required:
-      - name
-      - price
-      - url
-      - uuid
+        - name
+        - price
+        - url
+        - uuid
     PublicForm:
       type: object
       properties:
@@ -9705,8 +9772,8 @@ components:
           maxLength: 100
           pattern: ^[-a-zA-Z0-9_]+$
       required:
-      - name
-      - slug
+        - name
+        - slug
     RegistrationAttribute:
       type: object
       properties:
@@ -9717,8 +9784,8 @@ components:
           type: string
           description: The human-readable name for an attribute.
       required:
-      - id
-      - label
+        - id
+        - label
     RegistrationPlugin:
       type: object
       properties:
@@ -9734,13 +9801,13 @@ components:
           title: JSON schema
           description: The generated JSON schema for the plugin options.
       required:
-      - id
-      - label
-      - schema
+        - id
+        - label
+        - schema
     ResultEnum:
       enum:
-      - failed
-      - success
+        - failed
+        - success
       type: string
       description: |-
         * `failed` - Failed, should return to the start of the form.
@@ -9755,23 +9822,25 @@ components:
           type: number
           format: double
       required:
-      - x
-      - y
+        - x
+        - y
     RoleType:
       type: object
       properties:
         description:
           type: string
-          description: The description/label given to the role type in the Catalogi
-            API. It identifies the role type within a case type.
+          description:
+            The description/label given to the role type in the Catalogi API. It identifies the role
+            type within a case type.
         descriptionGeneric:
           type: string
           title: generic description
-          description: One of the pre-determined generic descriptions, such as 'behandelaar'
-            or 'belanghebbende'.
+          description:
+            One of the pre-determined generic descriptions, such as 'behandelaar' or
+            'belanghebbende'.
       required:
-      - description
-      - descriptionGeneric
+        - description
+        - descriptionGeneric
     Service:
       type: object
       properties:
@@ -9788,13 +9857,13 @@ components:
           maxLength: 255
         apiType:
           allOf:
-          - $ref: '#/components/schemas/ApiTypeEnum'
+            - $ref: '#/components/schemas/ApiTypeEnum'
           title: Type
       required:
-      - apiRoot
-      - apiType
-      - label
-      - url
+        - apiRoot
+        - apiType
+        - label
+        - url
       x-experimental: true
     ServiceFetchConfiguration:
       type: object
@@ -9815,7 +9884,7 @@ components:
           maxLength: 250
         method:
           allOf:
-          - $ref: '#/components/schemas/MethodEnum'
+            - $ref: '#/components/schemas/MethodEnum'
           title: HTTP method
           description: |-
             POST is allowed, but should not be used to mutate data
@@ -9826,8 +9895,8 @@ components:
           type: object
           additionalProperties: {}
           title: HTTP request headers
-          description: Additions and overrides for the HTTP request headers as defined
-            in the Service.
+          description:
+            Additions and overrides for the HTTP request headers as defined in the Service.
         queryParams:
           type: object
           additionalProperties:
@@ -9838,13 +9907,12 @@ components:
         body:
           nullable: true
           title: HTTP request body
-          description: Request body for POST requests (only "application/json" is
-            supported)
+          description: Request body for POST requests (only "application/json" is supported)
         dataMappingType:
           title: Mapping expression language
           oneOf:
-          - $ref: '#/components/schemas/DataMappingTypeEnum'
-          - $ref: '#/components/schemas/BlankEnum'
+            - $ref: '#/components/schemas/DataMappingTypeEnum'
+            - $ref: '#/components/schemas/BlankEnum'
         mappingExpression:
           nullable: true
           description: For jq, pass a string containing the filter expression
@@ -9853,26 +9921,27 @@ components:
           maximum: 2147483647
           minimum: 0
           nullable: true
-          description: The responses for service fetch are cached to prevent repeating
-            the same request multiple times when performing the logic check. If specified,
-            the cached responses will expire after the timeout (in seconds).
+          description:
+            The responses for service fetch are cached to prevent repeating the same request
+            multiple times when performing the logic check. If specified, the cached responses will
+            expire after the timeout (in seconds).
       required:
-      - id
-      - name
-      - service
+        - id
+        - name
+        - service
     SourceEnum:
       enum:
-      - component
-      - user_defined
+        - component
+        - user_defined
       type: string
       description: |-
         * `component` - Component
         * `user_defined` - User defined
     StatementCheckboxEnum:
       enum:
-      - global_setting
-      - required
-      - disabled
+        - global_setting
+        - required
+        - disabled
       type: string
       description: |-
         * `global_setting` - Global setting
@@ -9880,8 +9949,8 @@ components:
         * `disabled` - Disabled
     StatusEnum:
       enum:
-      - in_progress
-      - done
+        - in_progress
+        - done
       type: string
       description: |-
         * `in_progress` - In progress
@@ -9907,11 +9976,12 @@ components:
             $ref: '#/components/schemas/NestedSubmissionStep'
           readOnly: true
           title: Submission steps
-          description: Details of every form step of this submission's form, tracking
-            the progress and other meta-data of each particular step.
+          description:
+            Details of every form step of this submission's form, tracking the progress and other
+            meta-data of each particular step.
         submissionAllowed:
           allOf:
-          - $ref: '#/components/schemas/SubmissionAllowedEnum'
+            - $ref: '#/components/schemas/SubmissionAllowedEnum'
           readOnly: true
           description: |-
             Whether the user is allowed to submit this form and whether the user should see the overview page.
@@ -9925,7 +9995,7 @@ components:
           description: Whether the user was authenticated when creating this submission.
         payment:
           allOf:
-          - $ref: '#/components/schemas/NestedSubmissionPaymentDetail'
+            - $ref: '#/components/schemas/NestedSubmissionPaymentDetail'
           readOnly: true
           title: payment information
         formUrl:
@@ -9940,25 +10010,25 @@ components:
           description: Whether the submission was started anonymously or not.
         initialDataReference:
           type: string
-          description: An identifier that can be passed as a querystring when the
-            form is started. Initial form field values are pre-populated from the
-            retrieved data. During registration, the object may be updated again (or
-            a new record may be created). This can be an object reference in the Objects
-            API, for example.
+          description:
+            An identifier that can be passed as a querystring when the form is started. Initial form
+            field values are pre-populated from the retrieved data. During registration, the object
+            may be updated again (or a new record may be created). This can be an object reference
+            in the Objects API, for example.
       required:
-      - form
-      - formUrl
-      - id
-      - isAuthenticated
-      - payment
-      - steps
-      - submissionAllowed
-      - url
+        - form
+        - formUrl
+        - id
+        - isAuthenticated
+        - payment
+        - steps
+        - submissionAllowed
+        - url
     SubmissionAllowedEnum:
       enum:
-      - 'yes'
-      - no_with_overview
-      - no_without_overview
+        - 'yes'
+        - no_with_overview
+        - no_without_overview
       type: string
       description: |-
         * `yes` - Yes
@@ -9978,8 +10048,8 @@ components:
           title: Co-signer display
           description: Co-signer representation string for the UI.
       required:
-      - coSigned
-      - representation
+        - coSigned
+        - representation
     SubmissionCompletion:
       type: object
       properties:
@@ -9987,13 +10057,13 @@ components:
           type: string
           format: uri
           title: status check endpoint
-          description: The API endpoint where the background processing status can
-            be checked. After calling the completion endpoint, this status URL should
-            be polled to report the processing status back to the end-user. Note that
-            the endpoint contains a token which invalidates on state changes and after
-            one day.
+          description:
+            The API endpoint where the background processing status can be checked. After calling
+            the completion endpoint, this status URL should be polled to report the processing
+            status back to the end-user. Note that the endpoint contains a token which invalidates
+            on state changes and after one day.
       required:
-      - statusUrl
+        - statusUrl
     SubmissionComponentSummary:
       type: object
       properties:
@@ -10007,15 +10077,15 @@ components:
           additionalProperties: {}
           description: Configuration of the component.
       required:
-      - component
-      - name
-      - value
+        - component
+        - name
+        - value
     SubmissionProcessingStatus:
       type: object
       properties:
         status:
           allOf:
-          - $ref: '#/components/schemas/StatusEnum'
+            - $ref: '#/components/schemas/StatusEnum'
           default: in_progress
           title: background processing status
           description: |-
@@ -10031,17 +10101,17 @@ components:
             * `failed` - Failed, should return to the start of the form.
             * `success` - Success, proceed to confirmation page.
           oneOf:
-          - $ref: '#/components/schemas/ResultEnum'
-          - $ref: '#/components/schemas/BlankEnum'
+            - $ref: '#/components/schemas/ResultEnum'
+            - $ref: '#/components/schemas/BlankEnum'
         errorMessage:
           type: string
           title: Error information
           description: Error feedback in case the processing did not complete successfully.
         publicReference:
           type: string
-          description: The public registration reference, sourced from the registration
-            backend or otherwise uniquely generated in case the backend could not
-            provide it.
+          description:
+            The public registration reference, sourced from the registration backend or otherwise
+            uniquely generated in case the backend could not provide it.
         confirmationPageTitle:
           type: string
           description: Title of the confirmation page.
@@ -10051,18 +10121,20 @@ components:
         reportDownloadUrl:
           type: string
           format: uri
-          description: Download URL for the generated PDF report. Note that this contain
-            a timestamped token generated by the backend.
+          description:
+            Download URL for the generated PDF report. Note that this contain a timestamped token
+            generated by the backend.
         paymentUrl:
           type: string
           format: uri
-          description: URL to retrieve the payment information. Note that this (will)
-            contain(s) a timestamped token generated by the backend.
+          description:
+            URL to retrieve the payment information. Note that this (will) contain(s) a timestamped
+            token generated by the backend.
         mainWebsiteUrl:
           type: string
           readOnly: true
       required:
-      - mainWebsiteUrl
+        - mainWebsiteUrl
     SubmissionReportUrl:
       type: object
       properties:
@@ -10071,10 +10143,11 @@ components:
           format: uri
           readOnly: true
           title: download report url
-          description: The URL where the submission report can be downloaded. Note
-            that this contain a timestamped token generated by the backend.
+          description:
+            The URL where the submission report can be downloaded. Note that this contain a
+            timestamped token generated by the backend.
       required:
-      - reportDownloadUrl
+        - reportDownloadUrl
     SubmissionStateLogic:
       type: object
       properties:
@@ -10083,8 +10156,8 @@ components:
         step:
           $ref: '#/components/schemas/SubmissionStep'
       required:
-      - step
-      - submission
+        - step
+        - submission
     SubmissionStep:
       type: object
       description: |-
@@ -10108,7 +10181,7 @@ components:
           pattern: ^[-a-zA-Z0-9_]+$
         formStep:
           allOf:
-          - $ref: '#/components/schemas/ContextAwareFormStep'
+            - $ref: '#/components/schemas/ContextAwareFormStep'
           readOnly: true
         data:
           type: object
@@ -10124,12 +10197,12 @@ components:
           type: boolean
           readOnly: true
       required:
-      - canSubmit
-      - completed
-      - formStep
-      - id
-      - isApplicable
-      - slug
+        - canSubmit
+        - completed
+        - formStep
+        - id
+        - isApplicable
+        - slug
     SubmissionStepSummarySerialzier:
       type: object
       properties:
@@ -10145,9 +10218,9 @@ components:
           items:
             $ref: '#/components/schemas/SubmissionComponentSummary'
       required:
-      - data
-      - name
-      - slug
+        - data
+        - name
+        - slug
     SubmissionSuspension:
       type: object
       properties:
@@ -10156,16 +10229,15 @@ components:
           format: email
           writeOnly: true
           title: Contact email address
-          description: The email address where the 'magic' resume link should be sent
-            to
+          description: The email address where the 'magic' resume link should be sent to
         suspendedOn:
           type: string
           format: date-time
           readOnly: true
           nullable: true
       required:
-      - email
-      - suspendedOn
+        - email
+        - suspendedOn
     SubmissionsRemovalOptions:
       type: object
       properties:
@@ -10175,8 +10247,9 @@ components:
           minimum: 0
           nullable: true
           title: Successful submission removal limit
-          description: Amount of days successful submissions of this form will remain
-            before being removed. Leave blank to use value in General Configuration.
+          description:
+            Amount of days successful submissions of this form will remain before being removed.
+            Leave blank to use value in General Configuration.
         successfulSubmissionsRemovalMethod:
           description: |-
             How successful submissions of this form will be removed after the limit. Leave blank to use value in General Configuration.
@@ -10184,16 +10257,17 @@ components:
             * `delete_permanently` - Submissions will be deleted
             * `make_anonymous` - Sensitive data within the submissions will be deleted
           oneOf:
-          - $ref: '#/components/schemas/IncompleteSubmissionsRemovalMethodEnum'
-          - $ref: '#/components/schemas/BlankEnum'
+            - $ref: '#/components/schemas/IncompleteSubmissionsRemovalMethodEnum'
+            - $ref: '#/components/schemas/BlankEnum'
         incompleteSubmissionsRemovalLimit:
           type: integer
           maximum: 2147483647
           minimum: 0
           nullable: true
           title: Incomplete submission removal limit
-          description: Amount of days incomplete submissions of this form will remain
-            before being removed. Leave blank to use value in General Configuration.
+          description:
+            Amount of days incomplete submissions of this form will remain before being removed.
+            Leave blank to use value in General Configuration.
         incompleteSubmissionsRemovalMethod:
           description: |-
             How incomplete submissions of this form will be removed after the limit. Leave blank to use value in General Configuration.
@@ -10201,16 +10275,17 @@ components:
             * `delete_permanently` - Submissions will be deleted
             * `make_anonymous` - Sensitive data within the submissions will be deleted
           oneOf:
-          - $ref: '#/components/schemas/IncompleteSubmissionsRemovalMethodEnum'
-          - $ref: '#/components/schemas/BlankEnum'
+            - $ref: '#/components/schemas/IncompleteSubmissionsRemovalMethodEnum'
+            - $ref: '#/components/schemas/BlankEnum'
         erroredSubmissionsRemovalLimit:
           type: integer
           maximum: 2147483647
           minimum: 0
           nullable: true
           title: Errored submission removal limit
-          description: Amount of days errored submissions of this form will remain
-            before being removed. Leave blank to use value in General Configuration.
+          description:
+            Amount of days errored submissions of this form will remain before being removed. Leave
+            blank to use value in General Configuration.
         erroredSubmissionsRemovalMethod:
           title: Errored submission removal limit
           description: |-
@@ -10219,20 +10294,21 @@ components:
             * `delete_permanently` - Submissions will be deleted
             * `make_anonymous` - Sensitive data within the submissions will be deleted
           oneOf:
-          - $ref: '#/components/schemas/IncompleteSubmissionsRemovalMethodEnum'
-          - $ref: '#/components/schemas/BlankEnum'
+            - $ref: '#/components/schemas/IncompleteSubmissionsRemovalMethodEnum'
+            - $ref: '#/components/schemas/BlankEnum'
         allSubmissionsRemovalLimit:
           type: integer
           maximum: 2147483647
           minimum: 0
           nullable: true
-          description: Amount of days when all submissions of this form will be permanently
-            deleted. Leave blank to use value in General Configuration.
+          description:
+            Amount of days when all submissions of this form will be permanently deleted. Leave
+            blank to use value in General Configuration.
     SubmitActionEnum:
       enum:
-      - _save
-      - _addanother
-      - _continue
+        - _save
+        - _addanother
+        - _continue
       type: string
       description: |-
         * `_save` - Save
@@ -10246,8 +10322,7 @@ components:
           items:
             type: string
             title: Segment of a JSON path
-          description: Representation of the JSON target location as a list of string
-            segments.
+          description: Representation of the JSON target location as a list of string segments.
         isRequired:
           type: boolean
           title: required
@@ -10257,9 +10332,9 @@ components:
           additionalProperties: {}
           description: Corresponding (sub) JSON Schema of the target path.
       required:
-      - isRequired
-      - jsonSchema
-      - targetPath
+        - isRequired
+        - jsonSchema
+        - targetPath
     TargetPathsInput:
       type: object
       properties:
@@ -10279,10 +10354,10 @@ components:
           additionalProperties: {}
           description: The JSON Schema of the form variable.
       required:
-      - objectsApiGroup
-      - objecttype
-      - objecttypeVersion
-      - variableJsonSchema
+        - objectsApiGroup
+        - objecttype
+        - objecttypeVersion
+        - variableJsonSchema
     TemporaryFileUpload:
       type: object
       description: |-
@@ -10313,11 +10388,11 @@ components:
           readOnly: true
           title: File size
       required:
-      - file
-      - name
-      - size
-      - submission
-      - url
+        - file
+        - name
+        - size
+        - submission
+        - url
     TextChoice:
       type: object
       properties:
@@ -10326,8 +10401,8 @@ components:
         label:
           type: string
       required:
-      - label
-      - value
+        - label
+        - value
     Theme:
       type: object
       properties:
@@ -10337,12 +10412,11 @@ components:
           readOnly: true
         name:
           type: string
-          description: An easily recognizable name for the theme, used to identify
-            it.
+          description: An easily recognizable name for the theme, used to identify it.
           maxLength: 100
       required:
-      - name
-      - url
+        - name
+        - url
     Time:
       type: object
       properties:
@@ -10350,15 +10424,15 @@ components:
           type: string
           format: date-time
       required:
-      - time
+        - time
     TypeRefEnum:
       enum:
-      - string
-      - integer
-      - long
-      - boolean
-      - date
-      - double
+        - string
+        - integer
+        - long
+        - boolean
+        - date
+        - double
       type: string
       description: |-
         * `string` - string
@@ -10388,16 +10462,15 @@ components:
           readOnly: true
           description: Link to the change/view page in the admin interface
       required:
-      - adminUrl
-      - name
-      - url
+        - adminUrl
+        - name
+        - url
     User:
       type: object
       properties:
         username:
           type: string
-          description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
-            only.
+          description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.
           pattern: ^[\w.@+-]+$
           maxLength: 150
         fullName:
@@ -10409,8 +10482,8 @@ components:
           type: string
           maxLength: 255
       required:
-      - fullName
-      - username
+        - fullName
+        - username
     ValidationError:
       type: object
       description: |-
@@ -10435,19 +10508,20 @@ components:
           description: Extra information about the error, if available
         instance:
           type: string
-          description: URI with reference to this specific occurrence of the error.
-            This can be used in conjunction with server logs, for example.
+          description:
+            URI with reference to this specific occurrence of the error. This can be used in
+            conjunction with server logs, for example.
         invalidParams:
           type: array
           items:
             $ref: '#/components/schemas/FieldValidationError'
       required:
-      - code
-      - detail
-      - instance
-      - invalidParams
-      - status
-      - title
+        - code
+        - detail
+        - instance
+        - invalidParams
+        - status
+        - title
     ValidationInput:
       type: object
       properties:
@@ -10458,8 +10532,8 @@ components:
           format: uuid
           description: UUID of the submission.
       required:
-      - submissionUuid
-      - value
+        - submissionUuid
+        - value
     ValidationPlugin:
       type: object
       properties:
@@ -10476,9 +10550,9 @@ components:
           title: Components
           description: The components for which the plugin is relevant.
       required:
-      - forComponents
-      - id
-      - label
+        - forComponents
+        - id
+        - label
     ValidationResult:
       type: object
       properties:
@@ -10493,8 +10567,8 @@ components:
             description: error message
           description: List of validation error messages for display.
       required:
-      - isValid
-      - messages
+        - isValid
+        - messages
     VariableMapping:
       type: object
       properties:
@@ -10506,8 +10580,8 @@ components:
           type: string
           title: DMN input parameter name.
       required:
-      - dmnVariable
-      - formVariable
+        - dmnVariable
+        - formVariable
     VerifyEmail:
       type: object
       properties:
@@ -10532,10 +10606,10 @@ components:
           maxLength: 6
           minLength: 6
       required:
-      - code
-      - componentKey
-      - email
-      - submission
+        - code
+        - componentKey
+        - email
+        - submission
     _AppointmentProduct:
       type: object
       properties:
@@ -10549,8 +10623,8 @@ components:
           minimum: 1
           description: Number of times (amount of people) the product is ordered
       required:
-      - amount
-      - productId
+        - amount
+        - productId
   securitySchemes:
     cookieAuth:
       type: apiKey
diff --git a/src/openforms/__init__.py b/src/openforms/__init__.py
index 677f8cf17d..4bae61e804 100644
--- a/src/openforms/__init__.py
+++ b/src/openforms/__init__.py
@@ -1,6 +1,6 @@
 from .celery import app as celery_app
 
 __all__ = ("celery_app",)
-__version__ = "3.0.0-alpha.1"
+__version__ = "3.0.0"
 __author__ = "Maykin Media"
 __homepage__ = "https://github.com/open-formulieren/open-forms"
diff --git a/src/openforms/conf/base.py b/src/openforms/conf/base.py
index cb0aebf0d1..0d4ac970ad 100644
--- a/src/openforms/conf/base.py
+++ b/src/openforms/conf/base.py
@@ -955,7 +955,7 @@
 and it plays nice with other available components.
 """
 
-API_VERSION = "3.0.0-alpha.1"
+API_VERSION = "3.0.0"
 
 SPECTACULAR_SETTINGS = {
     "SCHEMA_PATH_PREFIX": "/api/v2",