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.0.22
Contact/Impressum · Privacy Policy · Data Policy