GDPR
26 Endpunkte. Basis-URL: https://xapi.ambertech.cloud/api/v1
Export GDPR records to CSV#
/gdpr/exportTokenAntworten
- 200CSV file download
curl -X GET "https://xapi.ambertech.cloud/api/v1/gdpr/export" \
-H "Authorization: Bearer $XISUITE_TOKEN"List GDPR records with filters and pagination#
/gdpr/recordsTokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
organizationId | Query | string | Compatibility organization ID. Ignored; auth context is trusted. |
spreadsheet_id | Query | string | Compatibility spreadsheet UUID filter |
is_archived | Query | string | Filter by archive state ('true' or 'false') |
search | Query | string | Full-text search term |
page | Query | string | Page number (1-based) |
pageSize | Query | string | Page size (max 200) |
page_size | Query | string | Legacy snake_case page size alias |
assignee_id | Query | string | Filter by assignee UUID |
column_filters | Query | string | JSON encoded column filter map |
Antworten
- 200OK
curl -X GET "https://xapi.ambertech.cloud/api/v1/gdpr/records" \
-H "Authorization: Bearer $XISUITE_TOKEN"Create a GDPR record#
/gdpr/recordsTokenRequest-Body
| Name | Typ | Beschreibung |
|---|---|---|
organizationId | string | Compatibility organization ID. Ignored; auth context is trusted. |
spreadsheetId | string | Legacy spreadsheet UUID. Accepted for compatibility. |
spreadsheet_id | string | Legacy snake_case spreadsheet UUID. Accepted for compatibility. |
cell_data | object | Cell data as key-value pairs |
row_order | number | – |
assignee_id | string | Assigned user UUID |
Antworten
- 201Erstellt
curl -X POST "https://xapi.ambertech.cloud/api/v1/gdpr/records" \
-H "Authorization: Bearer $XISUITE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"organizationId":"…","spreadsheetId":"…","spreadsheet_id":"…"}'Get a single GDPR record#
/gdpr/records/{id}TokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
idPflicht | Pfad | string | – |
Antworten
- 200OK
curl -X GET "https://xapi.ambertech.cloud/api/v1/gdpr/records/{id}" \
-H "Authorization: Bearer $XISUITE_TOKEN"Update a GDPR record (optimistic locking)#
/gdpr/records/{id}TokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
idPflicht | Pfad | string | – |
Request-Body
| Name | Typ | Beschreibung |
|---|---|---|
id | string | Legacy body record UUID. Route param remains authoritative. |
organizationId | string | Compatibility organization ID. Ignored; auth context is trusted. |
cell_data | object | Cell data as key-value pairs |
row_order | number | – |
is_archived | boolean | – |
assignee_id | object | Assigned user UUID or null to unassign |
versionPflicht | number | Current record version for optimistic locking |
Antworten
- 200OK
curl -X PUT "https://xapi.ambertech.cloud/api/v1/gdpr/records/{id}" \
-H "Authorization: Bearer $XISUITE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"version":0}'Delete a GDPR record (cascades storage)#
/gdpr/records/{id}TokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
idPflicht | Pfad | string | – |
Antworten
- 200OK
curl -X DELETE "https://xapi.ambertech.cloud/api/v1/gdpr/records/{id}" \
-H "Authorization: Bearer $XISUITE_TOKEN"Toggle archive state of a GDPR record#
/gdpr/records/{id}/archiveTokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
idPflicht | Pfad | string | – |
Request-Body
| Name | Typ | Beschreibung |
|---|---|---|
is_archivedPflicht | boolean | – |
Antworten
- 200OK
curl -X PATCH "https://xapi.ambertech.cloud/api/v1/gdpr/records/{id}/archive" \
-H "Authorization: Bearer $XISUITE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"is_archived":true}'List attachments for a GDPR record#
/gdpr/records/{id}/attachmentsTokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
idPflicht | Pfad | string | – |
Antworten
- 200OK
curl -X GET "https://xapi.ambertech.cloud/api/v1/gdpr/records/{id}/attachments" \
-H "Authorization: Bearer $XISUITE_TOKEN"Upload an attachment to a GDPR record (max 50 MB)#
/gdpr/records/{id}/attachmentsTokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
idPflicht | Pfad | string | – |
Antworten
- 201Erstellt
curl -X POST "https://xapi.ambertech.cloud/api/v1/gdpr/records/{id}/attachments" \
-H "Authorization: Bearer $XISUITE_TOKEN"Get a signed URL for a GDPR attachment (60 s)#
/gdpr/records/{id}/attachments/{aid}TokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
idPflicht | Pfad | string | – |
aidPflicht | Pfad | string | – |
Antworten
- 200OK
curl -X GET "https://xapi.ambertech.cloud/api/v1/gdpr/records/{id}/attachments/{aid}" \
-H "Authorization: Bearer $XISUITE_TOKEN"Delete a GDPR attachment#
/gdpr/records/{id}/attachments/{aid}TokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
idPflicht | Pfad | string | – |
aidPflicht | Pfad | string | – |
Antworten
- 200OK
curl -X DELETE "https://xapi.ambertech.cloud/api/v1/gdpr/records/{id}/attachments/{aid}" \
-H "Authorization: Bearer $XISUITE_TOKEN"Get comments for a GDPR record#
/gdpr/records/{id}/commentsTokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
idPflicht | Pfad | string | – |
Antworten
- 200OK
curl -X GET "https://xapi.ambertech.cloud/api/v1/gdpr/records/{id}/comments" \
-H "Authorization: Bearer $XISUITE_TOKEN"Add a comment to a GDPR record#
/gdpr/records/{id}/commentsTokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
idPflicht | Pfad | string | – |
Request-Body
| Name | Typ | Beschreibung |
|---|---|---|
contentPflicht | string | – |
Antworten
- 201Erstellt
curl -X POST "https://xapi.ambertech.cloud/api/v1/gdpr/records/{id}/comments" \
-H "Authorization: Bearer $XISUITE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"content":"…"}'Update a GDPR record comment (author only)#
/gdpr/records/{id}/comments/{cid}TokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
idPflicht | Pfad | string | – |
cidPflicht | Pfad | string | – |
Request-Body
| Name | Typ | Beschreibung |
|---|---|---|
contentPflicht | string | – |
Antworten
- 200OK
curl -X PUT "https://xapi.ambertech.cloud/api/v1/gdpr/records/{id}/comments/{cid}" \
-H "Authorization: Bearer $XISUITE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"content":"…"}'Delete a GDPR record comment (author only)#
/gdpr/records/{id}/comments/{cid}TokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
idPflicht | Pfad | string | – |
cidPflicht | Pfad | string | – |
Antworten
- 200OK
curl -X DELETE "https://xapi.ambertech.cloud/api/v1/gdpr/records/{id}/comments/{cid}" \
-H "Authorization: Bearer $XISUITE_TOKEN"Get comment count for a GDPR record#
/gdpr/records/{id}/comments/countTokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
idPflicht | Pfad | string | – |
Antworten
- 200OK
curl -X GET "https://xapi.ambertech.cloud/api/v1/gdpr/records/{id}/comments/count" \
-H "Authorization: Bearer $XISUITE_TOKEN"Get audit history for a GDPR record#
/gdpr/records/{id}/historyTokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
idPflicht | Pfad | string | – |
Antworten
- 200OK
curl -X GET "https://xapi.ambertech.cloud/api/v1/gdpr/records/{id}/history" \
-H "Authorization: Bearer $XISUITE_TOKEN"Bulk update cells across multiple records (max 100)#
/gdpr/records/bulk-updateTokenRequest-Body
| Name | Typ | Beschreibung |
|---|---|---|
updatesPflicht | CellUpdateItemDto[] | Max 100 items |
updates[].record_idPflicht | string | Record UUID to update |
updates[].column_idPflicht | string | Column key to update (matches columnId in column_config) |
updates[].valuePflicht | object | New value for the cell (any type) |
updates[].versionPflicht | number | Current record version for optimistic locking |
Antworten
- 200OK
curl -X POST "https://xapi.ambertech.cloud/api/v1/gdpr/records/bulk-update" \
-H "Authorization: Bearer $XISUITE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"updates":[]}'Reorder GDPR records#
/gdpr/records/reorderTokenRequest-Body
| Name | Typ | Beschreibung |
|---|---|---|
updatesPflicht | RecordOrderItemDto[] | – |
updates[].record_idPflicht | string | – |
updates[].row_orderPflicht | number | – |
updates[].new_orderPflicht | number | – |
Antworten
- 200OK
curl -X POST "https://xapi.ambertech.cloud/api/v1/gdpr/records/reorder" \
-H "Authorization: Bearer $XISUITE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"updates":[]}'Get or auto-create the GDPR spreadsheet#
/gdpr/spreadsheetTokenAntworten
- 200OK
curl -X GET "https://xapi.ambertech.cloud/api/v1/gdpr/spreadsheet" \
-H "Authorization: Bearer $XISUITE_TOKEN"Update GDPR spreadsheet metadata#
/gdpr/spreadsheetTokenRequest-Body
| Name | Typ | Beschreibung |
|---|---|---|
title | string | – |
description | string | – |
column_config | string[] | Full column configuration array (IColumnConfig[]) |
sticky_columns | object | – |
default_row_height | number |
Antworten
- 200OK
curl -X PUT "https://xapi.ambertech.cloud/api/v1/gdpr/spreadsheet" \
-H "Authorization: Bearer $XISUITE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"title":"…","description":"…","column_config":[]}'Get GDPR spreadsheet with all matching records#
/gdpr/spreadsheet-with-recordsTokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
organizationId | Query | string | Compatibility organization ID. Ignored; auth context is trusted. |
spreadsheet_id | Query | string | Compatibility spreadsheet UUID filter |
is_archived | Query | string | Filter by archive state ('true' or 'false') |
search | Query | string | Full-text search term |
page | Query | string | Page number (1-based) |
pageSize | Query | string | Page size (max 200) |
page_size | Query | string | Legacy snake_case page size alias |
assignee_id | Query | string | Filter by assignee UUID |
column_filters | Query | string | JSON encoded column filter map |
Antworten
- 200OK
curl -X GET "https://xapi.ambertech.cloud/api/v1/gdpr/spreadsheet-with-records" \
-H "Authorization: Bearer $XISUITE_TOKEN"Add a column to the spreadsheet#
/gdpr/spreadsheet/columnsTokenRequest-Body
| Name | Typ | Beschreibung |
|---|---|---|
columnPflicht | ColumnConfigItemDto | – |
column.idPflicht | string | Column identifier |
column.visiblePflicht | boolean | Whether the column is visible |
column.orderPflicht | number | Display order (0-based) |
Antworten
- 201Erstellt
curl -X POST "https://xapi.ambertech.cloud/api/v1/gdpr/spreadsheet/columns" \
-H "Authorization: Bearer $XISUITE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"column":"…"}'Rename a spreadsheet column#
/gdpr/spreadsheet/columns/{columnId}TokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
columnIdPflicht | Pfad | string | – |
Request-Body
| Name | Typ | Beschreibung |
|---|---|---|
new_labelPflicht | string | New label for the column |
Antworten
- 200OK
curl -X PATCH "https://xapi.ambertech.cloud/api/v1/gdpr/spreadsheet/columns/{columnId}" \
-H "Authorization: Bearer $XISUITE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"new_label":"…"}'Remove a spreadsheet column#
/gdpr/spreadsheet/columns/{columnId}TokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
columnIdPflicht | Pfad | string | – |
Antworten
- 204Kein Inhalt
curl -X DELETE "https://xapi.ambertech.cloud/api/v1/gdpr/spreadsheet/columns/{columnId}" \
-H "Authorization: Bearer $XISUITE_TOKEN"Reorder spreadsheet columns#
/gdpr/spreadsheet/columns/reorderTokenRequest-Body
| Name | Typ | Beschreibung |
|---|---|---|
column_orderPflicht | ColumnOrderDto[] | – |
column_order[].columnIdPflicht | string | – |
column_order[].orderPflicht | number | – |
Antworten
- 200OK
curl -X POST "https://xapi.ambertech.cloud/api/v1/gdpr/spreadsheet/columns/reorder" \
-H "Authorization: Bearer $XISUITE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"column_order":[]}'