API

Introduction

swagger.png

Everything you can do from the web application is also available through the DEDOMENA.AI REST API, so you can automate anonymization and synthetic-data generation from your own applications and pipelines. Interactive documentation (Swagger) is available at the /docs endpoint of the API.

Authentication

Every request is authorized with your personal token, passed as a query parameter (?token=YOUR_TOKEN). Requests are rate-limited per account.

Assets

The API works on assets you have already added and analyzed on the platform (see Assets in the Cloud Guide); you refer to each one by its assetId. Because column types were detected during analysis, you do not need to describe your data again when you call the API.

Anonymize

code

POST /nucleus/anonymize?token=YOUR_TOKEN

Send a JSON body that names, for each sensitive column, the method to apply. You can anonymize several tables in one call by adding more entries to datasets.

json

\{

  "anonymizerName": "Customers – shared copy",

  "anonymizerDescription": "Anonymized for the analytics team",

  "anonymizerUseCase": "102",

  "datasets": [

    \{

      "assetId": "a1b2c3d4-...",

      "datasetName": "customers",

      "columns": \{

        "full_name":   \{ "method": "simulation" \},

        "email":       \{ "method": "mask" \},

        "national_id": \{ "method": "hash" \},

        "age":         \{ "method": "generalize", "param": 10 \}

      \}

    \}

  ]

\}

  • Each column maps to a methodmask, hash, pseudonym, shuffle, generalize, perturb, simulation, coding, or the visual methods blur, pixelate, redact — and an optional param (for example, the range size for generalize).

  • Any column you do not list is left unchanged.

bash

curl -X POST "https://api.dedomena.ai/nucleus/anonymize?token=YOUR_TOKEN" \

     -H "Content-Type: application/json" \

     -d @anonymize_config.json

The response returns the run status; the anonymized dataset is saved as a new asset.

Synthesize

Creating synthetic data with the API is a two-step process: first train a synthesizer, then generate data from it.

Step 1 — Train

code

POST /nucleus/synthesize?algorithm=ALGORITHM&token=YOUR_TOKEN

ALGORITHM is one of generic, transactional, or relational. Provide the asset and the training options; the column types are taken automatically from the analysis, so you do not need to list them.

json

\{

  "assetId": "a1b2c3d4-...",

  "synthesizerName": "customers_v1",

  "synthesizerDescription": "Quality mode",

  "epochs": 200,

  "batchSize": 256,

  "amplify": "quality",

  "constraints": ["age\>=18"]

\}

bash

curl -X POST "https://api.dedomena.ai/nucleus/synthesize?algorithm=generic&token=YOUR_TOKEN" \

     -H "Content-Type: application/json" \

     -d @synthesize_config.json

The response includes a runId and the training status. Training runs in the background; check its progress with the run endpoints below. (You can also train from a connected database by providing a databaseId and tableName instead of an assetId.)

Step 2 — Generate — once training has finished, create a synthetic dataset from the trained synthesizer:

code

POST /nucleus/generate/\{run_id\}?num_rows=100000&token=YOUR_TOKEN

For small, on-demand samples you can use the real-time endpoint, which returns the rows directly (up to 5,000):

code

POST /nucleus/generate/realtime/\{run_id\}?num_rows=...&replicate_outliers=yes|no

Step 3 — Download — retrieve the generated dataset in the format you prefer:

code

GET /nucleus/download/syntheticdata/\{run_id\}?file_format=CSV&token=YOUR_TOKEN

Available formats: CSV, PARQUET, AVRO, JSON.

Managing runs

EndpointPurpose
GET /nucleus/runs/listList all your trained synthesizers.
GET /nucleus/runs/info/\{run_id\}Get the details and status of a synthesizer.
GET /nucleus/runs/logs/\{run_id\}Get the training logs of a run.
POST /nucleus/uploadmodelUpload a synthesizer trained locally with Nucleus Edge (see Uploading Synthesizers).

All run endpoints take your token as a query parameter.

API | Dedomena AI Documentation | Dedomena AI