namespace team import common import team_common import team_policies import users_common # Note that in the database, we also have members that are in state "deleted" # meaning that the User has been permanently removed from the team. # But the API is not going to expose such users externally. We will omit such users # in API responses. # union_closed TeamMemberStatus "The user's status as a member of a specific team." active "User has successfully joined the team." invited "User has been invited to a team, but has not joined the team yet." suspended "User is no longer a member of the team, but the account can be un-suspended, re-establishing the user as a team member." removed RemovedStatus "User is no longer a member of the team. Removed users are only listed when include_removed is true in members/list." struct RemovedStatus is_recoverable Boolean "True if the removed team member is recoverable." example default is_recoverable = false union_closed TeamMembershipType full "User uses a license and has full access to team resources like the shared quota." limited "User does not have access to the shared quota and team admins have restricted administrative control." struct MemberProfile "Basic member profile." team_member_id team_common.TeamMemberId "ID of user as a member of a team." external_id String? "External ID that a team can attach to the user. An application using the API may find it easier to use their own IDs instead of Dropbox IDs like account_id or team_member_id." account_id users_common.AccountId? "A user's account identifier." email String "Email address of user." email_verified Boolean "Is true if the user's email is verified to be owned by the user." status TeamMemberStatus "The user's status as a member of a specific team." name users.Name "Representations for a person's name." membership_type TeamMembershipType "The user's membership type: full (normal team member) vs limited (does not use a license; no access to the team's shared quota)." joined_on common.DropboxTimestamp? "The date and time the user joined as a member of a specific team." persistent_id String? "Persistent ID that a team can attach to the user. The persistent ID is unique ID to be used for SAML authentication." example default team_member_id = "dbmid:1234567" account_id = "dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc" email = "mary@lamb.com" email_verified = true status = active name = default membership_type = full joined_on = "2015-05-12T15:50:38Z" union_closed UserSelectorArg "Argument for selecting a single user, either by team_member_id, external_id or email." team_member_id team_common.TeamMemberId external_id team_common.MemberExternalId email common.EmailAddress example default team_member_id = "dbmid:efgh5678" example email email = "dan@hotmail.com" union_closed UserSelectorError "Error that can be returned whenever a struct derived from :type:`UserSelectorArg` is used." user_not_found "No matching user found. The provided team_member_id, email, or external_id does not exist on this team." union_closed UsersSelectorArg "Argument for selecting a list of users, either by team_member_ids, external_ids or emails." team_member_ids List(team_common.TeamMemberId) "List of member IDs." external_ids List(team_common.MemberExternalId) "List of external user IDs." emails List(common.EmailAddress) "List of email addresses." # # Handle DfB routes that do not have a better place to be. # # # Route get_info # struct TeamGetInfoResult name String "The name of the team." team_id String "The ID of the team." num_licensed_users UInt32 "The number of licenses available to the team." num_provisioned_users UInt32 "The number of accounts that have been invited or are already active members of the team." policies team_policies.TeamMemberPolicies example default name="Dropbox Inc." team_id="dbtid:1234abcd" num_licensed_users=5 num_provisioned_users=2 policies=default route get_info(Void, TeamGetInfoResult, Void) "Retrieves information about a team." attrs auth = "team" owner = "adminx" # # Structs for token/get_authenticated_admin # struct TokenGetAuthenticatedAdminResult "Results for :route:`token/get_authenticated_admin`." admin_profile TeamMemberProfile "The admin who authorized the token." example default admin_profile = default union TokenGetAuthenticatedAdminError "Error returned by :route:`token/get_authenticated_admin`." mapping_not_found "The current token is not associated with a team admin, because mappings were not recorded when the token was created. Consider re-authorizing a new access token to record its authenticating admin." admin_not_active "Either the team admin that authorized this token is no longer an active member of the team or no longer a team admin." # # Route: token/get_authenticated_admin # route token/get_authenticated_admin(Void, TokenGetAuthenticatedAdminResult, TokenGetAuthenticatedAdminError) "Returns the member profile of the admin who generated the team access token used to make the call." attrs auth = "team" owner = "dev-plat" # # Common types # union Feature "A set of features that Dropbox for Business account support." upload_api_rate_limit "The number of upload API calls allowed per month." union FeatureValue "The values correspond to entries in :type:`Feature`. You may get different value according to your Dropbox for Business plan." upload_api_rate_limit UploadApiRateLimitValue example uploadRateLimited upload_api_rate_limit = limited union UploadApiRateLimitValue "The value for :field:`Feature.upload_api_rate_limit`." unlimited "This team has unlimited upload API quota. So far both server version account and legacy account type have unlimited monthly upload api quota." limit UInt32 "The number of upload API calls allowed per month." example limited limit = 25000 # # Route: feature/get_value_batch # struct FeaturesGetValuesBatchArg features List(Feature) "A list of features in :type:`Feature`. If the list is empty, this route will return :type:`FeaturesGetValuesBatchError`." example uploadRateLimit features = [upload_api_rate_limit] struct FeaturesGetValuesBatchResult values List(FeatureValue) example uploadRateLimit values = [uploadRateLimited] union FeaturesGetValuesBatchError empty_features_list "At least one :type:`Feature` must be included in the :type:`FeaturesGetValuesBatchArg`.features list." route features/get_values(FeaturesGetValuesBatchArg, FeaturesGetValuesBatchResult, FeaturesGetValuesBatchError) "Get the values for one or more featues. This route allows you to check your account's capability for what feature you can access or what value you have for certain features. Permission : Team information." attrs auth = "team" owner = "dev-plat"