Back to DropboxSharing - Add File Member
Adds specified members to a file.
Input
type: object
properties:
data:
type: object
description: >
Arguments for :route:`add_file_member`.
file: File to which to add members.
members: Members to add. Note that even an email address is given, this
may result in a user being directy added to the membership if that email
is the user's main account email.
custom_message: Message to send to added members in their invitation.
quiet: Whether added members should be notified via device notifications
of their invitation.
access_level: AccessLevel union object, describing what access level we
want to give new members.
add_message_as_comment: If the custom message should be added as a comment
on the file.
properties:
members:
type: array
description: >-
Members to add. Note that even an email address is given, this may
result in a user being directy added to the membership if that email
is the user's main account email.
items:
type: object
description: |
Includes different ways to identify a member of a shared folder.
dropbox_id: Dropbox account, team member, or group ID of member.
email: E-mail address of member.
other: None
properties:
.tag:
title: Choice of MemberSelector
type: string
enum:
- dropbox_id
- email
- other
dropbox_id:
type: string
description: Dropbox account, team member, or group ID of member.
email:
type: string
description: E-mail address of member.
quiet:
type: boolean
description: >-
Whether added members should be notified via device notifications of
their invitation.
add_message_as_comment:
type: boolean
description: If the custom message should be added as a comment on the file.
access_level:
type: object
description: >
Defines the access levels for collaborators.
owner: The collaborator is the owner of the shared folder. Owners can
view and edit the shared folder as well as set the folder's policies
using :route:`update_folder_policy`.
editor: The collaborator can both view and edit the shared folder.
viewer: The collaborator can only view the shared folder.
viewer_no_comment: The collaborator can only view the shared folder
and does not have any access to comments.
other: None
properties:
.tag:
title: Choice of AccessLevel
type: string
enum:
- owner
- editor
- viewer
- viewer_no_comment
- other
file:
type: string
description: File to which to add members.
custom_message:
type: string
description: Message to send to added members in their invitation.
title: Data
Output
type: array
items:
type: object
description: >
Per-member result for :route:`add_file_member` or
:route:`change_file_member_access`.
member: One of specified input members.
result: The outcome of the action on this member.
properties:
member:
type: object
description: |
Includes different ways to identify a member of a shared folder.
dropbox_id: Dropbox account, team member, or group ID of member.
email: E-mail address of member.
other: None
properties:
.tag:
title: Choice of MemberSelector
type: string
enum:
- dropbox_id
- email
- other
dropbox_id:
type: string
description: Dropbox account, team member, or group ID of member.
email:
type: string
description: E-mail address of member.
result:
type: object
description: >
success: Member was successfully removed from this file. If AccessLevel
is given, the member still has access via a parent shared folder.
member_error: User was not able to perform this action.
properties:
member_error:
type: object
description: >
invalid_member: Specified member was not found.
no_permission: User does not have permission to perform this action
on this member.
access_error: Specified file was invalid or user does not have
access.
no_explicit_access: The action cannot be completed because the
target member does not have explicit access to the file. The return
value is the access that the member has to the file from a parent
folder.
other: None
properties:
access_error:
type: object
description: >
User could not access this file.
no_permission: Current user does not have sufficient privileges
to perform the desired action.
invalid_file: File specified was not found.
is_folder: A folder can't be shared this way. Use folder sharing
or a shared link instead.
inside_public_folder: A file inside a public folder can't be
shared this way. Use a public link instead.
inside_osx_package: A Mac OS X package can't be shared this way.
Use a shared link instead.
other: None
properties:
.tag:
title: Choice of SharingFileAccessError
type: string
enum:
- no_permission
- invalid_file
- is_folder
- inside_public_folder
- inside_osx_package
- other
.tag:
title: Choice of FileMemberActionError
type: string
enum:
- invalid_member
- no_permission
- access_error
- no_explicit_access
- other
no_explicit_access:
type: object
description: >
Contains information about a member's access level to content
after an operation.
access_level: The member still has this level of access to the
content through a parent folder.
warning: A localized string with additional information about
why the user has this access level to the content.
access_details: The parent folders that a member has access to.
The field is present if the user has access to the first parent
folder where the member gains access.
properties:
access_level:
type: object
description: >
Defines the access levels for collaborators.
owner: The collaborator is the owner of the shared folder.
Owners can view and edit the shared folder as well as set
the folder's policies using :route:`update_folder_policy`.
editor: The collaborator can both view and edit the shared
folder.
viewer: The collaborator can only view the shared folder.
viewer_no_comment: The collaborator can only view the shared
folder and does not have any access to comments.
other: None
properties:
.tag:
title: Choice of AccessLevel
type: string
enum:
- owner
- editor
- viewer
- viewer_no_comment
- other
access_details:
type: array
description: >-
The parent folders that a member has access to. The field is
present if the user has access to the first parent folder
where the member gains access.
items:
type: object
description: >
Contains information about a parent folder that a member
has access to.
folder_name: Display name for the folder.
shared_folder_id: The identifier of the parent shared
folder.
permissions: The user's permissions for the parent shared
folder.
path: The full path to the parent shared folder relative
to the acting user's root.
properties:
path:
type: string
description: >-
The full path to the parent shared folder relative to
the acting user's root.
shared_folder_id:
type: string
description: The identifier of the parent shared folder.
folder_name:
type: string
description: Display name for the folder.
permissions:
type: array
description: The user's permissions for the parent shared folder.
items:
type: object
description: >
Whether the user is allowed to take the action on
the associated member.
action: The action that the user may wish to take on
the member.
allow: True if the user is allowed to take the
action.
reason: The reason why the user is denied the
permission. Not present if the action is allowed.
properties:
action:
type: object
description: >
Actions that may be taken on members of a shared
folder.
leave_a_copy: Allow the member to keep a copy of
the folder when removing.
make_editor: Make the member an editor of the
folder.
make_owner: Make the member an owner of the
folder.
make_viewer: Make the member a viewer of the
folder.
make_viewer_no_comment: Make the member a viewer
of the folder without commenting permissions.
remove: Remove the member from the folder.
other: None
properties:
.tag:
title: Choice of MemberAction
type: string
enum:
- leave_a_copy
- make_editor
- make_owner
- make_viewer
- make_viewer_no_comment
- remove
- other
reason:
type: object
description: >
Possible reasons the user is denied a
permission.
user_not_same_team_as_owner: User is not on the
same team as the folder owner.
user_not_allowed_by_owner: User is prohibited by
the owner from taking the action.
target_is_indirect_member: Target is indirectly
a member of the folder, for example by being
part of a group.
target_is_owner: Target is the owner of the
folder.
target_is_self: Target is the user itself.
target_not_active: Target is not an active
member of the team.
folder_is_limited_team_folder: Folder is team
folder for a limited team.
owner_not_on_team: The content owner needs to be
on a Dropbox team to perform this action.
permission_denied: The user does not have
permission to perform this action on the link.
restricted_by_team: The user's team policy
prevents performing this action on the link.
user_account_type: The user's account type does
not support this action.
user_not_on_team: The user needs to be on a
Dropbox team to perform this action.
folder_is_inside_shared_folder: Folder is inside
of another shared folder.
restricted_by_parent_folder: Policy cannot be
changed due to restrictions from parent folder.
insufficient_plan: None
other: None
properties:
insufficient_plan:
type: object
description: >
message: A message to tell the user to
upgrade in order to support expected action.
upsell_url: A URL to send the user to in
order to obtain the account type they need,
e.g. upgrading. Absent if there is no action
the user can take to upgrade.
properties:
message:
type: string
description: >-
A message to tell the user to upgrade in
order to support expected action.
upsell_url:
type: string
description: >-
A URL to send the user to in order to
obtain the account type they need, e.g.
upgrading. Absent if there is no action
the user can take to upgrade.
.tag:
title: Choice of PermissionDeniedReason
type: string
enum:
- user_not_same_team_as_owner
- user_not_allowed_by_owner
- target_is_indirect_member
- target_is_owner
- target_is_self
- target_not_active
- folder_is_limited_team_folder
- owner_not_on_team
- permission_denied
- restricted_by_team
- user_account_type
- user_not_on_team
- folder_is_inside_shared_folder
- restricted_by_parent_folder
- insufficient_plan
- other
allow:
type: boolean
description: True if the user is allowed to take the action.
warning:
type: string
description: >-
A localized string with additional information about why the
user has this access level to the content.
.tag:
title: Choice of FileMemberActionIndividualResult
type: string
enum:
- success
- member_error
success:
type: object
description: >
Defines the access levels for collaborators.
owner: The collaborator is the owner of the shared folder. Owners
can view and edit the shared folder as well as set the folder's
policies using :route:`update_folder_policy`.
editor: The collaborator can both view and edit the shared folder.
viewer: The collaborator can only view the shared folder.
viewer_no_comment: The collaborator can only view the shared folder
and does not have any access to comments.
other: None
properties:
.tag:
title: Choice of AccessLevel
type: string
enum:
- owner
- editor
- viewer
- viewer_no_comment
- other