SymetryML6.1
  • Introduction
  • Guides
    • Onboarding Guide
    • Technical Requirements
    • Admin User Guide
    • Installation Guide
      • Installation Guide - GPU
      • Installation Guide - Spark
  • SymetryML GUI
    • ML Toolkit
      • The SymetryML Difference
      • Data Mining Lifecycle
      • SymetryML Concepts
      • Data Sources
      • Streams
      • Encoders
      • Projects
      • Models
    • Sequence Models
    • SymetryML Federated Learning
      • Creating the Federation
      • Load data to local project
      • Requesting Federation Information from Admin Node
      • Joining a Federation with a peer node
      • Federated Data & Modelling
      • Appendix
    • DEM Generator
  • SymetryML Rest Client
    • REST API Reference Guide
      • SymetryML REST API Security
      • SymetryML JSON API Objects
      • Encoder Object REST API
      • SymetryML Projects REST API
      • About Federated Learning
      • Hipaa Compliance and Federated Learning
      • Federated Learning API
        • Federated Learning Topologies
        • Federated Learning with Nats
        • Federated Learning with AWS
        • Fusion Projects
      • Exploration API
      • Modeling API
      • Exporting and Importing Model
      • Third Party Model Rest API
      • SymetryML Job Information
      • Prediction API
      • Data Source API
      • Project Data Source Logs
      • Stream Data Source API
      • AutoML with SymetryML
      • Transform Dataframe
      • Select Model with SymetryML
      • Auto Select with SymetryML
      • Tasks API
      • Miscellaneous API
      • WebSocket API
      • Appendix A JSON Data Structure Schema
      • Appendix B Sample Code
  • SymetryML SaaS
    • SaaS Homepage
    • SaaS Dashboard
    • SaaS Account
    • SaaS Users
    • SaaS Licence
Powered by GitBook
On this page
  • HTTP Request Body for JSON Objects
  • About Attribute Types
  • HTTP Response for JSON Objects
  • About JSON Strict Syntax
  • REST Call HTTP Return Code
  1. SymetryML Rest Client
  2. REST API Reference Guide

SymetryML JSON API Objects

PreviousSymetryML REST API SecurityNextEncoder Object REST API

Last updated 2 years ago

HTTP Request Body for JSON Objects

You must pass a JSON request body that is appropriate for the service being called. The following table describes the supported request bodies. For a detailed description about these objects, see .

JSON Data Structure
Description

DataFrame

* attributeNames = name of the attributes or features in the dataframe.

* attributeTypes = type of the attributes. See About Attribute Types.

* data = the actual data.

DSInfo

DSListingRequest

MLContext

ExploreContext

About Attribute Types

In SymetryML, It is possible to specify the type of the attributes in a . Attribute type is specified using a single character for each of the attributes in the . The following table describes the supported attribute types and their behaviour.

Attribute Type
Description
Details

C

Continuous

Use this to specify numbers.

B

Binary

Only 1 and 0.

S

String

Any String is allowed. Usually used in conjunction with an Encoder in a project (see Encoder Object REST API). If a project does not contain an encoder attribute with this type will be ignored..

L

List

String values separated by |, e.g.** |a|b|c**. Usually used in conjunction with an Encoder in a project (see Encoder Object REST API). If a project does not contain an encoder, an attribute with this type will be ignored.

T

Category

Attribute of these type will see all their different values seen as a different category. Under the hood, SymetryML creates ‘dynamic’ attributes for each the different values. This is a feature in SymetryML since version 3.5 that provides automatic handling of categorical values – usually in the form of string - by creating attributes on the fly in the project to represent them. The attribute being created will have a ‘Binary’ type and its actual name will be of the following form Example: flowertype$versicolor Values will be normalized by: trimming the value and changing it to lowercase.

X

Ignore

Attributes with this type will be ignored.

-

None

Internal Use Only

HTTP Response for JSON Objects

About JSON Strict Syntax

As of Version 5.0 SymetryML does not fully conform to the JSON syntax. More specifically, we can return float value like Infinity that are not part of the JSON specification. You might need to change the configuration of your JSON parser in order to allow it to be more lenient.

Main SymetryML Response

Object
Description

JSONResponse

Additional Response Entities

JSON Entity
Description

This JSON contains information about a data source. Depending on the type of the data source, the information it contains will be different. Currently, the following data sources are supported:

- Amazon S3

- SFTP

- HTTP URL

- JDBC

- Spark RDD

- Amazon S3 with Spark processing

- Amazon RedShift

- Amazon EMR.

Returns the following information about a specific job on the server:

- Job type

- Job Owner

- Whether the job has started yet

- Is Job finished

- Starting date of a job that has started.

- Maximum size of a file to process.

- Current size of a file that was processed. It is possible to compute the percentage of completion of a job by computing Current Size / Maximum Size.

- In the case of a reducer model, the current size will reflect how much iteration were done so far.

Contains information about a model. All models have at least the following information:

- Attribute Name

- Attribute name ID used internally in the model

- Attribute Types

- Target(s) name

- Target(s) name ID from the SymetryML project

- modelBuilt = number of models built to eventually create that model. This number is greater than 1 if the model is the result of the Reducer process.

- buildTime = overall processing time required to build the model. This value includes reduce time that might have built more than one models.

Depending on the type of model, more information can be stored in the form of key/value string pairs.

Holds the following information about a SymetryML project:

- ID of a SymetryML project

- List of attribute names

- List of attribute IDs

- List of attribute types:

- List of model IDs that belong to that SymetryML project

- Creation date

- Last modification date

Holds an array of string. This response is returned when asking for the list of SymetryML project IDs that was saved on Amazon S3 or when asking for the list of current job ID.

REST Call HTTP Return Code

Every service request to the SymetryML REST API returns an HTTP response code and HTTP header information that is appropriate for the service called. The following table lists the HTTP return codes. These return codes can be returned by any REST request.

HTTP Return Code
Description

200

OK, no error

201

CREATED, a resource was created successfully, for instance a project or data source.

202

ACCEPTED, typically returned when an asynchronous REST call return successfully.

400

BAD_REQUEST, the request was improperly formatted or was rejected by SymetryML for containing invalid information.

401

UNAUTHORIZED, the user's credentials were rejected by SymetryML.

409

CONFLICT, typically returned when trying to create an entity like a project or data source that already exists.

500 INTERNAL SERVER ERROR

If an exception was raised while processing a request, this response contains information about the error that was raised.

503 SERVICE NOT AVAILABLE

The SymetryML REST web application is not available. View your server logs to troubleshoot the issue.

Use when learning, forgetting, making predictions and modifying Encoder attributes values. DataFrame contains an attribute name list, an attribute types followed by an array of string. This organization is similar to a comma-separated value (CSV) file, where the first line usually is the header containing the name of each column (similar to the ‘attributes name list’ in our API), followed by n lines that each contain x values (where x usually is the same length as the number of columns in the header). contains the following information:

Information about data source.(see )

Information about listing directory and files from data sources.(see )

Used when building models and conducting data exploration requests. Use to specify attributes, target a request, and specify attribute(s) to use for Exploration requests.(see )

List of MLContext that allows passing multiple MLContext when calling the REST exploration service. You can then request the same metric for various attributes or a combination of attributes.(see )

All SymetryML REST requests return a JSON response. Depending on the service requested, the response can contain additional response(s) entity(ies) (see Additional Response Entities below). For a detailed description about these objects, see .

All SymetryML Rest APIs return this object. This object contains the HTTP return code, as well as contextual information if an error occurs. A JSONResponse can also contain additional response entities, depending on the service requested. (see )

DataFrame is returned as a response when using the SymetryML REST service on Data source files. For more information, see

See for more information.

This data structure is used to return data source listing information. It allows to list ‘folders’ and ‘files’ from a data source repository. For more information, see .

For more information, see .

Key String Value Double Map Data structure is an array of map<String, double>. For more information, see .

Key String Value Double Map Data structure is an array of map<String, double>. For more information, see .

List of .

Hold information about a federation. For more information consult the .

Data Structure that contains information about SNS topics, SQS queues and SNS subscriptions for a given AWS user. Please consult the for more information.

The data structure returned by the rest call.

Appendix A
Federation Learning API
Appendix A
DataFrame
DataFrame
DataFrame
DSInfo
DSListingRequest
MLContext
ExploreContext
Response Entities
DataFrame
DataFrame JSON.
DSInfo
DSInfo JSON
DSListingResponse
DSListingRequest
JobInfo
JobInfo
KSVDMap
KSVDMap
KSVSMap
KSVDMap
ModelInfo
ProjectInfo
ProjectInfoList
ProjectInfo
StringList
FederationInfo
AwsInfo
DensityList
Federated API
Density