Skip to main content
. 2019 Feb 5;13:5. doi: 10.3389/fncir.2019.00005

Table 1.

Sample of science HTTP API.

Datatype Endpoint (URL starts with /api/node/f8a0…) HTTP action
Labelmap /name/raw/128_128_128/0_0_0 GET returns and POST stores
1283 voxel subvolume at offset (0, 0, 0).
/name/specificblocks?blocks=23,23,10,23,24,10 GET returns compressed block data
for blocks (23, 23, 10) and (23, 24, 10).
/name/label/100_100_47 GET returns JSON for the uint64 label
at voxel (100, 100, 47).
/name/size/3171 GET returns JSON for the number of
voxels in label 3171.
/name/sparsevol/3171?format=rles&minz=60 GET returns run-length encoded list
of voxels with z≥60 in label 3171.
/name/merge POST merges labels given in POSTed
JSON array [target,label1,label2,…].
/name/split/3171 POST splits label 3171 using a POSTed
sparse volume.
Annotation /name/elements POST stores 3D point annotations given in
POSTed JSON.
/name/elements/200_200_200/0_0_0 GET returns JSON of annotations within
2003 voxel subvolume at offset (0, 0, 0).
/name/move/38_21_33/46_23_35 POST moves the annotation at voxel
(38, 21, 33) to (46, 23, 35).
/name/label/3171 GET returns JSON of annotations in voxels
with label 3171.
Keyvalue /name/key/somedata GET returns and POST stores arbitrary
data with key “somedata.”
/name/keyvalues GET returns and POST stores arbitrary
key-value data using protobuf serialization.
/name/keyvalues?jsontar=true GET returns a tarball of key-value data for
keys given in the query body as a JSON
string array.

Each datatype implements its own HTTP endpoints although similar datatypes (e.g., ones dealing with image volumes) can reuse interfaces like the first “raw” endpoint.