DigiStorage pentru Developeri

API DigiStorage

1. Authentication

Get auth token

1.1 GET /api/v2/https://storage.rcs-rds.ro/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

1.2 POST /api/v2/https://storage.rcs-rds.ro/token

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"
}

1.3 DELETE /api/v2/https://storage.rcs-rds.ro/token

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

2. User

User info and settings

2.1 GET /api/v2/user

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"
}

2.2 PUT /api/v2/user

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

2.3 PUT /api/v2/user/password

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

3. Settings

Notification settings, branding, security

3.1 GET /api/v2/user/settings/notifications

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
}

3.2 PUT /api/v2/user/settings/notifications

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

3.3 GET /api/v2/user/settings/branding

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"
}

3.4 PUT /api/v2/user/settings/branding

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

3.5 GET /api/v2/user/settings/security

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
}

3.6 PUT /api/v2/user/settings/security

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

4. Bookmarks

Bookmarks

4.1 GET /api/v2/user/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": "/"
    }
  ]
}

4.2 PUT /api/v2/user/bookmarks

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

POST /api/v2/user/bookmarks

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

4.4 DELETE /api/v2/user/bookmarks?mountId=12341234-1234-1234-1234-123412341234&path=/Folder

Remove bookmark

REQUEST

Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
Content-Length: 0

RESPONSE

204 (No Content)
Content-Length: 0

5 Connections

List of all connected users and groups

5.1 GET /api/v2/user/connections

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"
    }
  ]
}

6. Groups

Groups represent sets of users

6.1 POST /api/v2/groups

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
  }
}

6.2 GET /api/v2/groups

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
      }
    }
  ]
}

6.3 GET /api/v2/groups/12341234-1234-1234-1234-123412341234

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
  }
}

6.4 PUT /api/v2/groups/12341234-1234-1234-1234-123412341234

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

6.5 POST /api/v2/groups/12341234-1234-1234-1234-123412341234/users

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
  }
}

6.6 PUT /api/v2/groups/12341234-1234-1234-1234-123412341234/users/12341234-1234-1234-1234-123412341234

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

6.7 DELETE /api/v2/groups/12341234-1234-1234-1234-123412341234/users/12341234-1234-1234-1234-123412341234

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

6.8 DELETE /api/v2/groups/12341234-1234-1234-1234-123412341234

Group delete

REQUEST

Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
Content-Length: 0

RESPONSE

204 (No Content)
Content-Length: 0

7. Devices

Devices represent Digi Storage clients installed on users' computers or servers

7.1 GET /api/v2/devices

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
    }
  ]
}

7.2 POST /api/v2/devices

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
}

7.3 GET /api/v2/devices/12341234-1234-1234-1234-123412341234

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
}

7.4 PUT /api/v2/devices/12341234-1234-1234-1234-123412341234

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

7.5 DELETE /api/v2/devices/12341234-1234-1234-1234-123412341234

Remove device

REQUEST

Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
Content-Length: 0

RESPONSE

204 (No Content)
Content-Length: 0

7.6 POST /api/v2/devices

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
}

7.7 PUT /api/v2/devices/12341234-1234-1234-1234-123412341234/provider

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

8. Mounts

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

8.1 GET /api/v2/mounts

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
    }
  ]
}

8.2 GET /api/v2/mounts?type=device,export

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
    }
  ]
}

8.3 POST /api/v2/mounts/12341234-1234-1234-1234-123412341234/submounts

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
}

8.4 GET /api/v2/mounts/12341234-1234-1234-1234-123412341234

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
}

8.5 PUT /api/v2/mounts/12341234-1234-1234-1234-123412341234

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

8.6 POST /api/v2/mounts/12341234-1234-1234-1234-123412341234/users

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
  }
}

8.7 PUT /api/v2/mounts/12341234-1234-1234-1234-123412341234/users/12341234-1234-1234-1234-123412341234

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

8.8 DELETE /api/v2/mounts/12341234-1234-1234-1234-123412341234/users/12341234-1234-1234-1234-123412341234

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

8.9 PUT /api/v2/mounts/12341234-1234-1234-1234-123412341234/groups/12341234-1234-1234-1234-123412341234

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

8.10 DELETE /api/v2/mounts/12341234-1234-1234-1234-123412341234/groups/12341234-1234-1234-1234-123412341234

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

8.11 DELETE /api/v2/mounts/12341234-1234-1234-1234-123412341234

Mount delete

REQUEST

Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
Content-Length: 0

RESPONSE

204 (No Content)
Content-Length: 0

9. Files

Files on devices (for mount)

9.1 POST /api/v2/mounts/12341234-1234-1234-1234-123412341234/files/folder?path=/

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

9.2 GET /api/v2/mounts/12341234-1234-1234-1234-123412341234/files/upload?path=/

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"
}

9.3 POST /api/v2/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"
  }
]

9.4 GET /api/v2/mounts/12341234-1234-1234-1234-123412341234/files/get?path=/test.txt

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

9.5 GET /api/v2/https://storage.rcs-rds.ro/tblob/files/get/test.txt?base=BASE

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

9.6 GET /api/v2/mounts/12341234-1234-1234-1234-123412341234/files/download?path=/test.txt

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"
}

9.7 GET /api/v2/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

9.8 GET /api/v2/mounts/12341234-1234-1234-1234-123412341234/files/download?path=/

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"
}

9.9 GET /api/v2/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 ---

9.10 PUT /api/v2/mounts/12341234-1234-1234-1234-123412341234/files/move?path=/test.txt

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"
}

9.11 PUT /api/v2/mounts/12341234-1234-1234-1234-123412341234/files/copy?path=/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"
}

9.12 PUT /api/v2/mounts/12341234-1234-1234-1234-123412341234/files/rename?path=/Folder%20name

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

9.13 DELETE /api/v2/mounts/12341234-1234-1234-1234-123412341234/files/remove?path=/test_copy.txt

Remove file/folder

REQUEST

Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
Content-Length: 0

RESPONSE

200 (OK)
Content-Length: 0

9.14 GET /api/v2/mounts/12341234-1234-1234-1234-123412341234/files/info?path=/test_moved.txt

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"
}

9.15 GET /api/v2/mounts/12341234-1234-1234-1234-123412341234/files/list?path=/

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"
    }
  ]
}

9.16 GET /api/v2/mounts/12341234-1234-1234-1234-123412341234/files/tree?path=/

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"
    }
  ]
}

10. Comments

Comment on mount (share)

10.1 POST /api/v2/mounts/12341234-1234-1234-1234-123412341234/comments

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
}

10.2 GET /api/v2/mounts/12341234-1234-1234-1234-123412341234/comments

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
    }
  ]
}

10.3 GET /api/v2/mounts/12341234-1234-1234-1234-123412341234/comments?from=0&limit=10

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
    }
  ]
}

10.4 GET /api/v2/mounts/12341234-1234-1234-1234-123412341234/comments/12341234-1234-1234-1234-123412341234

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
}

10.5 DELETE /api/v2/mounts/12341234-1234-1234-1234-123412341234/comments/12341234-1234-1234-1234-123412341234

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)

11.1 POST /api/v2/mounts/12341234-1234-1234-1234-123412341234/links

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
    }
  ]
}

11.3 GET /api/v2/mounts/12341234-1234-1234-1234-123412341234/links/12341234-1234-1234-1234-123412341234

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
}

11.4 GET /api/v2/mounts/12341234-1234-1234-1234-123412341234/links?path=/path/to/file

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
    }
  ]
}

11.5 GET /api/v2/mounts/12341234-1234-1234-1234-123412341234/links?parent=/path/to/

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
    }
  ]
}

11.6 PUT /api/v2/mounts/12341234-1234-1234-1234-123412341234/links/12341234-1234-1234-1234-123412341234/urlHash

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
}

11.7 PUT /api/v2/mounts/12341234-1234-1234-1234-123412341234/links/12341234-1234-1234-1234-123412341234/password/reset

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"
}

11.8 DELETE /api/v2/mounts/12341234-1234-1234-1234-123412341234/links/12341234-1234-1234-1234-123412341234/password

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
}

11.9 DELETE /api/v2/mounts/12341234-1234-1234-1234-123412341234/links/12341234-1234-1234-1234-123412341234

Delete link

REQUEST

Authorization: Token token="12341234-1234-1234-1234-123412341234"
Accept: application/json
Content-Length: 0

RESPONSE

204 (No Content)
Content-Length: 0

12. Receivers

Receivers (upload links) (path to dir - with trailing slash)

12.1 POST /api/v2/mounts/12341234-1234-1234-1234-123412341234/receivers

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"
}

12.2 GET /api/v2/mounts/12341234-1234-1234-1234-123412341234/receivers

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"
    }
  ]
}

12.3 GET /api/v2/mounts/12341234-1234-1234-1234-123412341234/receivers/12341234-1234-1234-1234-123412341234

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"
}

12.4 GET /api/v2/mounts/12341234-1234-1234-1234-123412341234/receivers?path=/path/to/inbox/

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"
    }
  ]
}

12.5 GET /api/v2/mounts/12341234-1234-1234-1234-123412341234/receivers?parent=/path/to/

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"
    }
  ]
}

12.6 PUT /api/v2/mounts/12341234-1234-1234-1234-123412341234/receivers/12341234-1234-1234-1234-123412341234/urlHash

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"
}

12.7 PUT /api/v2/mounts/12341234-1234-1234-1234-123412341234/receivers/12341234-1234-1234-1234-123412341234/password/reset

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"
}

12.8 DELETE /api/v2/mounts/12341234-1234-1234-1234-123412341234/receivers/12341234-1234-1234-1234-123412341234/password

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

13. Bundle

Bundle for mount and path (files, comments, links, receivers and bookmarks

13.1 GET /api/v2/mounts/12341234-1234-1234-1234-123412341234/bundle?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: 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": "/"
    }
  }
}