Skip to Content
APIs and IntegrationAPI Overview

API Overview

Cinnamon Platform

Cinnamon Platform provides an Open API specification for all endpoints available at /api-docs and a Swagger userinterface at /api/doc.

Cinnamon Anonymization

Cinnamon Anonymization provides an Open API specification for all endpoints available at /api-docs/anonymization and a Swagger userinterface at /api/doc/anonymization.

Cinnamon Synthetization

Available API Endpoints

Cinnamon Synthetization provides the following API endpoints:

Available Algorithms

Description:

Get available synthesizers with their metadata and URL which leads to the separate synthesizer frontend configurations.

Specification:

URLHTTP MethodRequest TypeResponse Type
/get_algorithmsGETNoneYAML

Request Content:
As specified here

Configuration Definitions

Description:

Get the frontend configuration as YAML for a specific synthesizer.

Specification:

URLHTTP MethodRequest TypeResponse Type
/synthetic_tabular_data_generator/synthesizer_config/<synthesizer>.yamlGETNoneYAML

Request Content:
As specified here

Start Processes

Description:

Starts the synthetization.

Specification:

URLHTTP MethodRequest TypeResponse Type
/start_synthetization_process/<synthesizer>POSTmultipart/form-dataJSON

Request Content:

ParameterTypeDescription
dataCSV fileThe real data.
attribute_configYAML fileThe attribute configuration.
algorithm_configYAML fileThe synthesizer configuration.
session_keystringThe session key.
callbackstringThe callback API.

Response Content:

ParameterTypeDescription
messagestringNormal message.
pidstringThe process ID for identifying the process on the external server. Can be empty if the ID of the platform is used.
session_keystringThe session key.

Monitor Process Status

Description:

Get the status of the synthetization process.

Specification:

URLHTTP MethodRequest TypeResponse Type
/get_status/<process_id>GETNoneJSON

Response Example:

{ "session_key": "2b06eb33-d2df-4edb-ad6d-ca38c7ecb329", "status": [ {"completed": "True", "duration": "0.20191478729248047", "step": "initialization"}, {"completed": "False", "duration": "Waiting", "remaining_time": "Waiting", "step": "fitting"}, {"completed": "False", "duration": "Waiting", "remaining_time": "Waiting", "step": "sampling"}, {"completed": "False", "step": "callback"} ], "synthesizer_name": "ctgan" }

Cancel Processes

Description:

A running process can be canceled by providing the session_key and pid in the form-data and executing following API:

Specification:

URLHTTP MethodRequest TypeResponse Type
/cancel_synthetization_processPOSTmultipart/form-dataNone

Request Content:

ParameterTypeDescription
pidstringThe process ID returned when starting a process. Null if nothing was returned.
session_keystringThe process ID in the platform.

Sending Results

The callback API will receive the following artifacts in the form-data:

ParameterTypeDescription
synthetic_dataCSV fileThe synthetic data.
trainCSV fileThe training data.
testCSV fileThe testing data.
modelPickle fileThe model.
Last updated on