Response:
{
"users": [
"<sub1>",
"..."
],
"unconfirmed": [
"<sub2>",
"..."
]
}Request Body:
{
"name": "<new name>",
"publicKey": "{public key in jwk format}"
}Request Body:
{
"keyHash": "jg94g...."
}Response:
If the key is valid and confirmed the response will be{
"valid": true
}Response:
[
{
"mnemonic": <dataset id>,
"name": <dataset name>,
"fileName": <name of the file in the dataset>,
"hash": <sha-256 hash of all hashes of chunks>,
"size": <total size in bytes>,
"keyHash": <sha-256 hash of the AES key>,
"permission": <your permission>
"members": [{
"sub": <user id>,
"permission": <either 'read', 'write' or 'none'>,
}, ...],
}, ...
]Response:
{
"mnemonic": <dataset id>,
"name": <dataset name>,
"fileName": <name of the file in the dataset>,
"hash": <sha-256 hash of all hashes of chunks>,
"size": <total size in bytes>,
"keyHash": <sha-256 hash of the AES key>,
"chunks": [{
"id": <db id>,
"hash": <sha-256 hash of the unencrypted data>,
"iv": <AES initialization vector>,
"crc": <CRC32 checksum of the encrypted data (hex)>,
"start": <byte positon of the chunk start (inclusive)>,
"end": <byte positon of the chunk end (non-inclusive)>,
}, ...],
}You need to have write permission for the dataset for this call to succeed
Request Body:
{
"key": "<decrypted AES key>",
"members": [
"<sub1>",
"<sub2>",
"..."
]
}You need to have write permission for the dataset for this call to succeed
Request Body:
{
"user": "<sub>",
"permission": "<new permission read, write or none>"
}Request Body:
{
"key": "<decrypted AES key>"
}Request Body:
{
"name": "<new name>"
}Request Body:
{
"keyHash": "jg94g...."
}Response:
The response will contain the encrypted AES key.Request Body:
{
"name": "The name of the uploaded file"
}Response:
The response contains the newly created dataset, the size and hash will be null because they can only be determined after the upload is complete.{
"mnemonic": <dataset id>,
"name": <dataset name>,
"fileName": <name of the file in the dataset>,
"hash": null,
"size": null,
"keyHash": <sha-256 hash of the AES key>,
}Request:
The request is special and needs to be of type multipart/form-data Only a single file is supported and should be part of the form data. We also require the HTTP headers Content-Range and Digest . Content-Range should indicate with bytes of the complete file the chunk contains. All chunks (except the last one should be 2MiB in size. Digest should be the sha256 hash of the chunk data.Response:
The chunk of the encrypted data as an application/octet-stream the client is resposible for decrypting the data
Response:
[{
"id": <key id>
"hash": <sha256 hash of the key data>
"name": <key name>,
"sub": <key owner>,
"data": {
"alg": "RSA-OAEP-256",
"e": "AQAB",
"ext": true,
"key_ops": ["encrypt"],
"kty": "RSA",
"n": "<key data>"
},
"isRootKey": false,
"confirmedBy": <admin user or null>,
"confirmed": <date or null>,
}, ... Request Body:
{
"keyId": <key id>,
"confirmed": <true or false>,
}Request Body:
{
"keyId": <key id>,
}Response:
[
{
"mnemonic": <dataset id>,
"name": <dataset name>,
"fileName": <name of the file in the dataset>,
"hash": <sha-256 hash of all hashes of chunks>,
"size": <total size in bytes>,
"keyHash": <sha-256 hash of the AES key>,
"deleted": <null or date>,
}, ...
]
["2022-10-27", "2022-10-26", ...]
[{
"sub": <event user sub>,
"mnemonic": <dataset id>,
"event": <event type>,
"message": <event message>,
"day": <event day>,
"createdAt": <event timestamp>,
}, ...]Institute of functional genomics-Statistical Bioinformatics
©2023 · Version 1.12.14
Contact/Impressum · Privacy Policy · Data Policy · Documentation