Skip to content

Personal Data Matrix

Manage personal data categories, attributes, data subjects, and their relationships. Submit personal data answers on a process (ROPA).


List categories

GET /external/smart-inventory/personal-data/category/list

Supports pagination, search, and filters via query params (same as internal API).


Create category

POST /external/smart-inventory/personal-data/category/new

Request body

{
  "name": "Contact details",
  "active": true
}

Response

{ "uniqueId": "abc123" }

List attributes

GET /external/smart-inventory/personal-data/attribute/list

Create attribute

POST /external/smart-inventory/personal-data/category/{category}/attribute/new

Request body

{
  "name": "Email address",
  "active": true,
  "sensitive": false
}

List data subjects

GET /external/smart-inventory/personal-data/data-subject/list

Create data subject

POST /external/smart-inventory/personal-data/data-subject/new

Request body

{
  "name": "Employees",
  "active": true
}

Attribute matrix

Returns attributes with data-subject connection flags (checkbox matrix).

GET /external/smart-inventory/personal-data/matrix

Category matrix

Returns categories with data-subject connection flags.

GET /external/smart-inventory/personal-data/category-matrix

POST /external/smart-inventory/personal-data/attribute/{attribute}/relationship

Request body

{
  "dataSubject": "dataSubjectUniqueId"
}

Response

204 No Content


DELETE /external/smart-inventory/personal-data/attribute/{attribute}/data-subject/{dataSubject}/relationship

POST /external/smart-inventory/personal-data/category/{category}/relationship

Request body

{
  "dataSubject": "dataSubjectUniqueId"
}

DELETE /external/smart-inventory/personal-data/category/{category}/data-subject/{dataSubject}/relationship

Process personal data form

Get form structure for a process

GET /external/smart-inventory/process/{ropa}/personal-data/form

Submit answers

POST /external/smart-inventory/process/{ropa}/personal-data/form/submit

Request body

{
  "personalData": [
    {
      "dataSubject": "subjectUniqueId",
      "category": "categoryUniqueId",
      "answers": [
        {
          "attribute": "attributeUniqueId",
          "assets": ["assetUniqueId"],
          "dataRetention": "1 year",
          "dataSource": "HR system",
          "sensitive": false,
          "exemption": null,
          "comment": "Optional note"
        }
      ]
    }
  ]
}

Response

204 No Content on success.


Edit or delete components

GET/PATCH/DELETE /external/smart-inventory/personal-data/category/{category}/item|edit|delete
GET/PATCH/DELETE /external/smart-inventory/personal-data/attribute/{attribute}/item|edit|delete
GET/PATCH/DELETE /external/smart-inventory/personal-data/data-subject/{dataSubject}/item|edit|delete

Edit category/subject body: { "name": "...", "active": true }

Edit attribute body: { "name": "...", "active": true, "sensitive": false, "category": "categoryUniqueId" }


Data retention

GET /external/smart-inventory/personal-data/data-retention
POST /external/smart-inventory/personal-data/data-retention/bulk
DELETE /external/smart-inventory/personal-data/data-retention/bulk

Bulk body:

{
  "dataRetention": ["1 year", "Until contract ends"]
}

Data subject exemptions

GET /external/smart-inventory/personal-data/data-subject/exemption

Returns available exemption options for form answers.


  1. Create or list categories, attributes, and data subjects
  2. Configure matrix relationships (attribute or category level)
  3. GET .../process/{ropa}/personal-data/form to inspect required fields
  4. POST .../personal-data/form/submit with answers linked to assets