Sharing
Collection can be shared with other users, which are then called collaborators, and this section describes the different commands that are related to sharing.
Collaborators
Every user who shares at least one collection with another user, has a collaborators record in the API response. The record contains a restricted subset of user-specific fields.
Field
Description
_id
User ID of the collaborator
Email of the collaborator
Empty when authorized user have read-only access
email_MD5
MD5 hash of collaborator email. Useful for using with Gravatar for example
fullName
Full name of the collaborator
role
Access level:
member have write access and can invite more users
viewer read-only access
Share collection
POST https://api.raindrop.io/rest/v1/collection/{id}/sharing
Share collection with another user(s). As result invitation(s) will be send to specified email(s) with link to join collection.
Path Parameters
id
number
Existing collection ID
Request Body
role
string
Access level. Possible values:
member
viewer
emails
array
The user email(s) with whom to share the project. Maximum 10
{
"result": true,
"emails": [
"[email protected]",
"[email protected]"
]
}//'emails' array is empty
{
"result": false,
"errorMessage": "no emails"
}
//'emails' array larger than 10
{
"result": false,
"errorMessage": "you cant send more than 10 invites at once"
}//When user have more than 100 pending invitations:
{
"result": false,
"errorMessage": "you have too many pending invitations, you will be banned if you continue send more"
}
//User doesn't have enought permissions to invite more people
{
"result": false,
"errorMessage": "you dont have permissions to invite more people"
}Get collaborators list of collection
GET https://api.raindrop.io/rest/v1/collection/{id}/sharing
Path Parameters
id
number
Existing collection ID
{
"items": [
{
"_id": 373381,
"email": "[email protected]",
"email_MD5": "e12bda18ca265d3f3e30d247adea2549",
"fullName": "Jakie Future",
"registered": "2019-08-18T17:01:43.664Z",
"role": "viewer"
}
],
"result": true
}Unshare or leave collection
DELETE https://api.raindrop.io/rest/v1/collection/{id}/sharing
There two possible results of calling this method, depends on who authenticated user is: - Owner: collection will be unshared and all collaborators will be removed - Member or viewer: authenticated user will be removed from collaborators list
Path Parameters
id
number
Existing collection ID
{
"result": true
}Change access level of collaborator
PUT https://api.raindrop.io/rest/v1/collection/{id}/sharing/{userId}
Path Parameters
userId
number
User ID of collaborator
id
number
Existing collection ID
Request Body
role
string
member or viewer
{
"result": true
}Delete a collaborator
DELETE https://api.raindrop.io/rest/v1/collection/{id}/sharing/{userId}
Remove an user from shared collection
Path Parameters
userId
number
User ID of collaborator
id
number
Existing collection ID
{
"result": true
}Accept an invitation
POST https://api.raindrop.io/rest/v1/collection/{id}/join
Accept an invitation to join a shared collection
Path Parameters
id
number
Existing collection ID
Request Body
token
string
Secret token from email
{
"result": true,
"role": "member"
}//Incorrect token
{
"result": false,
"error": "CollaboratorsIncorrectToken",
"errorMessage": "Incorrect or expired token"
}
//Collection no more exists
{
"result": false,
"error": "CollaboratorsNoCollection",
"errorMessage": "Shared collection not found or removed"
}
{
"result": false,
"error": "CollaboratorsAlready",
"errorMessage": "You already owner of this collection"
}Last updated
Was this helpful?