dropbox-sdk 0.19.1

Rust bindings to the Dropbox API, generated by Stone from the official spec.
Documentation
namespace team

import common

#
# Structs for devices/list_member_devices
#

struct ListMemberDevicesArg
    team_member_id String
        "The team's member id."
    include_web_sessions Boolean = true
        "Whether to list web sessions of the team's member."
    include_desktop_clients Boolean = true
        "Whether to list linked desktop devices of the team's member."
    include_mobile_clients Boolean = true
        "Whether to list linked mobile devices of the team's member."

    example default
        team_member_id="dbmid:AAFdgehTzw7WlXhZJsbGCLePe8RvQGYDr-I"

struct DeviceSession
    session_id String
        "The session id."

    ip_address String?
        "The IP address of the last activity from this session."

    country String?
        "The country from which the last activity from this session was made."

    created common.DropboxTimestamp?
        "The time this session was created."

    updated common.DropboxTimestamp?
        "The time of the last activity from this session."

# TODO(gal) - for mobile, camera uploads don't count for updated activity (See T25556
# for more context). This needs to be documented somewhere.

struct ActiveWebSession extends DeviceSession
    "Information on active web sessions."

    user_agent String
        "Information on the hosting device."

    os String
        "Information on the hosting operating system."

    browser String
        "Information on the browser used for this web session."

    expires common.DropboxTimestamp?
        "The time this session expires."

    example default
        session_id = "dbwsid:AAFdgehTzw7WlXhZJsbGCLePe8RvQGYDr-I"
        ip_address = "3.3.3.3"
        country = "United States"
        created = "2015-05-12T15:50:38Z"
        updated = "2015-05-12T15:51:22Z"
        user_agent = "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.815.0 Safari/535.1"
        os = "Windows"
        browser = "Chrome"
        expires = "2015-05-13T15:51:22Z"

union DesktopPlatform
    windows
        "Official Windows Dropbox desktop client."
    mac
        "Official Mac Dropbox desktop client."
    linux
        "Official Linux Dropbox desktop client."

struct DesktopClientSession extends DeviceSession
    "Information about linked Dropbox desktop client sessions."

    host_name String
        "Name of the hosting desktop."

    client_type DesktopPlatform
        "The Dropbox desktop client type."

    client_version String
        "The Dropbox client version."

    platform String
        "Information on the hosting platform."

    is_delete_on_unlink_supported Boolean
        "Whether it's possible to delete all of the account files upon unlinking."

    example default
        session_id= "dbdsid:AAFdgehTzw7WlXhZJsbGCLePe8RvQGYDr-I"
        ip_address = "3.3.3.3"
        country = "United States"
        created = "2015-05-12T15:50:38Z"
        updated = "2015-05-12T15:51:22Z"
        host_name = "Home_desktop"
        client_type = mac
        client_version = "3.9.19"
        platform = "Mac OS X 10.10.3"
        is_delete_on_unlink_supported = true

union MobileClientPlatform
    iphone
        "Official Dropbox iPhone client."
    ipad
        "Official Dropbox iPad client."
    android
        "Official Dropbox Android client."
    windows_phone
        "Official Dropbox Windows phone client."
    blackberry
        "Official Dropbox Blackberry client."

struct MobileClientSession extends DeviceSession
    "Information about linked Dropbox mobile client sessions."

    device_name String
        "The device name."

    client_type MobileClientPlatform
        "The mobile application type."

    client_version String?
        "The dropbox client version."

    os_version String?
        "The hosting OS version."

    last_carrier String?
        "last carrier used by the device."

    example default
        session_id = "dbmsid:AAFdgehTzw7WlXhZJsbGCLePe8RvQGYDr-I"
        ip_address = "3.3.3.3"
        country = "United States"
        created = "2015-05-12T15:50:38Z"
        updated = "2015-05-12T15:51:22Z"
        device_name = "Iphone 6"
        client_type = iphone
        client_version = "3.9.5"
        os_version = "8.4"
        last_carrier = "Verizon"

struct ListMemberDevicesResult
    active_web_sessions List(ActiveWebSession)?
        "List of web sessions made by this team member."
    desktop_client_sessions List(DesktopClientSession)?
        "List of desktop clients used by this team member."
    mobile_client_sessions List(MobileClientSession)?
        "List of mobile client used by this team member."

union ListMemberDevicesError
    member_not_found
        "Member not found."

#
# Route: devices/list_member_devices
#

route devices/list_member_devices(ListMemberDevicesArg, ListMemberDevicesResult, ListMemberDevicesError)
    "List all device sessions of a team's member."

    attrs
        auth = "team"
        scope = "sessions.list"

#
# Structs for devices/list_members_devices
#

struct ListMembersDevicesArg
    cursor String?
        "At the first call to the :route:`devices/list_members_devices` the cursor shouldn't be passed.
        Then, if the result of the call includes a cursor, the following requests should include the
        received cursors in order to receive the next sub list of team devices."
    include_web_sessions Boolean = true
        "Whether to list web sessions of the team members."
    include_desktop_clients Boolean = true
        "Whether to list desktop clients of the team members."
    include_mobile_clients Boolean = true
        "Whether to list mobile clients of the team members."

struct MemberDevices
    "Information on devices of a team's member."

    team_member_id String
        "The member unique Id."
    web_sessions List(ActiveWebSession)?
        "List of web sessions made by this team member."
    desktop_clients List(DesktopClientSession)?
        "List of desktop clients by this team member."
    mobile_clients List(MobileClientSession)?
        "List of mobile clients by this team member."

    example default
        team_member_id = "dbmid:AAHhy7WsR0x-u4ZCqiDl5Fz5zvuL3kmspwU"

struct ListMembersDevicesResult
    devices List(MemberDevices)
        "The devices of each member of the team."
    has_more Boolean
        "If true, then there are more devices available. Pass the
        cursor to :route:`devices/list_members_devices` to retrieve the rest."
    cursor String?
        "Pass the cursor into :route:`devices/list_members_devices` to receive the next
        sub list of team's devices."

union ListMembersDevicesError
    reset
        "Indicates that the cursor has been invalidated. Call
        :route:`devices/list_members_devices` again with an empty cursor to obtain a new cursor."

#
# Route: devices/list_members_devices
#
route devices/list_members_devices(ListMembersDevicesArg, ListMembersDevicesResult, ListMembersDevicesError)
    "List all device sessions of a team.

    Permission : Team member file access."

    attrs
        auth = "team"
        scope = "sessions.list"

#
# Structs for devices/revoke_device_session
#

struct DeviceSessionArg
    session_id String
        "The session id."
    team_member_id String
        "The unique id of the member owning the device."

    example default
        session_id = "1234faaf0678bcde"
        team_member_id = "dbmid:AAHhy7WsR0x-u4ZCqiDl5Fz5zvuL3kmspwU"

struct RevokeDesktopClientArg extends DeviceSessionArg
    delete_on_unlink Boolean = false
        "Whether to delete all files of the account (this is possible only if supported by
        the desktop client and  will be made the next time the client access the account)."

    example default
        session_id = "1234faaf0678bcde"
        team_member_id = "dbmid:AAHhy7WsR0x-u4ZCqiDl5Fz5zvuL3kmspwU"

union_closed RevokeDeviceSessionArg
    web_session DeviceSessionArg
        "End an active session."
    desktop_client RevokeDesktopClientArg
        "Unlink a linked desktop device."
    mobile_client DeviceSessionArg
        "Unlink a linked mobile device."

    example default
        web_session = default

union RevokeDeviceSessionError
    device_session_not_found
        "Device session not found."
    member_not_found
        "Member not found."

#
# Route: devices/revoke_device_session
#

route devices/revoke_device_session(RevokeDeviceSessionArg, Void, RevokeDeviceSessionError)
    "Revoke a device session of a team's member."

    attrs
        auth = "team"
        scope = "sessions.modify"

#
# structs for devices/revoke_device_session_batch
#

struct RevokeDeviceSessionBatchArg
    revoke_devices List(RevokeDeviceSessionArg)

    example default
        revoke_devices = [default]

struct RevokeDeviceSessionStatus

    success Boolean
        "Result of the revoking request."
    error_type RevokeDeviceSessionError?
        "The error cause in case of a failure."

struct RevokeDeviceSessionBatchResult
    revoke_devices_status List(RevokeDeviceSessionStatus)

union RevokeDeviceSessionBatchError
    ""

#
# Route: devices/revoke_device_session_batch
#

route devices/revoke_device_session_batch(RevokeDeviceSessionBatchArg, RevokeDeviceSessionBatchResult, RevokeDeviceSessionBatchError)
    "Revoke a list of device sessions of team members."

    attrs
        auth = "team"
        scope = "sessions.modify"


#
# Deprecated endpoints
#

struct ListTeamDevicesArg
    cursor String?
        "At the first call to the :route:`devices/list_team_devices` the cursor shouldn't be passed.
        Then, if the result of the call includes a cursor, the following requests should include the
        received cursors in order to receive the next sub list of team devices."
    include_web_sessions Boolean = true
        "Whether to list web sessions of the team members."
    include_desktop_clients Boolean = true
        "Whether to list desktop clients of the team members."
    include_mobile_clients Boolean = true
        "Whether to list mobile clients of the team members."

    example default
        cursor = "ZtkX9_EHj3x7PMkVuFIhwKYXEpwpLwyxp9vMKomUhllil9q7eWiAu"

struct ListTeamDevicesResult
    devices List(MemberDevices)
        "The devices of each member of the team."
    has_more Boolean
        "If true, then there are more devices available. Pass the
        cursor to :route:`devices/list_team_devices` to retrieve the rest."
    cursor String?
        "Pass the cursor into :route:`devices/list_team_devices` to receive the next
        sub list of team's devices."

    example default
        devices = [default]
        has_more = false

union ListTeamDevicesError
    reset
        "Indicates that the cursor has been invalidated. Call
        :route:`devices/list_team_devices` again with an empty cursor to obtain a new cursor."

route devices/list_team_devices(ListTeamDevicesArg, ListTeamDevicesResult, ListTeamDevicesError) deprecated by devices/list_members_devices
    "List all device sessions of a team.

    Permission : Team member file access."

    attrs
        auth = "team"
        scope = "sessions.list"