REST API Reference

This REST API allows to use FreeDiscovery from any supported programming language.

Following resources are defined,

Load Benchmark Dataset

/api/v0/dataset/<dataset-name> GET Load benchmark dataset

Parsers

/api/v0/email-parser/ POST Load a dataset and parse emails
/api/v0/email-parser/ GET List processed datasets
/api/v0/email-parser/<dataset-id> GET Load parsed emails
/api/v0/email-parser/<dataset-id>/index GET Query document index for a list of filenames
/api/v0/email-parser/<dataset-id> DELETE Delete a processed dataset

Feature Extraction

/api/v0/feature-extraction/ POST Load a dataset and initialize feature extraction
/api/v0/feature-extraction/ GET List processed datasets
/api/v0/feature-extraction/<dataset-id> POST Run feature extraction on a dataset
/api/v0/feature-extraction/<dataset-id> GET Load extracted features (and obtain the processing status)
/api/v0/feature-extraction/<dataset-id>/index GET Query document index for a list of filenames
/api/v0/feature-extraction/<dataset-id> DELETE Delete a processed dataset

Document Categorizaiton

/api/v0/lsi/ POST Construct the Latent Semantic Indexing (LSI) model
/api/v0/lsi/<lsi-id>/predict POST Predict categorization with LSI
/api/v0/lsi/<lsi-id>/test POST Test categorization with LSI
/api/v0/lsi/<lsi-id> GET Show LSI model parameters
/api/v0/lsi/<lsi-id> DELETE Delete a LSI model
/api/v0/categorization/ POST Build the ML categorization model
/api/v0/categorization/<model-id>/predict POST Categorize documents using different ML algorithms
/api/v0/categorization/<model-id>/test POST Test categorization accuracy
/api/v0/categorization/<model-id> GET Load categorization model parameters
/api/v0/categorization/<model-id> DELETE Delete the categorization model

Document Clustering

/api/v0/clustering/k-mean POST Compute clustering (K-mean)
/api/v0/clustering/birch POST Compute clustering (Birch)
/api/v0/clustering/ward-hc POST Compute clustering (Ward hierarchical)
/api/v0/clustering/dbscan POST Compute clustering (DBSCAN)
/api/v0/clustering/<model-name>/<model-id> POST Compute cluster labels
/api/v0/clustering/<model-name>/<model-id> DELETE Delete a clustering model

Near Duplicate Detection

/api/v0/duplicate-detection/ POST Compute near duplicates
/api/v0/duplicate-detection/<model-id> GET Query duplicates

Email threading

/api/v0/email-threading/ POST Thread emails
/api/v0/email-threading/<model-id> GET Get threading parameters

Metrics

/api/v0/metrics/categorization GET Retrieve categorization metrics
/api/v0/metrics/clustering GET Retrieve clustering metrics
/api/v0/metrics/duplicate-detection GET Retrieve duplicate detection metrics