API Reference
Full REST API reference for all OpenDataMask endpoints. Base URL: http://<host>:8080/api.
Authentication: All /api/* endpoints (except /api/auth/*) require a Bearer token in the Authorization header.
Auth
| Method | Path | Description |
| POST | /api/auth/register | Register a new user |
| POST | /api/auth/login | Authenticate and receive JWT |
Workspaces
| Method | Path | Description |
| GET | /api/workspaces | List workspaces for current user |
| POST | /api/workspaces | Create workspace |
| GET | /api/workspaces/{id} | Get workspace details |
| PUT | /api/workspaces/{id} | Update workspace |
| DELETE | /api/workspaces/{id} | Delete workspace |
| GET | /api/workspaces/{id}/stats | Get workspace statistics |
| POST | /api/workspaces/{id}/inherit | Inherit configuration from parent workspace |
| GET | /api/workspaces/{id}/export | Export workspace config as JSON |
| POST | /api/workspaces/{id}/import | Import workspace config from JSON |
Data Connections
| Method | Path | Description |
| GET | /api/workspaces/{id}/connections | List connections |
| POST | /api/workspaces/{id}/connections | Create connection |
| GET | /api/workspaces/{id}/connections/{cid} | Get connection details |
| PUT | /api/workspaces/{id}/connections/{cid} | Update connection |
| DELETE | /api/workspaces/{id}/connections/{cid} | Delete connection |
| POST | /api/workspaces/{id}/connections/{cid}/test | Test connection |
Connection Pairs
| Method | Path | Description |
| GET | /api/workspaces/{id}/connection-pairs | List active connection pairs |
| POST | /api/workspaces/{id}/connection-pairs | Create a connection pair (name, sourceConnectionId, destinationConnectionId) |
| GET | /api/workspaces/{id}/connection-pairs/{pid} | Get a single pair |
| PUT | /api/workspaces/{id}/connection-pairs/{pid} | Update a pair |
| DELETE | /api/workspaces/{id}/connection-pairs/{pid} | Soft-delete a pair (retained in audit history) |
Table Configuration
| Method | Path | Description |
| GET | /api/workspaces/{id}/tables | List table configurations |
| POST | /api/workspaces/{id}/tables | Create table configuration |
| PUT | /api/workspaces/{id}/tables/{tid} | Update table configuration |
| DELETE | /api/workspaces/{id}/tables/{tid} | Delete table configuration |
| GET | /api/workspaces/{id}/tables/{tid}/columns | List column generators |
| PUT | /api/workspaces/{id}/tables/{tid}/columns/{col} | Set column generator |
Data Mappings
| Method | Path | Description |
| GET | /api/workspaces/{id}/mappings | List custom data mappings |
| POST | /api/workspaces/{id}/mappings | Create a single column mapping (action: MASK|MIGRATE_AS_IS, maskingStrategy, piiRuleParams) |
| POST | /api/workspaces/{id}/mappings/bulk | Create/replace all column mappings for a table in one request |
| DELETE | /api/workspaces/{id}/mappings/{mid} | Delete a mapping |
Jobs
| Method | Path | Description |
| GET | /api/workspaces/{id}/jobs | List jobs |
| POST | /api/workspaces/{id}/jobs | Run a new job. Body: {"connectionPairId": 5} (optional — omit to use workspace defaults) |
| GET | /api/workspaces/{id}/jobs/{jid} | Get job status, progress, and connection details |
| POST | /api/workspaces/{id}/jobs/{jid}/cancel | Cancel a running job |
| DELETE | /api/workspaces/{id}/jobs/{jid} | Delete job record |
| GET | /api/workspaces/{id}/jobs/{jid}/logs | Get job log entries |
| GET | /api/workspaces/{id}/jobs/{jid}/stats | Get per-table throughput statistics (rows read/written, elapsed ms, rows/sec) |
Sensitivity Scans
| Method | Path | Description |
| POST | /api/workspaces/{id}/sensitivity-scan/run | Run sensitivity scan |
| GET | /api/workspaces/{id}/sensitivity-scan/status | Get scan status |
| GET | /api/workspaces/{id}/sensitivity-scan/results | Get scan results |
| GET | /api/workspaces/{id}/sensitivity-scan/log | Get scan log |
| GET | /api/workspaces/{id}/sensitivity-scan/log/download | Download scan log as file |
| PATCH | /api/workspaces/{id}/sensitivity-scan/columns/{table}/{col} | Update column sensitivity level |
Privacy Hub
| Method | Path | Description |
| GET | /api/workspaces/{id}/privacy-hub | Get privacy summary |
| GET | /api/workspaces/{id}/privacy-hub/recommendations | Get masking recommendations |
| POST | /api/workspaces/{id}/privacy-hub/recommendations/apply | Apply all recommendations |
| GET | /api/workspaces/{id}/privacy-report | Get current privacy report |
| GET | /api/workspaces/{id}/privacy-report/download | Download report as JSON |
| GET | /api/workspaces/{id}/privacy-report/jobs/{jid} | Get report for specific job |
Schema Changes
| Method | Path | Description |
| GET | /api/workspaces/{id}/schema-changes | List schema changes |
| POST | /api/workspaces/{id}/schema-changes/detect | Run schema change detection |
| POST | /api/workspaces/{id}/schema-changes/{cid}/resolve | Resolve a change |
| POST | /api/workspaces/{id}/schema-changes/{cid}/dismiss | Dismiss a change |
| POST | /api/workspaces/{id}/schema-changes/resolve-all | Resolve all changes |
| PATCH | /api/workspaces/{id}/schema-changes/settings | Update schema-change notification settings |
Subset Configuration
| Method | Path | Description |
| GET | /api/workspaces/{id}/subset-config | List subset configs |
| POST | /api/workspaces/{id}/subset-config | Create or update subset config |
| PUT | /api/workspaces/{id}/subset-config/{cid} | Update subset config |
| DELETE | /api/workspaces/{id}/subset-config/{cid} | Delete subset config |
Generator Presets
| Method | Path | Description |
| GET | /api/generator-presets/system | List built-in system presets |
| GET | /api/workspaces/{id}/generator-presets | List workspace presets |
| POST | /api/workspaces/{id}/generator-presets | Create workspace preset |
| PUT | /api/workspaces/{id}/generator-presets/{pid} | Update workspace preset |
| DELETE | /api/workspaces/{id}/generator-presets/{pid} | Delete workspace preset |
| POST | /api/workspaces/{id}/generator-presets/{pid}/apply | Apply preset to column |
Job Schedules
| Method | Path | Description |
| GET | /api/workspaces/{id}/schedules | List job schedules |
| POST | /api/workspaces/{id}/schedules | Create schedule |
| PUT | /api/workspaces/{id}/schedules/{sid} | Update schedule |
| DELETE | /api/workspaces/{id}/schedules/{sid} | Delete schedule |
| POST | /api/workspaces/{id}/schedules/validate-cron | Validate cron expression |
Webhooks
| Method | Path | Description |
| GET | /api/workspaces/{id}/webhooks | List webhooks |
| POST | /api/workspaces/{id}/webhooks | Create webhook |
| PUT | /api/workspaces/{id}/webhooks/{wid} | Update webhook |
| DELETE | /api/workspaces/{id}/webhooks/{wid} | Delete webhook |
| POST | /api/workspaces/{id}/webhooks/{wid}/test | Send a test payload |
| Method | Path | Description |
| GET | /api/workspaces/{id}/comments/{table}/{col} | List comments for a column |
| POST | /api/workspaces/{id}/comments/{table}/{col} | Add a comment |
| DELETE | /api/workspaces/{id}/comments/{table}/{col}/{cid} | Delete a comment |
Data Preview
| Method | Path | Description |
| GET | /api/workspaces/{id}/preview/{table}/{col} | Preview masked output for a column. Query param: sampleSize (default 5) |
Workspace Export / Import
| Method | Path | Description |
| GET | /api/workspaces/{id}/export | Download workspace config as JSON (attachment) |
| POST | /api/workspaces/{id}/import | Upload and apply a workspace config JSON |
Health
| Method | Path | Description |
| GET | /actuator/health | Liveness / readiness check. Returns {"status":"UP"} |
| GET | /actuator/info | Application info |