Data Types
apiSchema
This is a meta-schema that explains the format of API manifest yaml files under api/*/index.yaml.
name
- type
- string
{"type":"string"}description
- type
- string
{"type":"string"}routes
- type
- array
- array items
- object
{"type":"array","items":{"type":"object","properties":{"verb":{"type":"string","enum":["get","put","post","patch","delete"],"description":"HTTP verb of this route."},"path":{"type":"string","description":"HTTP URL path of this route."},"handler":{"type":"string","description":"Handle fucntion name. If omitted, default value is determined from the verb (eg. \"handleGet\", \"handlePatch\").\n"},"description":{"type":"string","description":"API description. Parsed as markdown, appears as API reference.\n"},"requiredGlobalPrivilege":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"requiredProjectPrivilege":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"requiredPluginPrivilege":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"requiredSeriesDomainCheck":{"oneOf":[{"type":"string"},{"type":"boolean"}]},"forDebug":{"type":"boolean","description":"This route will be loaded only when the API server is loaded in the debug mode.\n"},"expectedContentType":{"type":"string","default":"application/json"},"requestSchema":{"type":["object","string"],"description":"JSON Schema of the HTTP request JSON. A string value represents the ID of the schema, whereas an object value represents an actual JSON schema (you can still use `$ref` to reference external schema).\n"},"responseSchema":{"type":["object","string"],"description":"JSON Schema of the HTTP response JSON. A string value represents the ID of the schema, whereas an object value represents an actual JSON schema (you can still use `$ref` to reference external schema).\n"},"noAuthentication":{"const":true,"description":"This skips the OAuth authentication and exposes this route to the public.\n"}},"required":["verb","path"],"additionalProperties":false}}Case
caseId
Randomly-generated case ID.
- type
- string
{"type":"string","description":"Randomly-generated case ID.\n"}projectId
- type
- string
{"type":"string"}tags
- type
- array
- array items
- string
{"type":"array","items":{"type":"string"}}latestRevision
{"$ref":"revision"}revisions
- type
- array
- array items
- See:revision
{"type":"array","items":{"$ref":"revision"}}domains
- type
- array
- array items
- string
{"type":"array","items":{"type":"string"}}CaseCreate
projectId
- type
- string
{"type":"string"}series
- type
- array
- minimum length
- 1
- array items
- See:seriesEntryWithAutoPvd
{"type":"array","items":{"$ref":"seriesEntryWithAutoPvd"},"minLength":1}tags
- type
- array
- array items
- string
{"type":"array","items":{"type":"string"}}AbbreviatedCase
This is a variation of clinicalCase returned by the endpoints of fetching a list of cases. This does not have the revisions field but has the patientInfo field.
caseId
Randomly-generated case ID.
- type
- string
{"type":"string","description":"Randomly-generated case ID.\n"}projectId
- type
- string
{"type":"string"}patientInfo
- type
- object
{"type":"object"}tags
- type
- array
- array items
- string
{"type":"array","items":{"type":"string"}}latestRevision
{"$ref":"revision"}domains
- type
- array
- array items
- string
{"type":"array","items":{"type":"string"}}Group
groupId
A unique incremental identifier for the group within a single installation.
- type
- number
{"type":"number","description":"A unique incremental identifier for the group within a single installation.\n"}groupName
The name of the group.
- type
- string
{"type":"string","description":"The name of the group.\n"}privileges
A list of privileges assigned to the group.
- type
- array
- array items
{"type":"array","items":{"enum":["createProject","deleteProject","manageServer","personalInfoView","downloadVolume","issueOnetime"]},"description":"A list of privileges assigned to the group.\n"}domains
Domains that group members are allowed to access.
- type
- array
- array items
- string
{"type":"array","items":{"type":"string"},"description":"Domains that group members are allowed to access.\n"}readProjects
Project IDs that group members have read access to.
- type
- array
- array items
- string
{"type":"array","items":{"type":"string"},"description":"Project IDs that group members have read access to.\n"}writeProjects
Project IDs that group members have write access to.
- type
- array
- array items
- string
{"type":"array","items":{"type":"string"},"description":"Project IDs that group members have write access to.\n"}addSeriesProjects
Project IDs where group members can add series to existing cases.
- type
- array
- array items
- string
{"type":"array","items":{"type":"string"},"description":"Project IDs where group members can add series to existing cases.\n"}viewPersonalInfoProjects
Project IDs where group members can view personal information.
- type
- array
- array items
- string
{"type":"array","items":{"type":"string"},"description":"Project IDs where group members can view personal information.\n"}moderateProjects
Project IDs where group members have moderation privileges.
- type
- array
- array items
- string
{"type":"array","items":{"type":"string"},"description":"Project IDs where group members have moderation privileges.\n"}readPlugin
Plugin IDs that group members have read access to.
- type
- array
- array items
- string
{"type":"array","items":{"type":"string"},"description":"Plugin IDs that group members have read access to.\n"}executePlugin
Plugin IDs that group members can execute.
- type
- array
- array items
- string
{"type":"array","items":{"type":"string"},"description":"Plugin IDs that group members can execute.\n"}manageJobs
Plugin IDs where group members can manage and invalidate succeeded jobs.
- type
- array
- array items
- string
{"type":"array","items":{"type":"string"},"description":"Plugin IDs where group members can manage and invalidate succeeded jobs.\n"}inputConsensualFeedback
Plugin IDs where group members can input consensual feedback.
- type
- array
- array items
- string
{"type":"array","items":{"type":"string"},"description":"Plugin IDs where group members can input consensual feedback.\n"}inputPersonalFeedback
Plugin IDs where group members can input personal feedback.
- type
- array
- array items
- string
{"type":"array","items":{"type":"string"},"description":"Plugin IDs where group members can input personal feedback.\n"}manageFeedback
Plugin IDs where group members can manage and delete feedback.
- type
- array
- array items
- string
{"type":"array","items":{"type":"string"},"description":"Plugin IDs where group members can manage and delete feedback.\n"}viewPersonalInfo
Plugin IDs where group members can view personal information.
- type
- array
- array items
- string
{"type":"array","items":{"type":"string"},"description":"Plugin IDs where group members can view personal information.\n"}Icon
Represents an icon for projects and apps.
glyph
- type
- string
{"type":"string"}color
- type
- string
{"type":"string"}backgroundColor
- type
- string
{"type":"string"}JsonSchemaSubset
type
{"const":"object"}properties
- type
- object
{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"enum":["number","integer","string","boolean"]},"maximum":{"type":"number"},"minimum":{"type":"number"},"maximumExclusive":{"type":"number"},"minimumExclusive":{"type":"number"},"minLength":{"type":"integer"},"maxLength":{"type":"integer"},"enum":{"type":"array","items":{"type":"string"}}}}}required
- type
- array
- array items
- string
{"type":"array","items":{"type":"string"}}Label
Label represents information stored in ClinicalCase.revisions[n].series[m].labels. It holds information that attaches to a certain series in a case.
name
The name of this label.
{"oneOf":[{"type":"string"},{"type":"null"}],"description":"The name of this label.\n"}data
- type
- object
{"type":"object","properties":{"color":{"type":"string","pattern":"^#[0-9a-f]{6,6}$","description":"The hexadecimal color value of this label.\n"},"alpha":{"type":"number","minimum":0,"maximum":1,"description":"The alpha value of this label, where 1 is opaque and 0 is transparent.\n"}}}attributes
An object that represents label attributes.
- type
- object
{"type":"object","description":"An object that represents label attributes."}type
- type
- string
{"type":"string"}MyList
myListId
- type
- string
{"type":"string"}items
- type
- array
- maximum length
- 1000
- array items
- object
{"type":"array","items":{"type":"object","properties":{"resourceId":{"type":"string","description":"One of jobId, seriesId, caseId\n"},"createdAt":{"date":true}},"required":["resourceId","createdAt"]},"maxLength":1000}MyListEditor
Represents an editor of my list
OnetimeUrl
One-time URL that enables a user to log in without a login ID and a password.
onetimeUrlId
- type
- string
{"type":"string"}userEmail
- type
- string
{"type":"string"}onetimeString
- type
- string
{"type":"string"}PartialVolumeDescriptor
Defines partial volume in series images.
start
- type
- number
{"type":"number"}end
- type
- number
{"type":"number"}delta
- type
- number
{"type":"number"}PatientInfo
This object contains personal information that was written in corresponding DICOM files.
patientId
- type
- string
{"type":"string"}patientName
- type
- string
{"type":"string"}age
- type
- number
{"type":"number"}birthDate
- type
- string
- pattern (regexp)
^\d\d\d\d-\d\d-\d\d$
{"type":"string","pattern":"^\\d\\d\\d\\d-\\d\\d-\\d\\d$"}sex
- type
- string
- accepted values
- F | M | O
{"type":"string","enum":["F","M","O"]}size
- type
- number
{"type":"number"}weight
- type
- number
{"type":"number"}Permanent token exchanged via API.
tokenId
Optional identifier for permanent token (this is not a token itself)
- type
- string
{"type":"string","description":"Optional identifier for permanent token (this is not a token itself)"}description
Free text to describe this token.
- type
- string
{"type":"string","description":"Free text to describe this token."}PluginDefinition
Represents a CIRCUS CS plug-in (app).
pluginId
🔑 The unique ID of this plug-in.
- type
- string
- format
- dockerId
{"type":"string","format":"dockerId","description":":key: The unique ID of this plug-in.\n"}pluginName
Displayed plug-in name.
- type
- string
- maximum length
- 128
- minimum length
- 1
{"type":"string","minLength":1,"maxLength":128,"description":"Displayed plug-in name.\n"}version
Semver-compatible plug-in version.
- type
- string
- format
- semver
{"type":"string","format":"semver","description":"Semver-compatible plug-in version.\n"}type
Plug-in type. Currently the only supported value is 'CAD'.
- accepted values
- CAD
{"enum":["CAD"],"description":"Plug-in type. Currently the only supported value is 'CAD'.\n"}description
Short text that describes what this plug-in does.
- type
- string
- maximum length
- 128
{"type":"string","maxLength":128,"description":"Short text that describes what this plug-in does.\n"}runConfiguration
Installation-specific configurations.
- type
- object
{"type":"object","description":"Installation-specific configurations.\n","properties":{"timeout":{"type":"integer","minValue":0,"description":"Execution timeout in seconds. Specify 0 if there is no timeout.\n"},"gpus":{"type":"string","description":"Passed to Docker container.\n"}},"additionalProperties":false}icon
{"$ref":"icon"}displayStrategy
Determines how plug-in results are displayed and how feedback is collected.
- type
- array
- array items
- object
{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"feedbackKey":{"type":"string"},"caption":{"type":"string"},"options":{"type":"object"}}},"description":"Determines how plug-in results are displayed and how feedback is collected.\n"}PluginJob
Represents a CIRCUS CS plug-in job.
jobId
🔑 The unique ID of the job.
- type
- string
{"type":"string","description":":key: The unique ID of the job.\n"}pluginId
Plugin-in ID.
- type
- string
{"type":"string","description":"Plugin-in ID.\n"}userEmail
- type
- string
{"type":"string"}status
The current status of this job.
- type
- string
- accepted values
- in_queue | processing | finished | cancelled | failed | invalidated
{"type":"string","description":"The current status of this job.\n","enum":["in_queue","processing","finished","cancelled","failed","invalidated"]}errorMessage
Contains an error message if the status is 'failed'.
{"oneOf":[{"type":"string"},{"type":"null"}],"description":"Contains an error message if the status is 'failed'.\n"}series
- type
- array
- array items
- See:pluginJobSeries
{"type":"array","minItems":1,"items":{"$ref":"pluginJobSeries"}}feedbacks
- type
- array
- array items
- See:pluginJobFeedback
{"type":"array","items":{"$ref":"pluginJobFeedback"}}startedAt
Job start time.
{"description":"Job start time.\n","oneOf":[{"date":true},{"type":"null"}]}finishedAt
Job finish time.
{"description":"Job finish time.\n","oneOf":[{"date":true},{"type":"null"}]}results
The result data of this plug-in job.
{"description":"The result data of this plug-in job.","oneOf":[{"type":"object"},{"type":"null"}]}PluginJobFeedback
Represents a CIRCUS CS feedback entry.
feedbackId
- type
- string
{"type":"string"}isConsensual
- type
- boolean
{"type":"boolean"}userEmail
- type
- string
{"type":"string"}data
{}actionLog
- type
- array
- array items
- object
{"type":"array","items":{"type":"object","properties":{"date":{"date":true},"action":{"type":"string"},"data":{"type":"object"}},"required":["date","action"],"additionalProperties":false}}createdAt
{"date":true}PluginJobManager
Represents a CIRCUS CS plug-in job manager. Used to turn on/off manager status.
status
- type
- string
- accepted values
- running | stopped
{"type":"string","enum":["running","stopped"]}PluginJobQueue
Represents plug-in job queue.
jobId
- type
- string
{"type":"string"}priority
- type
- integer
{"type":"integer"}payload
{"$ref":"pluginJob"}state
- type
- string
- accepted values
- wait | processing
{"type":"string","enum":["wait","processing"]}createdAt
{"oneOf":[{"date":true},{"type":"null"}]}updatedAt
{"oneOf":[{"date":true},{"type":"null"}]}startedAt
{"oneOf":[{"date":true},{"type":"null"}]}PluginJob
Represents a CIRCUS CS plug-in job.
jobId
🔑 The unique ID of the job.
- type
- string
{"type":"string","description":":key: The unique ID of the job.\n"}pluginId
- type
- string
{"type":"string"}userEmail
- type
- string
{"type":"string"}status
The current status of this job.
- type
- string
- accepted values
- in_queue | processing | finished | cancelled | failed | invalidated
{"type":"string","description":"The current status of this job.\n","enum":["in_queue","processing","finished","cancelled","failed","invalidated"]}errorMessage
Contains an error message if the status is 'failed'.
{"oneOf":[{"type":"string"},{"type":"null"}],"description":"Contains an error message if the status is 'failed'.\n"}series
- type
- array
- array items
- See:pluginJobSeries
{"type":"array","minItems":1,"items":{"$ref":"pluginJobSeries"}}feedbacks
- type
- array
- array items
- See:pluginJobFeedback
{"type":"array","items":{"$ref":"pluginJobFeedback"}}startedAt
Job start time.
{"description":"Job start time.\n","oneOf":[{"date":true},{"type":"null"}]}finishedAt
Job finish time.
{"description":"Job finish time.\n","oneOf":[{"date":true},{"type":"null"}]}domain
- type
- string
{"type":"string"}PluginJobSeries
Represents series information used to build raw volume consumed by CAD plug-ins.
seriesUid
- type
- string
- format
- dicomUid
{"type":"string","format":"dicomUid"}partialVolumeDescriptor
{"oneOf":[{"const":"auto"},{"$ref":"partialVolumeDescriptor"}]}requiredPrivateTags
- type
- string
{"type":"string"}Preferences
The object that holds the user's preference.
theme
- accepted values
- mode_black | mode_white
{"enum":["mode_black","mode_white"]}personalInfoView
- type
- boolean
{"type":"boolean"}seriesSearchPresets
- type
- array
- array items
- object
{"type":"array","items":{"type":"object"}}caseSearchPresets
- type
- array
- array items
- object
{"type":"array","items":{"type":"object"}}pluginJobSearchPresets
- type
- array
- array items
- object
{"type":"array","items":{"type":"object"}}referenceLine
- type
- boolean
{"type":"boolean"}initailAlphaForNewLabels
- type
- number
{"type":"number","minimum":0,"maximum":1}windowPropagationScope
- accepted values
- all | series | viewer
{"enum":["all","series","viewer"]}interpolationMode
- accepted values
- nearestNeighbor | trilinear
{"enum":["nearestNeighbor","trilinear"]}scrollBars
- accepted values
- none | small | large
{"enum":["none","small","large"]}scrollBarsInfo
- type
- object
{"type":"object","properties":{"size":{"enum":["small","large"]},"position":{"enum":["right","left","top","bottom"]},"visibility":{"enum":["none","always","hover"]}}}maintainAspectRatio
- type
- boolean
{"type":"boolean"}fixCenterOfGravity
- type
- boolean
{"type":"boolean"}dimmedOutlineFor2DLabels
- accepted values
- hide | show | infinity
{"enum":["hide","show","infinity"]}revisionMessageTemplates
- type
- array
- array items
- string
{"type":"array","items":{"type":"string"}}labelColors
- type
- object
{"type":"object","properties":{"useDefault":{"type":"boolean"},"customColors":{"type":"array","items":{"type":"string","pattern":"^#[0-9a-f]{6}$"}}}}Project
projectId
🔑 Randomly-generated project ID. It must be globally unique.
- type
- string
- maximum length
- 64
{"type":"string","maxLength":64,"description":":key: Randomly-generated project ID. It must be globally unique.\n"}projectName
Short name for this project.
- type
- string
- maximum length
- 64
{"type":"string","maxLength":64,"description":"Short name for this project.\n"}icon
- type
- object
{"type":"object","properties":{"glyph":{"type":"string","format":"kebab"},"color":{"type":"string","format":"color"},"backgroundColor":{"type":"string","format":"color"}},"requiredProperties":["glyph","color","backgroundColor"]}description
Optinal arbitrary text to explain this project.
- type
- string
- maximum length
- 1024
{"type":"string","maxLength":1024,"description":"Optinal arbitrary text to explain this project.\n"}tags
List of tags available in this project.
- type
- array
- array items
- object
{"type":"array","items":{"type":"object","properties":{"caption":{"type":"string"},"color":{"type":"string","pattern":"^\\#[0-9a-f]{6}$"}}},"description":"List of tags available in this project.\n"}caseAttributesSchema
The schema of case attributes defined as a subset of JSON Schema.
{"$ref":"jsonSchemaSubset","description":"The schema of case attributes defined as a subset of JSON Schema.\n"}labelAttributesSchema
The schema of label attributes defined as a subset of JSON Schema.
{"$ref":"jsonSchemaSubset","description":"The schema of label attributes defined as a subset of JSON Schema.\n"}windowPresets
- type
- array
- array items
- object
{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"level":{"type":"number"},"width":{"type":"number"}},"required":["label","level","width"]}}windowPriority
- type
- string
- accepted values
- dicom,preset,auto | dicom,auto | preset,dicom,auto | preset,auto | auto
{"type":"string","enum":["dicom,preset,auto","dicom,auto","preset,dicom,auto","preset,auto","auto"]}Revision
creator
The e-mail address of the creator of this revision. This usually corresponds to one of the registered users in the system, but it's necessarily so. If the case is imported from some external source, this property can have a value not recognized by this CIRCUS installation. (In other words, this works like Git's commiter e-mail address.)
- type
- string
{"type":"string","description":"The e-mail address of the creator of this revision. This usually corresponds to one of the registered users in the system, but it's necessarily so. If the case is imported from some external source, this property can have a value not recognized by this CIRCUS installation. (In other words, this works like Git's commiter e-mail address.)\n"}date
When the revision was created.
{"date":true,"description":"When the revision was created."}description
Optional arbitrary string to explain this revision.
- type
- string
{"type":"string","description":"Optional arbitrary string to explain this revision."}attributes
An object that represents case attributes.
- type
- object
{"type":"object","description":"An object that represents case attributes."}status
- type
- string
{"type":"string"}series
The list of series entries.
- type
- array
- array items
- See:revisionSeriesEntry
{"type":"array","items":{"$ref":"revisionSeriesEntry"},"description":"The list of series entries.\n"}RevisionSeriesEntry
seriesUid
- type
- string
- format
- dicomUid
{"type":"string","format":"dicomUid"}partialVolumeDescriptor
{"$ref":"partialVolumeDescriptor"}labels
The list of labels attached to this series.
- type
- array
- array items
- See:label
{"type":"array","items":{"$ref":"label"},"description":"The list of labels attached to this series.\n"}SchemaEntry
key
Property key. It's expected to be (but not required to be) alphanumerical.
- type
- string
{"type":"string","description":"Property key. It's expected to be (but not required to be) alphanumerical."}caption
Caption that corresponds to the key.
- type
- string
{"type":"string","description":"Caption that corresponds to the key."}type
The type of this property.
- type
- string
- accepted values
- text | number | boolean | select
{"type":"string","enum":["text","number","boolean","select"],"description":"The type of this property."}spec
Additional parameters for this property entry.
- type
- object
{"type":"object","description":"Additional parameters for this property entry."}Series
Series represents a DICOM series, which is a collection of one or more DICOM images. CIRCUS organizes all images based on DICOM series. Most of the data in this data type come from imported DICOM files.
seriesUid
🔑 The series instance UID, which must be globally unique according to the DICOM spec.
- type
- string
- format
- dicomUid
{"type":"string","format":"dicomUid","description":":key: The series instance UID, which must be globally unique according to the DICOM spec.\n"}studyUid
The study instance UID which this series belongs to. (0020,000d)
- type
- string
- format
- dicomUid
{"type":"string","format":"dicomUid","description":"The study instance UID which this series belongs to. (0020,000d)\n"}width
The width of each image.
- type
- number
{"type":"number","description":"The width of each image.\n"}height
The height of each image.
- type
- number
{"type":"number","description":"The height of each image.\n"}images
The list of instance numbers which this series consists of, described as a string in multi-integer-range format.
- type
- string
- format
- multiIntegerRange
{"type":"string","format":"multiIntegerRange","description":"The list of instance numbers which this series consists of, described as a string in `multi-integer-range` format.\n"}seriesDate
The "series date", as written in the DICOM file.
{"oneOf":[{"date":true},{"type":"null"}],"description":"The \"series date\", as written in the DICOM file.\n"}modality
The modality value, such as 'CT', 'MR'.
- type
- string
- maximum length
- 10
{"type":"string","maxLength":10,"description":"The modality value, such as 'CT', 'MR'.\n"}seriesDescription
The series description, a human-readable text label of the series, such as 'T2_star axial'.
- type
- string
{"type":"string","description":"The series description, a human-readable text label of the series, such as 'T2_star axial'.\n"}bodyPart
The body part, such as 'HEAD', 'CHEST'.
- type
- string
{"type":"string","description":"The body part, such as 'HEAD', 'CHEST'.\n"}stationName
The station name.
- type
- string
{"type":"string","description":"The station name.\n"}modelName
The model name.
- type
- string
{"type":"string","description":"The model name.\n"}manufacturer
The manufacturer (company name) of the modality.
- type
- string
{"type":"string","description":"The manufacturer (company name) of the modality.\n"}storageId
The storage ID. May be removed in the near future.
- type
- number
{"type":"number","description":"The storage ID. **May be removed in the near future.**\n"}patientInfo
{"$ref":"patientInfo"}parameters
Any additional key-value pairs retrieved from the imported DICOM file. The stored values will depend on the modality.
- type
- object
{"type":"object","description":"Any additional key-value pairs retrieved from the imported DICOM file. The stored values will depend on the modality.\n"}domain
The domain to which this series belongs.
- type
- string
{"type":"string","description":"The domain to which this series belongs.\n"}SeriesEntry
seriesUid
- type
- string
- format
- dicomUid
{"type":"string","format":"dicomUid"}partialVolumeDescriptor
{"$ref":"partialVolumeDescriptor"}SeriesEntryWithAutoPvd
seriesUid
- type
- string
- format
- dicomUid
{"type":"string","format":"dicomUid"}partialVolumeDescriptor
{"oneOf":[{"const":"auto"},{"$ref":"partialVolumeDescriptor"}]}ServerParam
key
- type
- string
{"type":"string"}value
{}Task
taskId
The task ID.
- type
- string
{"type":"string","description":"The task ID."}userEmail
The user who started this task.
- type
- string
- format
{"type":"string","format":"email","description":"The user who started this task."}name
Display name of the task.
- type
- string
{"type":"string","description":"Display name of the task."}status
The task status.
- type
- string
- accepted values
- finished | error | processing
{"type":"string","enum":["finished","error","processing"],"description":"The task status."}errorMessage
{"oneOf":[{"type":"string"},{"type":"null"}]}finishedMessage
{"oneOf":[{"type":"string"},{"type":"null"}]}endedAt
{"oneOf":[{"date":true},{"type":"null"}]}downloadFileType
MIME type when the result can be downloaded after the task is completed.
{"oneOf":[{"type":"string"},{"type":"null"}],"description":"MIME type when the result can be downloaded after the task is completed."}dismissed
- type
- boolean
{"type":"boolean"}Represents an OAuth2 token.
accessToken
- type
- string
{"type":"string"}accessTokenExpiresAt
{"date":true}clientId
- type
- string
{"type":"string"}refreshToken
- type
- string
{"type":"string"}refreshTokenExpiresAt
{"date":true}userId
- type
- string
{"type":"string"}permanentTokenId
Optional identifier for permanent token (this is not a token itself)
{"oneOf":[{"type":"string"},{"type":"null"}],"description":"Optional identifier for permanent token (this is not a token itself)"}permanentTokenDescription
- maximum length
- 1024
{"oneOf":[{"type":"string"},{"type":"null"}],"maxLength":1024}User
This object contains information of one user. All users must be identified using an E-mail address, similarly to Git.
userEmail
🔑 User's E-mail address. It works as a global identifier of the user. Once you have created a user, userEmail cannot be changed. This will identify a user globally.
- type
- string
- format
{"type":"string","format":"email","description":":key: User's E-mail address. It works as a global identifier of the user. Once you have created a user, `userEmail` cannot be changed. This will identify a user globally.\n"}loginId
Login ID of the user. A user can use either their E-mail or the login ID to log in to the system. It can be short enough (like alice), and can be changed after the creation of the user. Unlike userEmail, loginId doesn't have to be globally unique.
- type
- string
{"type":"string","description":"Login ID of the user. A user can use either their E-mail or the login ID to log in to the system. It can be short enough (like `alice`), and can be changed after the creation of the user. Unlike `userEmail`, `loginId` doesn't have to be globally unique.\n"}password
The hashed password of this user. The hash is generated by PHP-compatible hash function.
- type
- string
{"type":"string","description":"The hashed password of this user. The hash is generated by PHP-compatible hash function.\n"}lastLoginTime
The last login time of this user.
{"date":true,"description":"The last login time of this user.\n"}lastLoginIp
The IP address of the last login of this user.
- type
- string
{"type":"string","description":"The IP address of the last login of this user.\n"}preferences
{"$ref":"preferences"}loginEnabled
If false, the user cannot login to the system.
- type
- boolean
{"type":"boolean","description":"If false, the user cannot login to the system.\n"}description
Optinal arbitrary text to identify this user.
- type
- string
{"type":"string","description":"Optinal arbitrary text to identify this user.\n"}groups
The group ID of groups which this user belongs to. The set of previleges the user has is deteremined as the union of the privileges of the groups the user belongs to.
- type
- array
- array items
- number
{"type":"array","items":{"type":"number"},"description":"The group ID of groups which this user belongs to. The set of previleges the user has is deteremined as the union of the privileges of the groups the user belongs to.\n"}myLists
- type
- array
- array items
- See:userMyList
{"type":"array","items":{"$ref":"userMyList"}}UserMyList
Represents a user's sub-document for my list.
myListId
- type
- string
{"type":"string"}resourceType
- type
- string
- accepted values
- series | clinicalCases | pluginJobs
{"type":"string","enum":["series","clinicalCases","pluginJobs"]}name
- type
- string
- maximum length
- 64
- minimum length
- 1
{"type":"string","minLength":1,"maxLength":64}public
- type
- boolean
{"type":"boolean"}editors
- type
- array
- array items
- See:myListEditor
{"type":"array","items":{"$ref":"myListEditor"}}createdAt
{"date":true}