-
Notifications
You must be signed in to change notification settings - Fork 0
SMILE Endpoints
HTTP routes served by the SMILE server (standalone-smm-smile). They are internal routes used by the SMILE web interface, not a stable public API. Except for /, /privacy-policy, /citation, /list-analyses, and the login routes, they require a logged-in session (in single-user mode every request counts as logged in).
The route handlers live in www/routes/ (businessLogic/, search/, auth/), and the login routes are in www/app.js.
| Method | Endpoint | Description |
|---|---|---|
| GET | / |
Home page listing the available tools |
| GET | /query |
Social media data collection page |
| GET | /history |
Past Results page |
| GET | /citation |
How to cite SMILE |
| GET | /privacy-policy |
Privacy policy |
These routes are generated from the analysis config files: GET /<path> renders the analysis form, and POST /<path> runs the analysis, in real-time or background mode depending on the dataset size.
| Method | Endpoint | Description |
|---|---|---|
| GET, POST | /sentiment |
Sentiment analysis |
| GET, POST | /preprocessing |
Natural language preprocessing |
| GET, POST | /topic-modeling |
Topic modeling |
| GET, POST | /autophrase |
Automated phrase mining |
| GET, POST | /NER |
Named entity recognition |
| GET, POST | /networkx |
Network analysis |
| GET | /classification |
Text classification page |
| POST | /classification-split |
Classification step 1: split the dataset into training and testing sets |
| PUT | /classification-train |
Classification step 2: upload the labeled training set and train a model |
| POST | /classification-predict |
Classification step 3: predict labels with the trained model |
| GET | /list-analyses |
List the analyses and their run modes (used by the menu and the submit logic) |
| Method | Endpoint | Description |
|---|---|---|
| GET | /authorized |
Report which social media platforms the user has authorized |
| POST | /query-dryrun |
Fetch a single post to validate a query before collecting |
| POST | /query |
Send a collection query to the GraphQL data server |
| POST | /reddit-expand |
Expand collected Reddit posts to include their comments |
| POST | /image-crawler |
Download the images in a collected dataset as a zip file |
| POST | /prompt |
Look up a Twitter user by screen name |
| POST | /histogram |
Histogram of collected posts over time intervals |
| POST | /import |
Import your own dataset (CSV) for analysis |
| Method | Endpoint | Description |
|---|---|---|
| POST | /list |
List the categories of collected datasets and analysis outputs |
| POST | /list-all |
List the dataset IDs in each category |
| POST | /history |
Details of a selected dataset or output on the Past Results page |
| DELETE | /history |
Delete a dataset or output |
| POST | /render |
Preview a dataset, showing only the selected columns |
| POST | /render-json |
Preview items from JSON input |
| POST | /add-columnHead |
Register custom column names so they appear when previewing imported datasets |
| GET | /list-columnHead |
List the registered column names |
| GET | /tag |
Search tags by keyword and list the datasets with that tag |
| POST | /tag |
Add tags to a dataset |
| DELETE | /tag |
Remove tags from a dataset |
| POST | /download |
Download a file by URL |
| Method | Endpoint | Description |
|---|---|---|
| POST | /export |
Export all datasets and outputs to Google Drive, Dropbox, or Box |
| POST | /export-single |
Export one dataset or output to Google Drive, Dropbox, or Box |
| POST | /check-clowder-login |
Check whether the user has connected Clowder |
| POST | /clowder-login |
Connect Clowder with the user's credentials |
| POST |
/list-dataset, /list-collection, /list-space, /list-user
|
List the user's Clowder datasets, collections, spaces, or registered users |
| POST |
/clowder-dataset, /clowder-collection, /clowder-space
|
Create a Clowder dataset, collection, or space |
| POST | /clowder-files |
Upload files to a Clowder dataset |
SMILE login (multi-user mode, through CILogon):
| Method | Endpoint | Description |
|---|---|---|
| GET | /smile-login |
Start CILogon login |
| GET | /smile-login/callback |
CILogon OAuth callback |
| GET | /smile-logout |
Log out |
Platform authorization (standard OAuth flows that let SMILE collect data or export on the user's behalf):
| Method | Endpoint | Description |
|---|---|---|
| GET |
/login/twitterV2, /login/twitterV2/callback
|
Twitter / X (API v2) |
| GET, POST | /login/twitter |
Twitter (legacy API v1.1, PIN-based) |
| GET |
/login/reddit, /login/reddit/callback
|
|
| GET |
/login/google, /login/google/callback
|
Google (YouTube data and Google Drive export) |
| POST | /login/google/apikey |
Store a Google API key for YouTube searches |
| GET, POST | /login/dropbox |
Dropbox |
| GET |
/login/box, /login/box/callback
|
Box |
Using SMILE
Running SMILE
Developing SMILE