Download OpenAPI specification:Download
Validate and compute calculated parameters for a schema
name required | string |
required | object |
name | string |
{- "data": {
- "property1": null,
- "property2": null
}, - "name": "string"
}
Save a schema preset
name required | string |
required | object |
name | string |
preset | string |
{- "data": {
- "property1": null,
- "property2": null
}, - "name": "string",
- "preset": "string"
}
Create a signed url
This allows a resource to be accessed temporarily a single time without
an access token. Can be used to downlad files, etc
url required | string^/[A-z0-9-/]+$ Url to sign |
bewit | string The signed bewit |
{- "url": "string",
- "bewit": "string"
}
Login and obtain an authorisation token
username required | string^[A-z0-9]+$ |
password required | string |
client | string^[A-z0-9-]+$ |
{- "username": "string",
- "password": "string",
- "client": "string"
}
Kill the currently running queue item
Args:
stop (bool) : Whether the queue should stop after
the current queue item was killed
stop | boolean Whether to Stop the queue if an actor is killed |
{- "stop": true
}
Create a component
name required | string (Name) <= 255 characters ^[\w\s-]+$ |
acronym required | string (Acronym) <= 45 characters ^[A-z0-9-]+$ |
molecularmass | number (Mass) |
density | number (Density) |
sequence | string (SMILES) ^([^J][A-Za-z0-9@+\-\[\]\(\)\\\/%=#$]+)$ Chemical composition |
{- "name": "string",
- "acronym": "string",
- "molecularmass": 0,
- "density": 0,
- "sequence": "string"
}
Update a component
componentid required | integer <int32> |
name | string (Name) ^[\w\s-]+$ |
acronym | string (Acronym) ^[A-z0-9-]+$ A short name for the component |
molecularmass | number (Mass) |
density | number (Density) |
sequence | string (SMILES) ^([^J][A-Za-z0-9@+\-\[\]\(\)\\\/%=#$]+)$ Chemical composition |
componentid | integer |
samples | integer |
datacollections | integer |
{- "name": "string",
- "acronym": "string",
- "molecularmass": 0,
- "density": 0,
- "sequence": "string",
- "componentid": 0,
- "samples": 0,
- "datacollections": 0
}
Create a sample
name required | string (Name) <= 100 characters ^[A-z0-9-]+$ |
offsetx | integer (X Offset) |
offsety | integer (Y Offset) |
object | |
componentid | integer (Component) |
comments | string or null (Comments) <= 1024 characters ^(\w|\s|-|%|\(|\)|,|\.)+$ |
{- "name": "string",
- "offsetx": 0,
- "offsety": 0,
- "positions": {
- "property1": 0,
- "property2": 0
}, - "componentid": 0,
- "comments": "string"
}
Update a sample
sampleid required | integer <int32> |
name | string (Name) ^[A-z0-9-]+$ |
offsetx | integer (X Offset) |
offsety | integer (Y Offset) |
object | |
componentid | integer (Component) |
comments | string or null (Comments) <= 1024 characters ^(\w|\s|-|%|\(|\)|,|\.)+$ |
sampleid | integer |
component | string |
subsamples | integer |
datacollections | integer |
queued | boolean |
object (Metadata) |
{- "name": "string",
- "offsetx": 0,
- "offsety": 0,
- "positions": {
- "property1": 0,
- "property2": 0
}, - "componentid": 0,
- "comments": "string",
- "sampleid": 0,
- "component": "string",
- "subsamples": 0,
- "datacollections": 0,
- "queued": true,
- "extrametadata": {
- "property1": null,
- "property2": null
}
}
Create a subsample
sampleid required | integer |
name | string (Name) ^[\w\s-]+$ |
type | string (Type) Enum: "roi" "poi" "loi" |
source | string (Source) Enum: "manual" "auto" "reference" |
comments | string or null (Comments) ^(\w|\s|-|%|\(|\)|,|\.)+$ |
x | integer |
y | integer |
x2 | integer |
y2 | integer |
object |
{- "sampleid": 0,
- "name": "string",
- "type": "roi",
- "source": "manual",
- "comments": "string",
- "x": 0,
- "y": 0,
- "x2": 0,
- "y2": 0,
- "positions": {
- "property1": 0,
- "property2": 0
}
}
Update a sub sample
subsampleid required | integer <int32> |
sampleid | integer |
name | string (Name) ^[\w\s-]+$ |
type | string (Type) Enum: "roi" "poi" "loi" |
source | string (Source) Enum: "manual" "auto" "reference" |
comments | string or null (Comments) ^(\w|\s|-|%|\(|\)|,|\.)+$ |
x | integer |
y | integer |
x2 | integer |
y2 | integer |
object | |
sample | string |
subsampleid | integer |
datacollections | integer |
queued | boolean |
object (Metadata) |
{- "sampleid": 0,
- "name": "string",
- "type": "roi",
- "source": "manual",
- "comments": "string",
- "x": 0,
- "y": 0,
- "x2": 0,
- "y2": 0,
- "positions": {
- "property1": 0,
- "property2": 0
}, - "sample": "string",
- "subsampleid": 0,
- "datacollections": 0,
- "queued": true,
- "extrametadata": {
- "property1": null,
- "property2": null
}
}
Create a sample image
sampleid required | integer |
offsetx | integer |
offsety | integer |
scalex | number |
scaley | number |
rotation | number |
object |
{- "sampleid": 0,
- "offsetx": 0,
- "offsety": 0,
- "scalex": 0,
- "scaley": 0,
- "rotation": 0,
- "positions": {
- "property1": 0,
- "property2": 0
}
}
Create a sample action position
sampleactionid required | integer |
posx required | integer |
posy required | integer |
type required | string Enum: "reference" "real" |
id required | integer |
{- "sampleactionid": 0,
- "posx": 0,
- "posy": 0,
- "type": "reference",
- "id": 0
}
Update a datacollection
Only allows updating the comments field
datacollectionid required | integer <int32> |
sessionid | integer |
datacollections | integer |
datacollectionid required | integer |
datacollectiongroupid | integer |
sampleid | integer |
sample | string |
subsampleid | integer |
starttime | string |
datacollectionplanid | integer |
endtime | string |
duration | integer |
experimenttype | string |
datacollectionnumber | integer |
runstatus | string |
filetemplate | string |
imagedirectory | string |
exposuretime | number |
wavelength | number |
transmission | number |
numberofimages | number |
numberofpasses | integer |
xbeam | number |
ybeam | number |
beamsizeatsamplex | number |
beamsizeatsampley | number |
steps_x | integer |
steps_y | integer |
dx_mm | number |
dy_mm | number |
patchesx | integer |
patchesy | integer |
object | |
comments | string (Comments) |
{- "sessionid": 0,
- "datacollections": 0,
- "datacollectionid": 0,
- "datacollectiongroupid": 0,
- "sampleid": 0,
- "sample": "string",
- "subsampleid": 0,
- "starttime": "string",
- "datacollectionplanid": 0,
- "endtime": "string",
- "duration": 0,
- "experimenttype": "string",
- "datacollectionnumber": 0,
- "runstatus": "string",
- "filetemplate": "string",
- "imagedirectory": "string",
- "exposuretime": 0,
- "wavelength": 0,
- "transmission": 0,
- "numberofimages": 0,
- "numberofpasses": 0,
- "xbeam": 0,
- "ybeam": 0,
- "beamsizeatsamplex": 0,
- "beamsizeatsampley": 0,
- "steps_x": 0,
- "steps_y": 0,
- "dx_mm": 0,
- "dy_mm": 0,
- "patchesx": 0,
- "patchesy": 0,
- "snapshots": {
- "property1": true,
- "property2": true
}, - "comments": "string"
}
Create a datacollection plan
sampleid required | integer |
experimentkind | string |
energy | number |
exposuretime | number |
planorder | integer |
required | object |
{- "sampleid": 0,
- "experimentkind": "string",
- "energy": 0,
- "exposuretime": 0,
- "planorder": 0,
- "scanparameters": {
- "property1": null,
- "property2": null
}
}
Update a datacollection plan
datacollectionplanid required | integer <int32> |
sampleid | integer |
experimentkind | string |
energy | number |
exposuretime | number |
planorder | integer |
object | |
datacollectionplanid | integer |
timestamp | string <date-time> |
subsampleid | integer |
sample | string |
component | string |
datacollectionid | integer |
containerqueuesampleid | integer |
queued | boolean |
status | string |
linked | boolean |
{- "sampleid": 0,
- "experimentkind": "string",
- "energy": 0,
- "exposuretime": 0,
- "planorder": 0,
- "scanparameters": {
- "property1": null,
- "property2": null
}, - "datacollectionplanid": 0,
- "timestamp": "2019-08-24T14:15:22Z",
- "subsampleid": 0,
- "sample": "string",
- "component": "string",
- "datacollectionid": 0,
- "containerqueuesampleid": 0,
- "queued": true,
- "status": "string",
- "linked": true
}
Update an XRF map
mapid required | integer <int32> |
maproiid | integer The roiid |
subsampleid | integer Object this map relates to |
datacollectionid | integer |
datacollectiongroupid | integer |
datacollectionnumber | integer |
mapid | integer The id of the map |
sampleid | integer |
w | integer Width of the map |
h | integer Height of the map |
snaked | boolean Whether the map is collected interleaved left to right |
orientation | string Wehther the map is collected horizontally or vertically |
element | string |
edge | string |
scalar | string |
composites | integer |
points | integer Number of completed points |
opacity | number |
min | number |
max | number |
colourmap | string |
scale | string |
autoscale | boolean |
url | string |
{- "maproiid": 0,
- "subsampleid": 0,
- "datacollectionid": 0,
- "datacollectiongroupid": 0,
- "datacollectionnumber": 0,
- "mapid": 0,
- "sampleid": 0,
- "w": 0,
- "h": 0,
- "snaked": true,
- "orientation": "string",
- "element": "string",
- "edge": "string",
- "scalar": "string",
- "composites": 0,
- "points": 0,
- "opacity": 0,
- "min": 0,
- "max": 0,
- "colourmap": "string",
- "scale": "string",
- "autoscale": true,
- "url": "string"
}
Add a new XRF composite map
subsampleid required | integer Object this map relates to |
r required | integer |
g required | integer |
b required | integer |
ropacity | number |
gopacity | number |
bopacity | number |
{- "subsampleid": 0,
- "r": 0,
- "g": 0,
- "b": 0,
- "ropacity": 0,
- "gopacity": 0,
- "bopacity": 0
}
Update an XRF composite map
compositeid required | integer <int32> |
subsampleid | integer |
r | integer |
g | integer |
b | integer |
ropacity | number |
gopacity | number |
bopacity | number |
compositeid | integer The id of the composite map |
sampleid | integer |
opacity | number |
rroi | string |
groi | string |
broi | string |
url | string |
{- "subsampleid": 0,
- "r": 0,
- "g": 0,
- "b": 0,
- "ropacity": 0,
- "gopacity": 0,
- "bopacity": 0,
- "compositeid": 0,
- "sampleid": 0,
- "opacity": 0,
- "rroi": "string",
- "groi": "string",
- "broi": "string",
- "url": "string"
}
Add a new XRF map ROI
sampleid required | integer (Sample ROI is associated to) |
element required | string (Element) <= 2 characters ^[A-z0-9-]+$ |
edge required | string (Edge) <= 3 characters ^[A-z0-9-]+$ |
start required | number (Start) Start Energy of ROI |
end required | number (End) End Energy of ROI |
{- "sampleid": 0,
- "element": "st",
- "edge": "str",
- "start": 0,
- "end": 0
}
Update an XRF map ROI
maproiid required | integer <int32> |
sampleid required | integer (Sample ROI is associated to) |
element required | string (Element) <= 2 characters ^[A-z0-9-]+$ |
edge required | string (Edge) <= 3 characters ^[A-z0-9-]+$ |
start required | number (Start) Start Energy of ROI |
end required | number (End) End Energy of ROI |
maproiid | integer |
maps | integer |
{- "sampleid": 0,
- "element": "st",
- "edge": "str",
- "start": 0,
- "end": 0,
- "maproiid": 0,
- "maps": 0
}
Get the contents of an hdf5 file
autoprocprogramid | integer Auto processing program id |
autoprocprogramattachmentid | integer Auto processing program attachment id |
datacollectionid | integer Data collection id |
type | string Value: "processing" |
Get a group and its data from a hdf5 file
path required | string |
autoprocprogramid | integer Auto processing program id |
autoprocprogramattachmentid | integer Auto processing program attachment id |
datacollectionid | integer Data collection id |
type | string Value: "processing" |
name required | string (Name) ^[A-z0-9-]+$ |
overwrite | boolean |
center_horizontal required | number (Center Horizontal) |
center_vertical required | number (Center Vertical) |
diameter required | number (Diameter) |
{- "name": "string",
- "overwrite": true,
- "center_horizontal": 0,
- "center_vertical": 0,
- "diameter": 0
}
name required | string (Name) ^[A-z0-9-]+$ |
overwrite | boolean |
center_horizontal required | number (Center Horizontal) |
center_vertical required | number (Center Vertical) |
size_horizontal required | number (Size Horizontal) |
size_vertical required | number (Size Vertical) |
{- "name": "string",
- "overwrite": true,
- "center_horizontal": 0,
- "center_vertical": 0,
- "size_horizontal": 0,
- "size_vertical": 0
}
Update a property on a hardware object
id required | string |
property required | string^[A-z0-9]+$ |
value required | any or null |
{- "property": "string",
- "value": null
}
Call a function on a hardware object
id required | string |
function required | string^[A-z0-9]+$ |
value | any |
{- "function": "string",
- "value": null
}
autoprocprogramid | integer Auto processing program id |
autoprocprogramattachmentid | integer Auto processing program attachment id |
datacollectionid | integer Data collection id |
sampleactionid | integer Sample action id |
type | string Value: "processing" |
path | string Default: "/" |
attr_keys | Array of strings Default: null |
autoprocprogramid | integer Auto processing program id |
autoprocprogramattachmentid | integer Auto processing program attachment id |
datacollectionid | integer Data collection id |
sampleactionid | integer Sample action id |
type | string Value: "processing" |
path | string Default: "/" |
selection | string Default: null |
format | string Default: "json" Enum: "json" "bin" "csv" "npy" "tiff" |
flatten | boolean Default: false |
dtype | string Default: "origin" Enum: "origin" "safe" |
autoprocprogramid | integer Auto processing program id |
autoprocprogramattachmentid | integer Auto processing program attachment id |
datacollectionid | integer Data collection id |
sampleactionid | integer Sample action id |
type | string Value: "processing" |
path | string Default: "/" |
motor required | string (Motor) Enum: "robz" "roby" |
motor_start required | number (Start Position) |
motor_end required | number (End Position) |
npoints required | integer (No. Points) |
time required | number (Time per Point) [ 0.1 .. 5 ] |
detectors required | Array of strings (Detectors) non-empty unique Items Enum: "diode" "simu1" "lima_simulator" |
{- "motor": "robz",
- "motor_start": 0,
- "motor_end": 0,
- "npoints": 0,
- "time": 0.1,
- "detectors": [
- "diode"
]
}
sampleid required | integer |
motor_start required | number (Start Position) |
motor_end required | number (End Position) |
npoints required | integer (No. Points) |
time required | number (Time(s) per Point) [ 0.1 .. 5 ] |
detectors required | Array of strings (Detectors) non-empty unique Items Enum: "diode" "simu1" "lima_simulator" |
enqueue | boolean (Queue Scan) |
{- "sampleid": 0,
- "motor_start": 0,
- "motor_end": 0,
- "npoints": 0,
- "time": 0.1,
- "detectors": [
- "diode"
], - "enqueue": true
}
sampleid required | integer |
motor_start required | number (Start Position) |
motor_end required | number (End Position) |
detectors required | Array of strings (Detectors) non-empty unique Items Enum: "diode" "simu1" "lima_simulator" |
{- "sampleid": 0,
- "motor_start": 0,
- "motor_end": 0,
- "detectors": [
- "diode"
]
}
Get all the data for a specific scan scalar in binary format
Arguments:
scanid: Identifier of the scan
channel: Name of the data channel
dtype: One of "origin" or "safe" or numpy string like "float32" or "<f16"
selection: A string representation to slice the data (`1,2::2`)
scanid required | integer <int32> |
channel required | string |
dtype | string |
selection | string |
Get the image for a specific scan
scanid required | integer <int32> |
node_name | string The scan node name to get images from |
image_no | integer The image number to load |
raw | boolean Return the raw data rather than an image (gzipped) |
norm | string Normalization of the image, can be 'linear', 'log', 'arcsinh', 'sqrt' |
autoscale | string Autoscale for the domain of the image, can be 'none', 'minmax', 'stddev3' |
lut | string LUT for the colors, can be 'gray', 'gray_r', 'viridis', 'cividis' |
has_fine | boolean Whether this origin has fine axes |
fine_fixed | boolean Whether the fine axis is fixed during movement |
coarse_fixed | boolean Whether the coarse axis is fixed during movement |
object (ImageSourceConfig) |
{- "has_fine": true,
- "fine_fixed": true,
- "coarse_fixed": true,
- "config": {
- "fine_fixed": true,
- "allow_fixed_axes": true
}
}
during_scan | boolean Whether to generate maps during a scan |
scalar_maps | Array of strings List of scalars to automatically create maps from |
{- "during_scan": true,
- "scalar_maps": [
- "string"
]
}
Generate a new map for a subsampleid
subsampleid required | integer <int32> |
datacollectionid | integer Optionally a datacollectionid |
{- "datacollectionid": 0
}
Generate a new map from additional scalars
datacollectionid required | integer |
scalars required | Array of strings non-empty |
{- "datacollectionid": 0,
- "scalars": [
- "string"
]
}
Move the cursor position to the current origin marking position
x required | number (X Position) |
y required | number (Y Position) |
{- "x": 0,
- "y": 0
}
Move the cursor position to a position from a reference image
x required | number (X Position) |
y required | number (Y Position) |
execute | boolean |
{- "x": 0,
- "y": 0,
- "execute": true
}
Upload an image and send it to an actor
sampleid required | integer <int32> |
image required | string Base64 encoded image |
sampleid required | integer Sample this image belongs to |
{- "image": "string",
- "sampleid": 0
}
x1 required | integer (X Start) |
y1 required | integer (Y Start) |
x2 required | integer (X End) |
y2 required | integer (Y End) |
sampleid required | integer (Sampleid) |
steps_x required | integer |
steps_y required | integer |
{- "x1": 0,
- "y1": 0,
- "x2": 0,
- "y2": 0,
- "sampleid": 0,
- "steps_x": 0,
- "steps_y": 0
}
Export a reference image to a sample image
Transforms the image into the current 2dview coordinate space
using the selected transformation matrix
sampleactionid required | integer (Sample Action) |
object (Region to crop reference image to) |
{- "sampleactionid": 0,
- "crop": {
- "x": [
- 0
], - "y": [
- 0
]
}
}
subsampleid required | integer |
step_size_x required | number (Size Vert) >= 0.1 |
step_size_y required | number (Size Horz) >= 0.1 |
dwell required | number (Dwell time) [ 0.001 .. 60 ] |
object (Beamline Parameters) | |
with_lima | boolean (Enable Lima Camera) |
enqueue | boolean (Queue Scan) |
estimate | number |
{- "subsampleid": 0,
- "step_size_x": 0.1,
- "step_size_y": 0.1,
- "dwell": 0.001,
- "beamlineparams": {
- "detector_distance": 20,
- "fast_shutter": true,
- "attenuators": "0.1mm_al",
- "pinhole": "10um",
- "light": true,
- "diode_gain": [
- {
- "name": "d1",
- "value": 0
}
], - "arb_motor": [
- {
- "name": "x",
- "value": 0
}
], - "energy": 0
}, - "with_lima": true,
- "enqueue": true,
- "estimate": 0
}
subsampleid required | integer |
step_size_x required | number (Step Size Horizontally) >= 0.1 |
step_size_y required | number (Step Size Vertically) >= 0.1 |
reference required | number (Energy Reference) >= 0.1 |
required | Array of objects (Energy Regions) non-empty |
object (Beamline Parameters) | |
enqueue | boolean (Queue Scan) |
{- "subsampleid": 0,
- "step_size_x": 0.1,
- "step_size_y": 0.1,
- "reference": 0.1,
- "regions": [
- {
- "start_e": 0,
- "end_e": 0,
- "step": 0.01,
- "dwell": 0.01
}
], - "beamlineparams": {
- "detector_distance": 20,
- "fast_shutter": true,
- "attenuators": "0.1mm_al",
- "pinhole": "10um",
- "light": true,
- "diode_gain": [
- {
- "name": "d1",
- "value": 0
}
], - "arb_motor": [
- {
- "name": "x",
- "value": 0
}
], - "energy": 0
}, - "enqueue": true
}
subsampleid required | integer |
repeats required | integer (No. Repeats) >= 1 |
required | Array of objects (Energy Regions) non-empty |
reference required | number (Energy Reference) >= 0.1 |
object (Beamline Parameters) | |
enqueue | boolean (Queue Scan) |
{- "subsampleid": 0,
- "repeats": 1,
- "regions": [
- {
- "start_e": 0,
- "end_e": 0,
- "step": 0.01,
- "dwell": 0.01
}
], - "reference": 0.1,
- "beamlineparams": {
- "detector_distance": 20,
- "fast_shutter": true,
- "attenuators": "0.1mm_al",
- "pinhole": "10um",
- "light": true,
- "diode_gain": [
- {
- "name": "d1",
- "value": 0
}
], - "arb_motor": [
- {
- "name": "x",
- "value": 0
}
], - "energy": 0
}, - "enqueue": true
}
subsampleid required | integer |
steps required | integer (Steps) >= 2 |
required | Array of objects (Energy Regions) = 1 items |
reference required | number (Energy Reference) >= 0.1 |
object (Beamline Parameters) | |
enqueue | boolean (Queue Scan) |
{- "subsampleid": 0,
- "steps": 2,
- "regions": [
- {
- "start_e": 0,
- "end_e": 0,
- "step": 0.01,
- "dwell": 0.01
}
], - "reference": 0.1,
- "beamlineparams": {
- "detector_distance": 20,
- "fast_shutter": true,
- "attenuators": "0.1mm_al",
- "pinhole": "10um",
- "light": true,
- "diode_gain": [
- {
- "name": "d1",
- "value": 0
}
], - "arb_motor": [
- {
- "name": "x",
- "value": 0
}
], - "energy": 0
}, - "enqueue": true
}
Log a UI Error
status required | string Enum: "resolved" "error" Whether the frame stacktrace was resolved |
message required | string The error messsage |
frame | string The frame stacktrace |
error | string The (secondary) error as to why the frame couldnt be resolved |
{- "status": "resolved",
- "message": "string",
- "frame": "string",
- "error": "string"
}
Add a new chat message
message required | string The message |
messageid | integer Unique id of the message |
timestamp | integer Epoch timestamp message was sent |
sessionid | string Author sessionid |
user | string User name associated with sessionid |
read | Array of strings List of sessions that have read the message |
{- "message": "string",
- "messageid": 0,
- "timestamp": 0,
- "sessionid": "string",
- "user": "string",
- "read": [
- "string"
]
}