API Reference
BLOBs
Manages BLOB objects with a hash.
API Endopoints
GET /blob/:hash
Fetches the blob specified by the hash.
PUT /blob/:hash
Stores a new blob. The hash is a SHA-1 of the binary to be stored.
Cases
Manages CIRCUS DB cases.
API Endopoints
GET /cases
Performs search and retrieves a list of cases.
GET /cases/list/:myListId
Peforms search based on a my list ID.
POST /cases
Creates a new case.
GET /cases/:caseId
Returns information about the specified case.
POST /cases/:caseId/revision
Creates a new revision in the specified case.
POST /cases/export-mhd
Creates a task to export the specified cases as MHD.
PUT /cases/:caseId/tags
Updates the tags of the specified case.
PATCH /cases/tags
Manages the tags of multiple cases.
DELETE /cases/:caseId
Deletes the specified case.
Debug
This is a collection of several debugging routes. These endpoints are turned off if the environment variable NODE_ENV is production. Enabling these endpoints on production can be a security hole.
API Endopoints
GET /status
Shows some server status.
POST /echo
Echoes what's in the input JSON.
GET /dummy-progress
Returns mock progress event stream.
Login Info
Returns information regarding the current user.
API Endopoints
GET /login-info
GET /login-info/full
Logout
Forces the user to log-out by invalidating the access token.
API Endopoints
GET /logout
Forces the user to log-out by invalidating the access token.
My Lists
Manages my lists.
API Endopoints
GET /mylists
Performs search and retrieves a list of the current user's my lists.
GET /mylists/:myListId
Returns information about the specified my list.
POST /mylists
Creates a new my list.
PATCH /mylists/:myListId
Change name, public status, and editors of the specified my list.
DELETE /mylists/:myListId
Deletes the specified my list.
PATCH /mylists/:myListId/items
Adds items to or removes items from the specified my list.
Plugin Jobs
Dynamically provides CIRCUS CS displays.
API Endopoints
GET /plugin-displays/:pluginId/:path+
Returns the display using Webpack Module Federation.
Plugin Job Queue
Returns job queue for the job started by the current user.
API Endopoints
GET /plugin-job-queue
Returns plugin job queue.
Plugin Jobs
Creates and manages CIRCUS CS plug-in jobs.
API Endopoints
POST /plugin-jobs
Creates a new plug-in job.
PATCH /plugin-jobs/:jobId
Cancels or invalidates an existing plug-in job.
GET /plugin-jobs
Performs search for the plug-in job.
GET /plugin-jobs/list/:myListId
Performs search based on a my list ID.
GET /plugin-jobs/:jobId
Returns the detail of the specified plug-in job.
GET /plugin-jobs/:jobId/attachment
Return the list of attachments from the plug-in.
GET /plugin-jobs/:jobId/attachment/:path+
Returns the specified file output from the plug-in.
POST /plugin-jobs/:jobId/feedback/consensual
Creates a new consensual feedback entry for the specified plug-in job.
POST /plugin-jobs/:jobId/feedback/personal
Creates a new personal feedback entry for the specified plug-in job.
GET /plugin-jobs/:jobId/feedback
Lists feedback entries for the specified plug-in job.
DELETE /plugin-jobs/:jobId/feedback/:feedbackId
Removes feedback items.
Plugins
Fetches information about CIRCUS CS Plug-ins.
API Endopoints
GET /plugins/:pluginId
Gets the specified plug-in definition.
GET /plugins
Gets the list of plug-in definitions.
Preferences
Manages preferences of the log-in user. Note that all the fields are optional.
API Endopoints
GET /preferences
Returns the preferences object of the current user.
PATCH /preferences
Patches the preferences of the current user. All fields are shallow-merged to the root preference object.
Projects
Fetches the project data structure.
API Endopoints
GET /projects/:projectId
Returns the project data structure.
Series
Operates DICOM series. This handles series information stored in the database. Actual image data (voxel values, window, etc.) are not contained.
API Endopoints
GET /series
Retrieves the list of DICOM series.
GET /series/list/:myListId
Performs search based on a my list ID.
POST /series/domain/:domain
Uploads one or more DICOM files, creating a task.
POST /series/domain/:domain/single
Uploads one DICOM file without creating a task.
GET /series/:seriesUid
Returns information about the specified series.
GET /series/:seriesUid/orientation
Returns whether series is head-first or foot-first.
DELETE /series/:seriesUid
Deletes the specified series.
POST /series/export-cs-volume
Creates a task to export the specified series for use in CIRCUS CS.
Status
Returns the API server status.
API Endopoints
GET /status
Returns basic API server status. Can be used for "ping"-ing.
Tasks
Retreive information about tasks. A task is a potentially time-consuming operation other than plug-in jobs.
API Endopoints
GET /tasks
Retrieves the list of tasks of the current user.
GET /tasks/report
Reports the current user's task progress using server-sent events.
GET /tasks/:taskId
Returns the information about the specified task.
GET /tasks/:taskId/download
Lets the current user download the created file.
PATCH /tasks/:taskId
Changes the dismissed state.
POST /tasks/debug-task
Runs a dummy task for debugging.
Permanent API Tokens
Retreive information about permanent API tokens.
API Endopoints
GET /tokens
Retrieves the list of permanent access tokens.
POST /tokens
Creates a new permanent access token.
DELETE /tokens/:tokenId
Deletes the specified permanent access token.
Users
Fetches minimum information about users.
API Endopoints
GET /users/:userEmail
Gets the information about the specified user. This endpoint is available to all users, but returns only minimum information about the user.