Zaken API plugin
The Zaken API plugin is a ZGW plugin and can only be used in the GZAC edition.
The Zaken API plugin can be used to store and access data about a Zaak (case) in an application that supports the Zaken API standard created and used by the Dutch government.
Configure the plugin
A plugin configuration is required before the plugin can be used. A general description on how to configure plugins can be found in the plugin configuration guide.
If the Zaken API plugin is not visible in the plugin menu, it is possible the application is missing a dependency. Instructions on how to add the Zaken API dependency can be found in the Zaken API module documentation.
To configure this plugin the following properties have to be entered:
URL. Contains the complete base URL of the Zaken API to connect to. This generally includes the path
/api/v1/.Authentication plugin configuration. Reference to another plugin configuration that will be used to add authentication to any request performed on the Zaken API. If no option is available in this field a plugin has to be configured that is able to authenticate for the specific application that hosts the Zaken API. (e.g. OpenZaak)
An example plugin configuration:

Available actions
The Zaken API plugin supports the following actions that can be configured in process links in order to manage data that is part of the Zaak.
A general description on how to create process links, can be found in the process link documentation.
Link document to zaak
The Link document to zaak. action takes a Document stored in a Documenten API and links it to a zaak. The zaak to which the Document is linked is based on the process for which the action is performed. The process belongs to a case that should already have a zaak instance link before this action is performed. The link between a zaak and a document is stored as a 'zaakinformatieobject' in the Zaken API.
When creating a process link the following properties have to be entered:
URL to the document. The complete URL of the document in a Documenten API.
Document title. The title of the document within the context of the zaak that is stored in the 'zaakinformatieobject' record in the Zaken API.
Document description. The description of the document within the context of the zaak that is stored in the 'zaakinformatieobject' record in the Zaken API.
Destruction date. (Optional) The date on which the document should be removed from the zaak. This field supports date/time in ISO 8601 format and process variables.
Status URL. (Optional) References the status of the zaak for which the document is (or was) relevant. This field supports URLs and process variables.
An example process link configuration:

Link uploaded document to zaak
The Link uploaded document to zaak action takes a document stored in a Documenten API and links it to a zaak. The zaak to which the document is linked is based on the process for which the action is performed. The process belongs to a case that should already have a zaak instance link before this action is performed. The link between a zaak and a document is stored as a 'zaakinformatieobject' in the Zaken API. After this plugin action has been selected, the user does not have to input any configuration data.
This process link does the following steps:
Take the document URL that is saved in the process variable
documentUrl.Take the Zaak instance that is linked to the case.
Link the Zaak instance to the document URL.
Create zaak
The Create zaak action creates a zaak in the zaken API. When creating a process link the following required properties have to be entered:
RSIN. Contains the RSIN of the organisation. The RSIN number (Rechtspersonen en Samenwerkingsverbanden Identificatie Nummer in Dutch) is an identification number for legal entities and partnerships. This will be used when creating the zaak to indicate who is responsible for creating the zaak record in the API.
Zaak type. The type of the zaak that is created.
Additional optional properties can be added via the Add zaak property menu. The following optional properties are available:
Archive action-date. The date on which the archived zaak file should be destroyed or transferred to an archive repository. Supports date/time in ISO 8601 format and process variables.
Archive nomination. Indication of whether the zaak should be retained or destroyed after the retention period.
Options:
blijvend_bewaren,vernietigen
Archive status. The current archiving state of the zaak.
Options:
nog_te_archiveren,gearchiveerd,gearchiveerd_procestermijn_onbekend,overgedragen
Case geometry. Point, line or (multi-)plane geometry information (GeoJSON, Long/Lat order). Adding this property adds two linked fields:
Case geometry type. The geometry shape/type.
Options:
Point,MultiPoint,LineString,MultiLineString,Polygon,GeometryCollection,MultiPolygon
Case geometry coordinates. Collection of coordinates/points representing the geometry shape/type. Example:
[0.0, 1.0]
Characteristics. A list of characteristics of the zaak as a JSON array.
Commissioning organisation. RSIN of the organisation that has commissioned the handling of the zaak to the responsible organisation.
Communication channel. The medium through which the reason for initiating the zaak was received. URL to a communication channel in the VNG Reference List of communication channels.
Communication channel name. (Experimental) The name of the medium through which the reason for initiating the zaak was received.
Confidentiality. Indication of the level of confidentiality of the zaak.
Options:
openbaar,beperkt_openbaar,intern,zaakvertrouwelijk,vertrouwelijk,confidentieel,geheim,zeer_geheim
Description. A brief description of the zaak.
Explanation. An explanation of the zaak.
Final delivery date. The last date by which the zaak must be completed according to law and regulations. Supports date/time in ISO 8601 format and process variables.
Identification. A unique identification of the zaak within the organisation. When left empty the Zaken API generates the identification automatically.
Last opened date. The date on which the zaak was last viewed or edited. Supports date/time in ISO 8601 format and process variables.
Last payment date. The date on which the most recent payment was processed for costs associated with handling the zaak. Supports date/time in ISO 8601 format and process variables.
Main case. URL reference to the zaak requested by its initiator, which is dealt with in two or more separate zaken, of which the present zaak is one.
Payment indication. Indication of whether the costs associated with handling the zaak have been paid by the person involved.
Options:
nvt,gefactureerd,gecrediteerd,betaald
Planned end date. The date by which the zaak is scheduled to be completed. Supports date/time in ISO 8601 format and process variables.
Process object. Indicator that this zaak is related to a specific object within the scope of a notification of the selectielijstprocestype. Adding this property adds four linked fields:
Process object date attribute. The attribute of the process object to which the retention period start date is related.
Process object identification. The identification of the process object within the applicable register.
Process object type. The URL of the object type from the applicable RGBZ-derived object type register.
Process object registration. The URL of the register where the process object can be found.
Process object category. URL reference to the selectielijstprocestype of the zaak.
Products and services. The list of products and/or services that this zaak is about, as a JSON array of URLs to entries in the VNG Referentielijst van producten en diensten.
Publication date. Date on which (the start of) the zaak is or will be published. Supports date/time in ISO 8601 format and process variables.
Registration date. The date on which the zaak was registered in the Zaken API. Supports date/time in ISO 8601 format and process variables.
Related cases. JSON array of related zaken, each with a
urlfield referencing the related zaak.Relevant other cases. JSON array of other relevant zaken, each with a
urlandaardRelatiefield.Selection list class. URL reference to the applicable selectielijstklasse as defined in the VNG Selectielijst.
Start date retention period. The date that marks the start of the period by which the zaak file must be destroyed. Supports date/time in ISO 8601 format and process variables.
Extension. Indication that the period within which the zaak must be dealt with has been extended. Adding this property adds two linked fields:
Extension reason. The reason for extending the handling period of the zaak.
Extension duration. The number of calendar days by which the handling period of the zaak has been extended.
Suspension. Indication that the handling of the zaak has been suspended. Adding this property adds two linked fields:
Suspension indication. Whether the zaak is currently suspended. Options:
true,falseSuspension reason. The reason for suspending the handling of the zaak.
Patch zaak
The Patch zaak action updates a zaak in the zaken API. When creating a process link, at least one property must be added via the Add zaak property menu. The following optional properties are available:
Archive action-date. The date on which the archived zaak file should be destroyed or transferred to an archive repository. Supports date/time in ISO 8601 format and process variables.
Archive nomination. Indication of whether the zaak should be retained or destroyed after the retention period.
Options:
blijvend_bewaren,vernietigen
Archive status. The current archiving state of the zaak.
Options:
nog_te_archiveren,gearchiveerd,gearchiveerd_procestermijn_onbekend,overgedragen
Case geometry. Point, line or (multi-)plane geometry information (GeoJSON, Long/Lat order). Adding this property adds two linked fields:
Case geometry type. The geometry shape/type.
Options:
Point,MultiPoint,LineString,MultiLineString,Polygon,GeometryCollection,MultiPolygon
Case geometry coordinates. Collection of coordinates/points representing the geometry shape/type. Example:
[0.0, 1.0]
Characteristics. A list of characteristics of the zaak as a JSON array.
Commissioning organisation. RSIN of the organisation that has commissioned the handling of the zaak to the responsible organisation.
Communication channel. The medium through which the reason for initiating the zaak was received. URL to a communication channel in the VNG Reference List of communication channels.
Communication channel name. (Experimental) The name of the medium through which the reason for initiating the zaak was received.
Confidentiality. Indication of the level of confidentiality of the zaak.
Options:
openbaar,beperkt_openbaar,intern,zaakvertrouwelijk,vertrouwelijk,confidentieel,geheim,zeer_geheim
Description. A brief description of the zaak.
Explanation. An explanation of the zaak.
Final delivery date. The last date by which the zaak must be completed according to law and regulations. Supports date/time in ISO 8601 format and process variables.
Identification. A unique identification of the zaak within the organisation.
Last opened date. The date on which the zaak was last viewed or edited. Supports date/time in ISO 8601 format and process variables.
Last payment date. The date on which the most recent payment was processed for costs associated with handling the zaak. Supports date/time in ISO 8601 format and process variables.
Main case. URL reference to the zaak requested by its initiator, which is dealt with in two or more separate zaken, of which the present zaak is one.
Payment indication. Indication of whether the costs associated with handling the zaak have been paid by the person involved.
Options:
nvt,gefactureerd,gecrediteerd,betaald
Planned end date. The date by which the zaak is scheduled to be completed. Supports date/time in ISO 8601 format and process variables.
Process object. Indicator that this zaak is related to a specific object within the scope of a notification of the selectielijstprocestype. Adding this property adds four linked fields:
Process object date attribute. The attribute of the process object to which the retention period start date is related.
Process object identification. The identification of the process object within the applicable register.
Process object type. The URL of the object type from the applicable RGBZ-derived object type register.
Process object registration. The URL of the register where the process object can be found.
Process object category. URL reference to the selectielijstprocestype of the zaak.
Products and services. The list of products and/or services that this zaak is about, as a JSON array of URLs to entries in the VNG Referentielijst van producten en diensten.
Publication date. Date on which (the start of) the zaak is or will be published. Supports date/time in ISO 8601 format and process variables.
Registration date. The date on which the zaak was registered in the Zaken API. Supports date/time in ISO 8601 format and process variables.
Related cases. JSON array of related zaken, each with a
urlfield referencing the related zaak.Relevant other cases. JSON array of other relevant zaken, each with a
urlandaardRelatiefield.Selection list class. URL reference to the applicable selectielijstklasse as defined in the VNG Selectielijst.
Start date. The date on which the execution of the zaak was started. Supports date/time in ISO 8601 format and process variables.
Start date retention period. The date that marks the start of the period by which the zaak file must be destroyed. Supports date/time in ISO 8601 format and process variables.
Extension. Indication that the period within which the zaak must be dealt with has been extended. Adding this property adds two linked fields:
Extension reason. The reason for extending the handling period of the zaak.
Extension duration. The number of calendar days by which the handling period of the zaak has been extended.
Suspension. Indication that the handling of the zaak has been suspended. Adding this property adds two linked fields:
Suspension indication. Whether the zaak is currently suspended. Options:
true,falseSuspension reason. The reason for suspending the handling of the zaak.
Create zaakrol - natural person
The Create zaakrol - natural person action creates a zaakrol in the zaken API. Using this action, a person can be linked to a zaak. When creating a process link the following properties have to be entered:
Role type URL. Every person that is linked to a zaak has a role within that zaak. This property contains a URL to the role of the zaak.
Role explanation. An explanation of the role that the person has within the zaak.
Initiator BSN. The BSN (Citizen service number) of the person that should be linked to the zaak.
Other natural person identification. (Optional) The unique number issued by the municipality for another natural person.
Administration number person. (Optional) The administration number of the person, as referred to in the BRP Act.
Resultaat process variable (Optional) The name of the process variable that should be set to the UUID of the zaakrol that was created.
Create zaakrol - non natural person
The Create zaakrol - non-natural person action creates a zaakrol in the zaken API. Using this action, a non-natural person can be linked to a zaak. When creating a process link the following properties have to be entered:
Role type URL. Every person that is linked to a zaak has a role within that zaak. This property contains a URL to the type of the role within the zaak.
Role explanation. An explanation of the role that the person has within the zaak.
Initiator non-natural person identification. (Optional) The unique number assigned by a chamber for the registered non-natural person that should be linked to the zaak.
Other non-natural person identification. (Optional) The unique number issued by the municipality for another non-natural person.
Administration number person. (Optional) The administration number of the person, as referred to in the BRP Act.
Chamber of Commerce number. (Optional) A unique number assigned by the Chamber of Commerce.
Branch number. (Optional) A short unique designation of the branch.
Note. At least one of the identifiers Initiator non-natural person identification, Other non-natural person identification, Chamber of commerce number or Branch number must be provided.
Create zaakrol - medewerker
The Create zaakrol - employee action creates a zaakrol in the zaken API. Using this action, an employee can be linked to a zaak. When creating a process link the following properties have to be entered:
Role type URL. Every person that is linked to a zaak has a role within that zaak. This property contains a URL to the type of the role within the zaak.
Role explanation. An explanation of the role that the person has within the zaak.
Identification. (Optional) A short unique designation of the employee.
Last name. (Optional) The last name as used by the employee in daily life.
Initial. (Optional) The collection of letters formed by the first letter of all forenames in order.
Prefix to last name (Optional) Part of the genus name that appears in Table 36 (GBA), prefix table, and is separated from the genus name by a space.
Alternative name of the person involved. (Optional) The name of the person involved under which they wish to be addressed in relation to the case.
Authorization indication (Optional) The type that represents the authorization indication.
Note. At least one of the identifiers Identification or Last name must be provided.
Create zaakrol - organizational unit
The Create zaakrol - organizational unit action creates a zaakrol in the zaken API. Using this action, an organizational unit can be linked to a zaak. When creating a process link the following properties have to be entered:
Role type URL. Every person that is linked to a zaak has a role within that zaak. This property contains a URL to the type of the role within the zaak.
Role explanation. An explanation of the role that the person has within the zaak.
Identification. (Optional) A short identification of the organizational unit.
Name. (Optional) The actual name of the organizational unit.
Is housed in. (Optional) Location where the organizational unit is housed.
Alternative name of the person involved (Optional) The name of the person involved under which they wish to be addressed in relation to the case.
Authorization indication. (Optional) The type that represents the authorization indication.
Note. At least one of the identifiers Identification or Name must be provided.
Create zaakrol - branch
The Create zaakrol - branch action creates a zaakrol in the zaken API. Using this action, a branch can be linked to a zaak. When creating a process link the following properties have to be entered:
Role type URL. Every person that is linked to a zaak has a role within that zaak. This property contains a URL to the type of the role within the zaak.
Role explanation. An explanation of the role that the person has within the zaak.
Branch number. (Optional) A short unique designation of the branch.
Trade name. (Optional) The name of the establishment where the business is conducted.
Chamber of Commerce number. (Optional) A unique number assigned by the Chamber of Commerce.
Note. At least one of the identifiers Branch number, Trade name or Chamber of commerce number must be provided.
Create zaakeigenschap
The Create zaakeigenschap action creates a zaakeigenschap in the zaken API. When creating a process link the following properties can be entered:
Case definition. The case definition that is linked to a zaken API plugin configuration.
Eigenschap. The eigenschap as configured in the catalogi API.
Property URL. Alternatively, a URL can be entered that references to an eigenschap in the catalogi API.
Eigenschap value. The value that the zaakeigenschap should get when the process-link action is executed.
Update zaakeigenschap
The Update zaakeigenschap action updates a zaakeigenschap in the zaken API. When creating a process link the following properties can be entered:
Case definition. The case definition that is linked to a zaken API plugin configuration.
Eigenschap. The eigenschap as configured in the catalogi API.
Property URL. A URL can be entered that references to an eigenschap in the catalogi API. This is an alternative to providing an eigenschap.
Eigenschap value. The value that the zaakeigenschap should get when the process-link action is executed.
Delete zaakeigenschap
The Delete zaakeigenschap action deletes a zaakeigenschap in the zaken API. When creating a process link the following properties can be entered:
Case definition. The case definition that is linked to a zaken API plugin configuration.
Eigenschap. The eigenschap as configured in the catalogi API.
Property URL. A URL can be entered that references to an eigenschap in the catalogi API. This is an alternative to providing an eigenschap.
Delete zaakrol
The Delete zaakrol action deletes a zaakrol in the zaken API. When creating a process link the following properties can be entered:
Rol UUID The UUID of the zaakrol that should be deleted.
Create zaak object
The Create zaak object action adds a zaakobject to a Zaak in the zaken API. When creating a process link the following properties can be entered:
Case URL: URL reference to the zaak. When this field is empty, the zaak linked to the process instance will be used.
Object URL: URL reference to the resource that describes the object.
Case object type: URL reference to the zaak objecttype (in the Catalog API).
Object Type: Describes the type of object related to the zaak. If there is no suitable type, then the type must be specified under
objectTypeOverige.Relationship description: Description of the relationship between the zaak and the object.
When the Object Type is set to overige, then the following field can/must be provided:
Object type other: Describes the type of object when objectType has the value 'overige'.
Object type other URL: URL reference to the object type resource in an API. This resource must contain the JSON schema definition of the object type.
Object type other Schema: A valid jq expression. This is combined with the resource from the
urlattribute to read the schema of the object type. Example:.jsonSchema.Object type other Object data: A valid jq expression. This is combined with the JSON data from the object url to read the object data and validate the data structure against the schema. Example:
.record.data.
Beside the above fields there are other fields that depend on the selected 'Object Type'. These fields are under the objectIdentificatie property of the Zaakobject in the Zaken API.
Currently, only two of these types are fully worked out in this plugin action. These are zakelijk_recht and overige. Other types can be used out of the box if they don't require the objectIdentificatie property.
If you need a different Object Type and need the fields under objectIdentificatie, then there are two options:
Request these fields to be added to the plugin. (Or do it yourself and deliver the changes via a pull request.)
(Backend only) Create a new class that inherits the
ZaakObjectRequestinterface and add the fields that are needed.This is only possible if you configure the process link via a configuration file (
*.process-link.json) in the implementation project.
More information about the zaakobject and its properties can be found in the specification.
Start recovery period
The Start recovery period will start a recovery period for the linked zaak in the zaken API. If a zaak has a due date (Uiterlijke einddatum afdoening) set, the due date will be extended with the configured maximum duration of the recovery period. The zaak will also be suspended.
After starting the recovery period, the due date becomes: zaak.originalDueDate + maximumDuration
Maximum duration in days. The maximum duration of the recovery period in days.
End recovery period
The End recovery period will end a recovery period for the linked zaak in the zaken API. The original due date (Uiterlijke einddatum afdoening) of the zaak will be extended by the actual duration of the recovery period. This is achieved by subtracting the difference between the actual duration and the maximum duration of the recovery period. The zaak is no longer suspended.
After ending the recovery period, the due date becomes: (zaak.originalDueDate + maximumDuration) - (actualDuration - maximumDuration)
Create Zaak-notitie
The Create Zaak-notitie action creates a Zaak-notitie for the zaak linked to the process instance in the zaken API. When creating the process link, the following properties can be provided:
Subject. The subject.
Text. The text.
Created by. (Optional) The name of the person that created the Zaak-notitie.
Note type. (Optional) The type (internal, external). When not specified, the default value is 'internal'.
Status. (Optional) The status (concept, definitief). When not specified, the default value is 'concept'. Keep in mind that only zaak-noties with the status 'concept' can be edited.
Patch Zaak-notitie
The Patch Zaak-notitie action updates specific properties of the Zaak-notitie in the zaken API. When creating the process link, the following properties can be provided:
Zaak-notitie URL: URL reference to the Zaak-notitie.
Subject. (Optional) The new value for the subject.
Text. (Optional) The new value for the text.
Note type. (Optional) The new value for the type (internal, external).
Status. (Optional) The new value for the status (concept, definitief)
Note: at least one of the properties marked with optional has to be provided.
Retrieve zaakbesluiten
The Retrieve zaakbesluiten fetches all zaakbesluit URLs from the zaak in the zaken API. When creating a process link the following property can be entered:
Result process variable The name of the process variable in which the zaakbesluit URLs must be stored.
Delete Zaak-resultaat
The Delete Zaak-resultaat action deletes a Zaak-resultaat in the zaken API. When creating a process link no additional properties have to be provided, since it always deletes the resultaat of the current Zaak.
Last updated