-
Notifications
You must be signed in to change notification settings - Fork 0
API Endpoints
Ben Serrette edited this page Aug 23, 2019
·
32 revisions
Return a 403 if the user performing the action does not have access to a particular data set
All endpoints should accept auth-token headers that can be validated by the authenticate-token auth endpoint
Errors (e.g. 403, 500, etc) should be accompanied by a json response body including an "error message" field
NOTE: Endpoints marked with * are not yet implemented
{
dataset: "wos", // or "mag" etc
filters: [
{
field: 'year',
value: '2007',
operation: "AND" //or OR etc
},
{
field: 'author',
value: 'Smith',
operation: ""
},
...
],
output: [
{
type: 'single',
field: 'paper_id'
},
{
type: 'single',
field: 'year'
},
{
type: 'single',
field: 'authors'
},
{
type: 'network',
field: 'citations',
degree: '2'
}
]
}
These are all in the backend of the Interface Repo https://github.com/iuni-cadre/cadre-interface
- List Jobs for the current user
-
Runs a package by sending a job to the SQS queue
-
Request:
{ package_id: xxx, output_filename: [xxx, xxx, ...] }
-
Response:
{ job_id: xxx, job_status: xxx }
-
Error:
{ error_message: "Descriptive Message about why it failed to run" }
-
List All packages
-
NOTE: Actual response depends on how we decide to handle the database schema
-
Request:
{ limit: xxx, page: xxx, order: xxx, search: xxx }
-
Response:
[ { package_id: "xxxxx", name: "xxxxx", author: "xxxx", created_date: "2019-07-16 10:51:26", tools: ["tool 1", "tool 2"], input_files: ["/dataset.csv"] }, .... ]
- Create a new notebook server for a given user
- Proxy for the Kubernates endpoint
- Gets the status of a user's notebook
- Proxy for the Kubernates endpoint
- Get a new notebook token for a given user
- Proxy for the Kubernates endpoint
- List jobs for specific user
- Get metadata including status for a specific job
- Create a new package
- List teams for current user
- Get metadata for specific team
- Create a new team
- 403 if the user does not have access to the datasets used by the team
- 404 if the user doesn't exist
- List datasets that the current user has access to
- List current user's available notebooks (for user and team)
- Get specific user's notebooks
- Get notebooks for a specific team
- Get metadata for a specific notebook
- List data assets (query results, etc) for the current user
- Get list of assets for a specific data set (wos, mag, etc)
- Copy a data asset to a specific notebook.
- Updates list of datasets that the notebook contains
- 403 if notebook does not have access to the data set
- List all institutions
- Get metadata for specific institution, including which datasets they have access to.