Get auth token
Get auth token (GET with headers)
REQUEST
Accept: */*
X-Koofr-Password: PASSWORD
X-Koofr-Email: email@email.tld
RESPONSE
200 (OK)
Content-Type: text/plain; charset=utf-8
X-Koofr-Token: 12341234-1234-1234-1234-123412341234
Content-Length: 0
Get auth token (POST with JSON)
REQUEST
Accept: */*
Content-Type: application/json
Content-Length: 59
{
"password": "password",
"email": "luka+apitest@email.tld"
}
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 48
{
"token": "12341234-1234-1234-1234-123412341234"
}
Revoke auth token (POST with JSON)
REQUEST
Accept: */*
Authorization: Token 12341234-1234-1234-1234-123412341234
Content-Length: 0
RESPONSE
204 (No Content)
Content-Length: 0
User info and settings
User info
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 114
{
"id": "12341234-1234-1234-1234-123412341234",
"firstName": "New",
"lastName": "Name",
"email": "luka+apitest@email.tld"
}
Update user info
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Content-Type: application/json
Accept: application/json
Content-Length: 40
{
"lastName": "Name",
"firstName": "New"
}
RESPONSE
204 (No Content)
Content-Length: 0
Change password
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Content-Type: application/json
Accept: application/json
Content-Length: 54
{
"newPassword": "password",
"oldPassword": "password"
}
RESPONSE
204 (No Content)
Content-Length: 0
Notification settings, branding, security
Notifications
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 54
{
"shared": true,
"newComment": true,
"deviceOffline": true
}
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Content-Type: application/json
Accept: application/json
Content-Length: 59
{
"shared": true,
"deviceOffline": true,
"newComment": true
}
RESPONSE
204 (No Content)
Content-Length: 0
Branding
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 94
{
"logo": "http://example.com/logo.jpg",
"backgroundColor": "#000000",
"foregroundColor": "#ffffff"
}
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Content-Type: application/json
Accept: application/json
Content-Length: 99
{
"logo": "http://example.com/logo.jpg",
"foregroundColor": "#ffffff",
"backgroundColor": "#000000"
}
RESPONSE
204 (No Content)
Content-Length: 0
Security
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 134
{
"downloadLinkAutoPassword": false,
"downloadLinkRequirePassword": false,
"uploadLinkAutoPassword": true,
"uploadLinkRequirePassword": false
}
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Content-Type: application/json
Accept: application/json
Content-Length: 141
{
"downloadLinkRequirePassword": false,
"downloadLinkAutoPassword": false,
"uploadLinkRequirePassword": false,
"uploadLinkAutoPassword": true
}
RESPONSE
204 (No Content)
Content-Length: 0
Bookmarks
Get bookmarks
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 91
{
"bookmarks": [
{
"name": "Test",
"mountId": "12341234-1234-1234-1234-123412341234",
"path": "/"
}
]
}
Set bookmarks
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Content-Type: application/json
Accept: application/json
Content-Length: 182
{
"bookmarks": [
{
"path": "/",
"name": "Test",
"mountId": "12341234-1234-1234-1234-123412341234"
},
{
"path": "/dir/",
"name": "Dir",
"mountId": "12341234-1234-1234-1234-123412341234"
}
]
}
RESPONSE
204 (No Content)
Content-Length: 0
Add bookmark
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Content-Type: application/json
Accept: application/json
Content-Length: 86
{
"path": "/Folder",
"name": "Test",
"mountId": "12341234-1234-1234-1234-123412341234"
}
RESPONSE
201 (Created)
Content-Length: 0
Remove bookmark
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
Content-Length: 0
RESPONSE
204 (No Content)
Content-Length: 0
List of all connected users and groups
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 239
{
"users": [
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "Test Test",
"email": "luka@email.tld"
}
],
"groups": [
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "Group 1"
},
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "Group 2"
}
]
}
Groups represent sets of users
Create group
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Content-Type: application/json
Accept: application/json
Content-Length: 21
{
"name": "New group"
}
RESPONSE
201 (Created)
Content-Type: application/json; charset=utf-8
Content-Length: 229
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "New group",
"users": [
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "New Name",
"email": "luka+apitest@email.tld",
"permissions": {
"ADMIN": true
}
}
],
"permissions": {
"ADMIN": true
}
}
Groups
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 242
{
"groups": [
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "New group",
"users": [
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "New Name",
"email": "luka+apitest@email.tld",
"permissions": {
"ADMIN": true
}
}
],
"permissions": {
"ADMIN": true
}
}
]
}
Group details
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 229
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "New group",
"users": [
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "New Name",
"email": "luka+apitest@email.tld",
"permissions": {
"ADMIN": true
}
}
],
"permissions": {
"ADMIN": true
}
}
Group edit
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Content-Type: application/json
Accept: application/json
Content-Length: 19
{
"name": "Renamed"
}
RESPONSE
204 (No Content)
Content-Length: 0
Group add user
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Content-Type: application/json
Accept: application/json
Content-Length: 46
{
"email": "luka@email.tld",
"permissions": []
}
RESPONSE
201 (Created)
Content-Type: application/json; charset=utf-8
Content-Length: 120
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "Test Test",
"email": "luka@email.tld",
"permissions": {
"ADMIN": false
}
}
Group update user
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Content-Type: application/json
Accept: application/json
Content-Length: 26
{
"permissions": [
"ADMIN"
]
}
RESPONSE
204 (No Content)
Content-Length: 0
Group remove user
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
Content-Length: 0
RESPONSE
204 (No Content)
Content-Length: 0
Group delete
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
Content-Length: 0
RESPONSE
204 (No Content)
Content-Length: 0
Devices represent Digi Storage clients installed on users' computers or servers
Devices
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 485
{
"devices": [
{
"id": "12341234-1234-1234-1234-123412341234",
"apiKey": "12341234-1234-1234-1234-123412341234",
"name": "New Device",
"status": "online",
"spaceTotal": 0,
"spaceUsed": 0,
"spaceFree": 0,
"version": {
"version": 0,
"canUpdate": true,
"shouldUpdate": false,
"outdated": false
},
"provider": {
"name": "storageblob",
"data": {
"username": "username",
"tenant": "account",
"container": "my-container",
"cloudProvider": "swift",
"endpoint": "http://localhost:8080/auth/v1.0",
"password": "password"
}
},
"readonly": false
}
]
}
Create device
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Content-Type: application/json
Accept: application/json
Content-Length: 55
{
"name": "Another Device",
"providerName": "storagehub"
}
RESPONSE
201 (Created)
Content-Type: application/json; charset=utf-8
Content-Length: 317
{
"id": "12341234-1234-1234-1234-123412341234",
"apiKey": "12341234-1234-1234-1234-123412341234",
"name": "Another Device",
"status": "offline",
"spaceTotal": 0,
"spaceUsed": 0,
"spaceFree": 0,
"version": {
"version": 0,
"canUpdate": true,
"shouldUpdate": false,
"outdated": false
},
"provider": {
"name": "storagehub",
"data": {}
},
"readonly": false
}
Device details
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 317
{
"id": "12341234-1234-1234-1234-123412341234",
"apiKey": "12341234-1234-1234-1234-123412341234",
"name": "Another Device",
"status": "offline",
"spaceTotal": 0,
"spaceUsed": 0,
"spaceFree": 0,
"version": {
"version": 0,
"canUpdate": true,
"shouldUpdate": false,
"outdated": false
},
"provider": {
"name": "storagehub",
"data": {}
},
"readonly": false
}
Update device
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Content-Type: application/json
Accept: application/json
Content-Length: 19
{
"name": "Renamed"
}
*RESPONSE"*
204 (No Content)
Content-Length: 0
Remove device
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
Content-Length: 0
RESPONSE
204 (No Content)
Content-Length: 0
Create Swift device
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Content-Type: application/json
Accept: application/json
Content-Length: 54
{
"name": "Swift Device",
"providerName": "storageblob"
}
RESPONSE
201 (Created)
Content-Type: application/json; charset=utf-8
Content-Length: 315
{
"id": "12341234-1234-1234-1234-123412341234",
"apiKey": "12341234-1234-1234-1234-123412341234",
"name": "Swift Device",
"status": "online",
"spaceTotal": 0,
"spaceUsed": 0,
"spaceFree": 0,
"version": {
"version": 0,
"canUpdate": true,
"shouldUpdate": false,
"outdated": false
},
"provider": {
"name": "storageblob",
"data": {}
},
"readonly": false
}
Update Swift device
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Content-Type: application/json
Accept: application/json
Content-Length: 218
{
"provider": {
"data": {
"username": "username",
"endpoint": "http://swiftdrive.com/auth/v1.0",
"container": "my-container",
"cloudProvider": "swift",
"password": "password",
"tenant": "account"
},
"name": "storageblob"
}
}
RESPONSE
204 (No Content)
Content-Length: 0
Mounts represent entrypoints to files, comments, links...
Notes:
owner - can be null (field not present)
type - enum [device, export, import]; device represents user's Devices, export represents Shared by me, import represents Shared with me
Mounts
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 778
{
"mounts": [
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "New Koofr",
"type": "device",
"online": true,
"owner": {
"id": "12341234-1234-1234-1234-123412341234",
"name": "New Name",
"email": "luka+apitest@email.tld",
"permissions": {
"READ": true,
"OWNER": true,
"MOUNT": true,
"CREATE_RECEIVER": true,
"COMMENT": true,
"WRITE": true,
"CREATE_LINK": true
}
},
"users": [
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "New Name",
"email": "luka+apitest@email.tld",
"permissions": {
"READ": true,
"OWNER": true,
"MOUNT": true,
"CREATE_RECEIVER": true,
"COMMENT": true,
"WRITE": true,
"CREATE_LINK": true
}
}
],
"groups": [],
"permissions": {
"READ": true,
"OWNER": true,
"MOUNT": true,
"CREATE_RECEIVER": true,
"COMMENT": true,
"WRITE": true,
"CREATE_LINK": true
},
"version": 0
}
]
}
Mounts (filter type)
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 778
{
"mounts": [
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "New Device",
"type": "device",
"online": true,
"owner": {
"id": "12341234-1234-1234-1234-123412341234",
"name": "New Name",
"email": "luka+apitest@email.tld",
"permissions": {
"READ": true,
"OWNER": true,
"MOUNT": true,
"CREATE_RECEIVER": true,
"COMMENT": true,
"WRITE": true,
"CREATE_LINK": true
}
},
"users": [
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "New Name",
"email": "luka+apitest@email.tld",
"permissions": {
"READ": true,
"OWNER": true,
"MOUNT": true,
"CREATE_RECEIVER": true,
"COMMENT": true,
"WRITE": true,
"CREATE_LINK": true
}
}
],
"groups": [],
"permissions": {
"READ": true,
"OWNER": true,
"MOUNT": true,
"CREATE_RECEIVER": true,
"COMMENT": true,
"WRITE": true,
"CREATE_LINK": true
},
"version": 0
}
]
}
Create submount
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Content-Type: application/json
Accept: application/json
Content-Length: 39
{
"path": "/submount/",
"name": "Share"
}
RESPONSE
201 (Created)
Content-Type: application/json; charset=utf-8
Content-Length: 853
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "Share",
"type": "export",
"root": {
"id": "12341234-1234-1234-1234-123412341234",
"name": "New Device",
"path": "/submount/"
},
"online": true,
"owner": {
"id": "12341234-1234-1234-1234-123412341234",
"name": "New Name",
"email": "luka+apitest@email.tld",
"permissions": {
"READ": true,
"OWNER": true,
"MOUNT": true,
"CREATE_RECEIVER": true,
"COMMENT": true,
"WRITE": true,
"CREATE_LINK": true
}
},
"users": [
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "New Name",
"email": "luka+apitest@email.tld",
"permissions": {
"READ": true,
"OWNER": true,
"MOUNT": true,
"CREATE_RECEIVER": true,
"COMMENT": true,
"WRITE": true,
"CREATE_LINK": true
}
}
],
"groups": [],
"permissions": {
"READ": true,
"OWNER": true,
"MOUNT": true,
"CREATE_RECEIVER": true,
"COMMENT": true,
"WRITE": true,
"CREATE_LINK": true
},
"version": 0
}
Mount details
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 1066
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "Share",
"type": "export",
"root": {
"id": "12341234-1234-1234-1234-123412341234",
"name": "New Device",
"path": "/submount/"
},
"online": true,
"owner": {
"id": "12341234-1234-1234-1234-123412341234",
"name": "New Name",
"email": "luka+apitest@email.tld",
"permissions": {
"READ": true,
"OWNER": true,
"MOUNT": true,
"CREATE_RECEIVER": true,
"COMMENT": true,
"WRITE": true,
"CREATE_LINK": true
}
},
"users": [
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "New Name",
"email": "luka+apitest@email.tld",
"permissions": {
"READ": true,
"OWNER": true,
"MOUNT": true,
"CREATE_RECEIVER": true,
"COMMENT": true,
"WRITE": true,
"CREATE_LINK": true
}
}
],
"groups": [
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "My group",
"permissions": {
"READ": true,
"OWNER": false,
"MOUNT": false,
"CREATE_RECEIVER": false,
"COMMENT": true,
"WRITE": true,
"CREATE_LINK": false
}
}
],
"permissions": {
"READ": true,
"OWNER": true,
"MOUNT": true,
"CREATE_RECEIVER": true,
"COMMENT": true,
"WRITE": true,
"CREATE_LINK": true
},
"version": 0
}
Mount edit
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Content-Type: application/json
Accept: application/json
Content-Length: 19
{
"name": "Renamed"
}
RESPONSE
204 (No Content)
Content-Length: 0
Mount add user
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Content-Type: application/json
Accept: application/json
Content-Length: 90
{
"email": "luka@email.tld",
"permissions": {
"READ": true,
"WRITE": true,
"COMMENT": true
}
}
RESPONSE
201 (Created)
Content-Type: application/json; charset=utf-8
Content-Length: 240
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "Test Test",
"email": "luka@email.tld",
"permissions": {
"READ": true,
"OWNER": false,
"MOUNT": false,
"CREATE_RECEIVER": false,
"COMMENT": true,
"WRITE": true,
"CREATE_LINK": false
}
}
Mount update user
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Content-Type: application/json
Accept: application/json
Content-Length: 33
{
"permissions": {
"WRITE": false
}
}
RESPONSE
204 (No Content)
Content-Length: 0
Mount remove user
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
Content-Length: 0
RESPONSE
204 (No Content)
Content-Length: 0
Mount add/edit group
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Content-Type: application/json
Accept: application/json
Content-Length: 63
{
"permissions": {
"READ": true,
"WRITE": true,
"COMMENT": true
}
}
RESPONSE
204 (No Content)
Content-Length: 0
Mount remove group
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
Content-Length: 0
RESPONSE
204 (No Content)
Content-Length: 0
Mount delete
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
Content-Length: 0
RESPONSE
204 (No Content)
Content-Length: 0
Files on devices (for mount)
Create new folder
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Content-Type: application/json
Accept: application/json
Content-Length: 23
{
"name": "Folder name"
}
RESPONSE
200 (OK)
Content-Length: 0
File upload link
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 183
{
"link": "https://storage.rcs-rds.ro/tblob/files/put?base=BASE"
}
File upload
REQUEST
Accept: */*
Content-Type: multipart/form-data; boundary=BOUNDARYBOUNDARYBOUNDARYBOUNDARY
Content-Length: 182
--BOUNDARYBOUNDARYBOUNDARYBOUNDARY
Content-Disposition: form-data; name="file"; filename="test.txt"
Content-Type: text/plain
** EMPTY LINE **
file content
--BOUNDARYBOUNDARYBOUNDARYBOUNDARY--
** EMPTY LINE **
RESPONSE
200 (OK)
X-Powered-By: Express
Content-Type: application/json; charset=utf-8
Content-Length: 60
Date: Tue, 30 Jul 2042 12:22:17 GMT
[
{
"name": "test.txt",
"type": "text/plain"
}
]
File download redirect
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
RESPONSE
303 (See Other)
Location: https://storage.rcs-rds.ro/tblob/files/get/test.txt?base=BASE
Content-Length: 0
REQUEST
Accept: application/json
Authorization: Token token="12341234-1234-1234-1234-123412341234"
RESPONSE
200 (OK)
X-Powered-By: Express
Content-Type: text/plain
Content-Length: 12
Date: Tue, 30 Jul 2042 12:22:17 GMT
file content
File download link
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 216
{
"link": "https://storage.rcs-rds.ro/tblob/files/get/test.txt?base=BASE"
}
File download
REQUEST
Accept: */*
RESPONSE
200 (OK)
X-Powered-By: Express
Content-Type: text/plain
Content-Length: 12
Date: Tue, 30 Jul 2042 12:22:17 GMT
file content
File download (ZIP) link
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 197
{
"link": "https://storage.rcs-rds.ro/tblob/files/get/all-files.zip?base=BASE"
}
Folder download (ZIP)
REQUEST
Accept: */*
RESPONSE
200 (OK)
X-Powered-By: Express
Content-Type: application/zip
Transfer-Encoding: chunked
Date: Tue, 30 Jul 2042 12:22:17 GMT
--- response content ignored ---
Move file/folder
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Content-Type: application/json
Accept: application/json
Content-Length: 82
{
"toMountId": "12341234-1234-1234-1234-123412341234",
"toPath": "/test_moved.txt"
}
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 25
{
"name": "test_moved.txt"
}
Copy file/folder
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Content-Type: application/json
Accept: application/json
Content-Length: 81
{
"toMountId": "12341234-1234-1234-1234-123412341234",
"toPath": "/test_copy.txt"
}
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 24
{
"name": "test_copy.txt"
}
Rename file/folder
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Content-Type: application/json
Accept: application/json
Content-Length: 27
{
"name": "New folder name"
}
RESPONSE
200 (OK)
Content-Length: 0
Remove file/folder
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
Content-Length: 0
RESPONSE
200 (OK)
Content-Length: 0
File/folder info
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 101
{
"name": "test_moved.txt",
"type": "file",
"modified": 1337421337421,
"size": 12,
"contentType": "text/plain"
}
Files list
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 204
{
"files": [
{
"name": "New folder name",
"type": "dir",
"modified": 1337421337421,
"size": 0,
"contentType": ""
},
{
"name": "test_moved.txt",
"type": "file",
"modified": 1337421337421,
"size": 12,
"contentType": "text/plain"
}
]
}
Files tree
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 280
{
"name": "",
"type": "dir",
"modified": 1337421337421,
"size": 0,
"contentType": "",
"children": [
{
"name": "New folder name",
"type": "dir",
"modified": 1337421337421,
"size": 0,
"contentType": ""
},
{
"name": "test_moved.txt",
"type": "file",
"modified": 1337421337421,
"size": 0,
"contentType": "text/plain"
}
]
}
Comment on mount (share)
Post new comment
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Content-Type: application/json
Accept: application/json
Content-Length: 26
{
"content": "New comment"
}
RESPONSE
201 (Created)
Content-Type: application/json; charset=utf-8
Content-Length: 195
{
"id": "12341234-1234-1234-1234-123412341234",
"user": {
"id": "12341234-1234-1234-1234-123412341234",
"name": "New Name",
"email": "luka+apitest@email.tld"
},
"content": "New comment",
"added": 1337421337421
}
List comments
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 210
{
"comments": [
{
"id": "12341234-1234-1234-1234-123412341234",
"user": {
"id": "12341234-1234-1234-1234-123412341234",
"name": "New Name",
"email": "luka+apitest@email.tld"
},
"content": "New comment",
"added": 1337421337421
}
]
}
List comments (range)
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 210
{
"comments": [
{
"id": "12341234-1234-1234-1234-123412341234",
"user": {
"id": "12341234-1234-1234-1234-123412341234",
"name": "New Name",
"email": "luka+apitest@email.tld"
},
"content": "New comment",
"added": 1337421337421
}
]
}
Comment details
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 195
{
"id": "12341234-1234-1234-1234-123412341234",
"user": {
"id": "12341234-1234-1234-1234-123412341234",
"name": "New Name",
"email": "luka+apitest@email.tld"
},
"content": "New comment",
"added": 1337421337421
}
Remove comment
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
Content-Length: 0
RESPONSE
204 (No Content)
Content-Length: 0
Links (download links) can be either public file links (path to file) or folder links (path to dir - with trailing slash)
Create new link
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Content-Type: application/json
Accept: application/json
Content-Length: 25
{
"path": "/path/to/file"
}
RESPONSE
201 (Created)
Content-Type: application/json; charset=utf-8
Content-Length: 271
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "file",
"path": "/path/to/file",
"counter": 0,
"url": "https://storage.rcs-rds.ro/links/12341234-1234-1234-1234-123412341234",
"shortUrl": "http://s.go.ro/hashx",
"hash": "hashx",
"host": "http://s.go.ro",
"hasPassword": false
}
List links
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 283
{
"links": [
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "file",
"path": "/path/to/file",
"counter": 0,
"url": "https://storage.rcs-rds.ro/links/12341234-1234-1234-1234-123412341234",
"shortUrl": "http://s.go.ro/hashx",
"hash": "hashx",
"host": "http://s.go.ro",
"hasPassword": false
}
]
}
Link details
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 271
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "file",
"path": "/path/to/file",
"counter": 0,
"url": "https://storage.rcs-rds.ro/links/12341234-1234-1234-1234-123412341234",
"shortUrl": "http://s.go.ro/hashx",
"hash": "hashx",
"host": "http://s.go.ro",
"hasPassword": false
}
Get link for path
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 283
{
"links": [
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "file",
"path": "/path/to/file",
"counter": 0,
"url": "https://storage.rcs-rds.ro/links/12341234-1234-1234-1234-123412341234",
"shortUrl": "http://s.go.ro/hashx",
"hash": "hashx",
"host": "http://s.go.ro",
"hasPassword": false
}
]
}
Get links for parent path
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 283
{
"links": [
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "file",
"path": "/path/to/file",
"counter": 0,
"url": "https://storage.rcs-rds.ro/links/12341234-1234-1234-1234-123412341234",
"shortUrl": "http://s.go.ro/hashx",
"hash": "hashx",
"host": "http://s.go.ro",
"hasPassword": false
}
]
}
Set custom short URL
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Content-Type: application/json
Accept: application/json
Content-Length: 23
{
"hash": "mycustomurl"
}
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 283
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "file",
"path": "/path/to/file",
"counter": 0,
"url": "https://storage.rcs-rds.ro/links/12341234-1234-1234-1234-123412341234",
"shortUrl": "http://s.go.ro/mycustomurl",
"hash": "mycustomurl",
"host": "http://s.go.ro",
"hasPassword": false
}
Set/reset password
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
Content-Length: 0
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 302
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "file",
"path": "/path/to/file",
"counter": 0,
"url": "https://storage.rcs-rds.ro/links/12341234-1234-1234-1234-123412341234",
"shortUrl": "http://s.go.ro/mycustomurl",
"hash": "mycustomurl",
"host": "http://s.go.ro",
"hasPassword": true,
"password": "13378"
}
Remove password
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
Content-Length: 0
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 283
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "file",
"path": "/path/to/file",
"counter": 0,
"url": "https://storage.rcs-rds.ro/links/12341234-1234-1234-1234-123412341234",
"shortUrl": "http://s.go.ro/mycustomurl",
"hash": "mycustomurl",
"host": "http://s.go.ro",
"hasPassword": false
}
Delete link
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
Content-Length: 0
RESPONSE
204 (No Content)
Content-Length: 0
Receivers (upload links) (path to dir - with trailing slash)
Create new receiver
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Content-Type: application/json
Accept: application/json
Content-Length: 27
{
"path": "/path/to/inbox/"
}
RESPONSE
201 (Created)
Content-Type: application/json; charset=utf-8
Content-Length: 295
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "inbox",
"path": "/path/to/inbox/",
"counter": 0,
"url": "https://storage.rcs-rds.ro/receive/12341234-1234-1234-1234-123412341234",
"shortUrl": "http://s.go.ro/hashx",
"hash": "hashx",
"host": "http://s.go.ro",
"hasPassword": true,
"password": "13378"
}
List receivers
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 311
{
"receivers": [
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "inbox",
"path": "/path/to/inbox/",
"counter": 0,
"url": "https://storage.rcs-rds.ro/receive/12341234-1234-1234-1234-123412341234",
"shortUrl": "http://s.go.ro/hashx",
"hash": "hashx",
"host": "http://s.go.ro",
"hasPassword": true,
"password": "13378"
}
]
}
Receiver details
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 295
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "inbox",
"path": "/path/to/inbox/",
"counter": 0,
"url": "https://storage.rcs-rds.ro/receive/12341234-1234-1234-1234-123412341234",
"shortUrl": "http://s.go.ro/hashx",
"hash": "hashx",
"host": "http://s.go.ro",
"hasPassword": true,
"password": "13378"
}
Get receiver for path
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 311
{
"receivers": [
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "inbox",
"path": "/path/to/inbox/",
"counter": 0,
"url": "https://storage.rcs-rds.ro/receive/12341234-1234-1234-1234-123412341234",
"shortUrl": "http://s.go.ro/hashx",
"hash": "hashx",
"host": "http://s.go.ro",
"hasPassword": true,
"password": "13378"
}
]
}
Get receivers for parent path
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 311
{
"receivers": [
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "inbox",
"path": "/path/to/inbox/",
"counter": 0,
"url": "https://storage.rcs-rds.ro/receive/12341234-1234-1234-1234-123412341234",
"shortUrl": "http://s.go.ro/hashx",
"hash": "hashx",
"host": "http://s.go.ro",
"hasPassword": true,
"password": "13378"
}
]
}
Set custom short URL
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Content-Type: application/json
Accept: application/json
Content-Length: 23
{
"hash": "mycustomurl"
}
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 307
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "inbox",
"path": "/path/to/inbox/",
"counter": 0,
"url": "https://storage.rcs-rds.ro/receive/12341234-1234-1234-1234-123412341234",
"shortUrl": "http://s.go.ro/mycustomurl",
"hash": "mycustomurl",
"host": "http://s.go.ro",
"hasPassword": true,
"password": "13378"
}
Set/reset password
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
Content-Length: 0
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 307
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "inbox",
"path": "/path/to/inbox/",
"counter": 0,
"url": "https://storage.rcs-rds.ro/receive/12341234-1234-1234-1234-123412341234",
"shortUrl": "http://s.go.ro/mycustomurl",
"hash": "mycustomurl",
"host": "http://s.go.ro",
"hasPassword": true,
"password": "13378"
}
Remove password
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
Content-Length: 0
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 288
{
"id": "12341234-1234-1234-1234-123412341234",
"name": "inbox",
"path": "/path/to/inbox/",
"counter": 0,
"url": "https://storage.rcs-rds.ro/receive/12341234-1234-1234-1234-123412341234",
"shortUrl": "http://s.go.ro/mycustomurl",
"hash": "mycustomurl",
"host": "http://s.go.ro",
"hasPassword": false
}
####12.9 DELETE /api/v2/mounts/12341234-1234-1234-1234-123412341234/receivers/12341234-1234-1234-1234-123412341234
Delete receiver
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
Content-Length: 0
RESPONSE
204 (No Content)
Content-Length: 0
Bundle for mount and path (files, comments, links, receivers and bookmarks
REQUEST
Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
RESPONSE
200 (OK)
Content-Type: application/json; charset=utf-8
Content-Length: 1803
{
"files": [
{
"name": "test.txt",
"type": "file",
"modified": 1337421337421,
"size": 12,
"contentType": "text/plain",
"link": {
"id": "12341234-1234-1234-1234-123412341234",
"name": "test.txt",
"path": "/test.txt",
"counter": 0,
"url": "https://storage.rcs-rds.ro/links/12341234-1234-1234-1234-123412341234",
"shortUrl": "http://s.go.ro/hashx",
"hash": "hashx",
"host": "http://s.go.ro",
"hasPassword": false
}
},
{
"name": "folder",
"type": "dir",
"modified": 1337421337421,
"size": 0,
"contentType": "",
"receiver": {
"id": "12341234-1234-1234-1234-123412341234",
"name": "folder",
"path": "/folder",
"counter": 0,
"url": "https://storage.rcs-rds.ro/receive/12341234-1234-1234-1234-123412341234",
"shortUrl": "http://s.go.ro/hashx",
"hash": "hashx",
"host": "http://s.go.ro",
"hasPassword": true,
"password": "13378"
},
"bookmark": {
"name": "my folder",
"path": "/folder"
}
}
],
"file": {
"name": "",
"type": "dir",
"modified": 1337421337421,
"size": 0,
"contentType": "",
"link": {
"id": "12341234-1234-1234-1234-123412341234",
"name": "",
"path": "/",
"counter": 0,
"url": "https://storage.rcs-rds.ro/links/12341234-1234-1234-1234-123412341234",
"shortUrl": "http://s.go.ro/hashx",
"hash": "hashx",
"host": "http://s.go.ro",
"hasPassword": false
},
"receiver": {
"id": "12341234-1234-1234-1234-123412341234",
"name": "",
"path": "/",
"counter": 0,
"url": "https://storage.rcs-rds.ro/receive/12341234-1234-1234-1234-123412341234",
"shortUrl": "http://s.go.ro/hashx",
"hash": "hashx",
"host": "http://s.go.ro",
"hasPassword": true,
"password": "13378"
},
"bookmark": {
"name": "Home",
"path": "/"
}
}
}