The DSS API Node makes it easy to expose various applicative services over a REST API.

The main use case for the API node is to expose predictive models through a REST API, but it can also expose other types of services, known as endpoints.

A single DSS API node can expose an arbitrary number of endpoints.

Exposing predictive models

By using DSS only, you can compute predictions for all records of an unlabeled dataset. Using the REST API of the DSS API node, you can request predictions for new previously-unseen records in real time.

The DSS API node provides high availability and scalability for scoring of records.

It can expose as API both:

  • “Regular” prediction models, trained using the visual DSS machine learning component
  • “Custom” prediction models, written in Python or R.

Thanks to its advanced features, the DSS API node is at the heart of the feedback and improvement loop of your predictive models:

  • Powerful logging and auditing capabilities
  • A/B testing and multi-version evaluation of models
  • User-aware version dispatch

Exposing arbitrary Python and R functions

You can expose any Python or R function written in DSS as a endpoint on the API node. Calling the endpoint will call your function with the parameters you specify and return the results of the function.

The DSS API node provides automatic multithreading capabilities, high availability and scalability for execution of your function.

Exposing SQL queries

You can expose a parametrized SQL query as a DSS API node endpoint. Calling the endpoint with a set of parameters will execute the SQL query with these parameters.

The DSS API node automatically handles pooling connections to the database, high availability and scalability for execution of your query.

Performing lookups in datasets

The “Dataset lookup” endpoint allows you to fetch records from one or several DSS datasets

Interacting with the API node

For more information about the user-API, see API node user API

Creation and preparation of endpoints used by the API node is always done using DSS. The API node itself is a server application-only, it does not have an UI. You manage the API node through a REST API or a command-line tool. See Using the apinode-admin tool and API node administration API.