Storage

Provides the web api for the XSS server

APIDescription
GET files/{bucket}/{path}?key={key}&requestTime={requestTime}&signature={signature}

Gets a file located at the given bucket and path.

POST files?key={key}&requestTime={requestTime}&signature={signature}

Gets a stream with all of the requested files. The format is {filelength}\r\n{filedata} repeated for each file in the list.

GET length/{bucket}/{path}?key={key}&requestTime={requestTime}&signature={signature}

Gets the length of a file located at the given bucket and path.

DELETE files/{bucket}/{path}?key={key}&requestTime={requestTime}&signature={signature}

Deletes a file located at the given bucket and path.

POST files/{bucket}/delete/{path}?key={key}&requestTime={requestTime}&signature={signature}

Deletes a file located at the given bucket and path.

POST upload/files/{bucket}/{path}?key={key}&requestTime={requestTime}&signature={signature}

Uploads a file.

POST files/{bucket}/{path}?size={size}&key={key}&requestTime={requestTime}&signature={signature}

Initializes an upload.

POST upload/{token}/{chunk}?key={key}&requestTime={requestTime}&signature={signature}

Uploads an individual chunk of a file.

POST complete/{token}?key={key}&requestTime={requestTime}&signature={signature}

Completes an upload.

GET buckets/list?key={key}&requestTime={requestTime}&signature={signature}

Lists all the buckets that belong to the given key.

POST buckets/{bucket}?key={key}&requestTime={requestTime}&signature={signature}&authType={authType}

Requests a new bucket.

GET buckets/{bucket}/access?key={key}&requestTime={requestTime}&signature={signature}

Queries the access policy for a given bucket.

POST buckets/{bucket}/readers/{readerKeyId}?key={key}&requestTime={requestTime}&signature={signature}

Grants read access to the given key for the given bucket.

DELETE buckets/{bucket}/readers/{readerKeyId}?key={key}&requestTime={requestTime}&signature={signature}

Revokes read access from the given key for the given bucket.

POST buckets/{bucket}/readers/delete/{readerKeyId}?key={key}&requestTime={requestTime}&signature={signature}

Revokes read access from the given key for the given bucket.

POST buckets/{bucket}/writers/{writerKeyId}?key={key}&requestTime={requestTime}&signature={signature}

Grants write access to the given key for the given bucket.

DELETE buckets/{bucket}/writers/{writerKeyId}?key={key}&requestTime={requestTime}&signature={signature}

Revokes write access from the given key for the given bucket.

POST buckets/{bucket}/writers/delete/{writerKeyId}?key={key}&requestTime={requestTime}&signature={signature}

Revokes write access from the given key for the given bucket.

DELETE buckets/{bucket}/delete?recursive={recursive}&key={key}&requestTime={requestTime}&signature={signature}

Deletes a bucket.

POST buckets/{bucket}/delete?recursive={recursive}&key={key}&requestTime={requestTime}&signature={signature}

Deletes a bucket.

POST keys/{newKeyId}?key={key}&canDeleteBuckets={canDeleteBuckets}&requestTime={requestTime}&signature={signature}

Requests a new key

POST credentials/{authType}

Requests credentials from the server.

GET time

Gets the time according to the server.

GET alive?authType={authType}

Asks if the server is alive, and optionally if the specified authentication server is alive.

POST copy?overwrite={overwrite}&key={key}&requestTime={requestTime}&signature={signature}

Copies files from the specified source bucket and paths to the destination bucket and paths.

POST download/url

Gets the presigned url to download the object.

Health

Provides endpoints to determine the health of each node

APIDescription
GET health/details

Detailed health check.

Admin

Provides the wep api for the Admin portion of the XSS Server

APIDescription
GET api/admin/status

Gets the current status of the server.

POST api/admin/decrypt

Decrypts the given string.

GET api/admin/list/{bucket}/{prefix}?filter={filter}&skip={skip}&limit={limit}

Lists the contents of a bucket with a given prefix.

GET api/admin/buckets

Lists all buckets.

GET api/admin/download/{bucket}/{path}

Gets a file located at the given bucket and path.

GET api/admin/length/{bucket}/{path}

Gets the file length

POST api/admin/login

Authenticates a user.