Skip to main content

API Reference

info

This page was auto-generated from the contents of the official CIRCUS repository on 2024/12/03. This page will be regenerated when there is an update for the docs.

The below is the list of all endpoints available in CIRCUS API.

caution

This section is still a work in progress.

Meanwhile, you can check how to use the API using the "Network" tab of your browser's developer tool. The web UI of CIRCUS uses the same API and the authorization scheme; in other words, our web UI is fundamentally a client of the API. Our API tests also work as examples for each endpoint.


BLOBs

Manages BLOB objects with a hash.

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.

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.

My Lists

Manages my lists.

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 Job Queue

Returns job queue for the job started by the current user.

GET /plugin-job-queue
Returns plugin job queue.

Plugin Jobs

Creates and manages CIRCUS CS plug-in jobs.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Group Administration

Manages user groups.

GET /admin/groups
Retrieves the list of groups
GET /admin/groups/:groupId
Retrieves the specified group.
PATCH /admin/groups/:groupId
Updates the specified group.
POST /admin/groups
Creates a new group.
GET /admin/global-privileges

One Time URL

Manages one time url.

POST /admin/onetime-urls
Creates a new one time url.

Plugin Job Manager Administration

Manages CIRCUS CS Plug-in Job Manager.

GET /admin/plugin-job-manager
Gets the status of the job manager.
PUT /admin/plugin-job-manager/switch
Sets the status of the job manager.

Plugin Job Queue Administration

Returns job queue.

GET /admin/plugin-job-queue
Returns plugin job queue.

Plugin Administration

Manages CIRCUS CS Plug-ins

GET /admin/plugins
Gets the list of available plug-ins.
PATCH /admin/plugins/:pluginId
Updates plugin definition.

Project Administration

Manages projects.

GET /admin/projects
Retrieves the list of projects.
GET /admin/projects/:projectId
Retrieves the specified project.
PATCH /admin/projects/:projectId
Updates the specified project.
POST /admin/projects
Creates a new project.

Server Parameter

Manages login users.

GET /admin/server-params
Retrieves the list of server parameters.
GET /admin/server-params/:key
Retrieves the specified server parameter.
PUT /admin/server-params/:key
Updates the specified server parameter.
PUT /admin/server-params
Bulk-updates server parameters.

User Administration

Manages login users.

GET /admin/users
Retrieves the list of users.
GET /admin/users/:userEmail
Retrieves the specified user.
PATCH /admin/users/:userEmail
Updates the specified user.
POST /admin/users
Creates a new user.